Re: PKGBASE Upgrade 15.0-RELEASE to 15.1-BETA2

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.hackers,gmane.os.freebsd.stable
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.