Call for testing: pkgbase support in 15.0

IMHO pkgbase should have these warnings off. This is my `pkg update` today from ALPHA-4:

Code:
Newer FreeBSD version for package FreeBSD-zoneinfo:
To ignore this error set IGNORE_OSVERSION=yes
- package: 1500066
- running userland: 1500064
Ignore the mismatch and continue? [y/N]:
 
IMHO pkgbase should have these warnings off. This is my `pkg update` today from ALPHA-4:

Code:
Newer FreeBSD version for package FreeBSD-zoneinfo:
To ignore this error set IGNORE_OSVERSION=yes
- package: 1500066
- running userland: 1500064
Ignore the mismatch and continue? [y/N]:
updating across a __FreeBSD_version change is a major upgrade, and the user should be informed about this. for example, it will break all installed third-party kernel modules such as the drm-kmod port. so, i think we should continue to warn users about this.

this can only happen during a major upgrade (e.g., 15.0 to 15.1) or when tracking -CURRENT or -STABLE branches. it won't happen with an update like 15.0 to 15.0p1, since bumping __FreeBSD_version is forbidden there except in very unusual circumstances.
 
I seem to need /usr/share/keys/pkg in the root directory:
i have recently committed some fixes to bsdinstall(8) that make it more useful in the jail case. could you update to latest 15-STABLE (pkg upgrade should be sufficient) and try either of these commands and see if they work for your use-case?

full jail install with prompts for root password, services, etc.:
Code:
# bsdinstall jail /jails/myjail

just do the pkgbase bits, and nothing else:
Code:
# BSDINSTALL_CHROOT=/jails/myjail bsdinstall pkgbase

this currently doesn't work for non-interactive installations, but i intend to fix that. while i still think the original issue you reported is a bug, i'd like to push for either bsdinstall jail or bsdinstall pkgbase being the recommended method to do this, so i'm interested to know whether it works for you.
 
this can only happen during a major upgrade (e.g., 15.0 to 15.1) [...]
I'm not very experienced in pkgbase affairs but, 15.0 to 15.1 is usually labelled as a minor (version) upgrade. This seems not what is intended, or are things different wrt to the base and using pkgbase (as opposed to packages from the ports tree)?

With the introduction of the FreeBSD-kmods repository, a breakage of the limited number of packages containing kernel modules, often occurs when doing a minor (release) version upgrade, as this repository is specifically intended to match those 'kernel' packages to a specific running kernel.
 
I'm not very experienced in pkgbase affairs but, 15.0 to 15.1 is usually labelled as a minor (version) upgrade.
you may replace the text "this can only happen during a major upgrade (e.g., 15.0 to 15.1)" in my post with "this can only happen during an upgrade where a __FreeBSD_version bump is permitted (e.g., 15.0 to 15.1)", if that is more clear.
 
you may replace the text "this can only happen during a major upgrade (e.g., 15.0 to 15.1)" in my post with "this can only happen during an upgrade where a __FreeBSD_version bump is permitted (e.g., 15.0 to 15.1)", if that is more clear.
Things become far more clearer.:)
But unfortunately, regardless __FreeBSD_version (appears as OSVERSION in ports) is bumped or not, any changes to LinuxKPI can break kernel modules depending upon it.
 
regardless __FreeBSD_version (appears as OSVERSION in ports) is bumped or not, any changes to LinuxKPI can break kernel modules depending upon it.
do you have an example of this actually happening? it should not be possible for an ABI-incompatible change to LinuxKPI to land without a __FreeBSD_version bump. this is the entire point of __FreeBSD_version.
 
do you have an example of this actually happening? it should not be possible for an ABI-incompatible change to LinuxKPI to land without a __FreeBSD_version bump. this is the entire point of __FreeBSD_version.
I've not recorded the actual commit, but possibly when the bump was somehow delayed (possibly pulled src at intermediate commit within a series of breaking commits).
 
So, to install a jail, I could fetch the archives, the simply copy them into the jail root.

This means that every jails started from the same base (at the time I fetched the archives)

With pkg-base, if I create a jail today, and another with the same release in a month, will anything change? Will the packages be different?

Or will they stay the same for every .1/.1-p1 etc…
 
With pkg-base, if I create a jail today, and another with the same release in a month, will anything change? Will the packages be different?

Or will they stay the same for every .1/.1-p1 etc…
for release branches, beginning with 15.0-RELEASE, the freebsd.org pkgbase repository will receive updates for EN/SAs the same way freebsd-update would. that means if you install a jail from the freebsd.org repository when 15.0-RELEASE is current, then 15.0p1 is released, installing a new jail from the freebsd.org repository will give you 15.0p1. this is hypothetical for now, since 15.0-RELEASE does not exist yet and neither does the freebsd.org package repository it will use, but the 14.x release repositories currently available on pkg.freebsd.org work the same way.

if you don't want security fixes in your jail, you have two options: build pkgbase yourself from source using the appropriate tag, or use the "pkgbase.tar" file provided as part of the release to install the jail. this will include the repository as it was on the day of -RELEASE, with no later fixes included.

if you're testing with 15.0, note that the ALPHA releases are just snapshots of 15-STABLE, so these receive daily updates for everything committed to the stable/15 branch. once BETA1 is out, this will switch to a releng branch and will work more like the final release will.
 
for release branches, beginning with 15.0-RELEASE, the freebsd.org pkgbase repository will receive updates for EN/SAs the same way freebsd-update would. that means if you install a jail from the freebsd.org repository when 15.0-RELEASE is current, then 15.0p1 is released, installing a new jail from the freebsd.org repository will give you 15.0p1. this is hypothetical for now, since 15.0-RELEASE does not exist yet and neither does the freebsd.org package repository it will use, but the 14.x release repositories currently available on pkg.freebsd.org work the same way.

if you don't want security fixes in your jail, you have two options: build pkgbase yourself from source using the appropriate tag, or use the "pkgbase.tar" file provided as part of the release to install the jail. this will include the repository as it was on the day of -RELEASE, with no later fixes included.

if you're testing with 15.0, note that the ALPHA releases are just snapshots of 15-STABLE, so these receive daily updates for everything committed to the stable/15 branch. once BETA1 is out, this will switch to a releng branch and will work more like the final release will.
I thought that with pkgbase it was possible to follow -STABLE.
 
yes, it is. the person i was replying to was asking specifically about -RELEASE versions, so i did not mention -STABLE in my answer.
You did mention STABLE:

if you're testing with 15.0, note that the ALPHA releases are just snapshots of 15-STABLE, so these receive daily updates for everything committed to the stable/15 branch. once BETA1 is out, this will switch to a releng branch and will work more like the final release will.

So once BETA1 is out, how can we make sure it follows the stable branch?
 
i have recently committed some fixes to bsdinstall(8) that make it more useful in the jail case. could you update to latest 15-STABLE (pkg upgrade should be sufficient) and try either of these commands and see if they work for your use-case?

full jail install with prompts for root password, services, etc.:
Code:
# bsdinstall jail /jails/myjail

just do the pkgbase bits, and nothing else:
Code:
# BSDINSTALL_CHROOT=/jails/myjail bsdinstall pkgbase

this currently doesn't work for non-interactive installations, but i intend to fix that. while i still think the original issue you reported is a bug, i'd like to push for either bsdinstall jail or bsdinstall pkgbase being the recommended method to do this, so i'm interested to know whether it works for you.
Both of these methods work 👍

Have you passed the pkg -r $rootdir issue along or should I submit a bug report?

I also suppose that even if pkg -r /jails/myjail install -r FreeBSD-base would work, it would have to provide /usr/share/keys/pkg for further pkg -j myjail commands.
 
Back
Top