On 5/10/26 14:53, vermaden wrote:
>> It's possible to do this without modifying the config files
>> using `-o ABI=...  -o OSVERSION=1501000 ...`
>> People should also update ports (to get latest pkg),
>> also kmods if required.
> 
> Agreed.
> 
> Thank You for suggestions.
> 
> I added UPDATE 1 with information how to do upgrade w/o modifying the config 
> files:
> 
> - 
> https://vermaden.wordpress.com/2026/05/10/freebsd-pkgbase-minor-upgrades#UPDATE1
> 
> I also added additional info about updating boot code - both 'BIOS' and 
> 'UEFI'.
> 
> One thing that bothers me ...
> 
> This:
> 
> host # pkg -o ABI=FreeBSD:15:$(uname -m) \

uname -m is wrong here for general use: in an aarch64 context "aarch64"
needs to be the result. But:

# uname -m
arm64

# uname -p
aarch64

A similar point goes for armv7:

# uname -m
arm

# uname -p
armv7

powerpc* has similar naming distinctions.

amd64 happens to have the same text for both.
Simialrly, i386 has the same output for both.

>            -o OSVERSION=1501000 \
>            --chroot=/tmp/NEW \
>            upgrade
> 
>  ... as I specify '-o OSVERSION=1501000' option for pkg(8) ... why '-o 
> ABI=FreeBSD:15:$(uname -m)' is also needed to make it work? The '15' part or 
> '${ARCH}' part does not change ...
> 
> I mean - I know this is a pkg(8) design decision - just do not see logic in 
> it.

The:

</usr/local/poudriere/jails/release15p1-aarch64/etc/pkg/FreeBSD.conf>

in my context, that was automatically supplied, includes the text
(warning: extra line wrapping):

FreeBSD-base: {
  url: "pkg+https://pkg.FreeBSD.org/${ABI}/base_release_${VERSION_MINOR}";,
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkgbase-${VERSION_MAJOR}",
  enabled: no
}

Similarly for the 15.0-RELEASE-p* poudriere-devel jail.

Note the notation: ${VERSION_MINOR} . For it:

OSVERSION=1501000 leads to ${VERSION_MINOR} == "1"
OSVERSION=1500000 leads to ${VERSION_MINOR} == "0"

${ABI} does not supply that information and pkg guessing/defaulting to
1500000 when OSVERSION is unspecified would be wrong for an upgrade to
15.1 . Such needs ${VERSION_MINOR} == "1" .

A point here is that with OSVERSION correctly specified, the url text
for FreeBSD-base does not need to be edited or overridden in another
file to do the upgrade. (More later below.)

After booting the upgraded install, OSVERSION=1501000 becomes the
default, no longer accessing base_release_0 .

(I'm not aware of any use of the last 3 digits of OSVERSION for this
context: ignored as far as I know.)

Another point is that pkg 2.7.5 has the likes of:

# pkg upgrade -rFreeBSD-base
and
# pkg install -rFreeBSD-base  . . .

working, overriding the "enabled: no" from the command line and
disabling the ones not listed on the command line, again no edit or
alternate file needed for overriding such.

> 
> Regards,
> vermaden
> 
> 


-- 
===
Mark Millard
marklmi at yahoo.com

Reply via email to