Re: PKGBASE upgrade from ALPHAxx to BETAxx

From: Mark Millard <marklmi_at_yahoo.com>
Date: Sat, 18 Oct 2025 15:57:42 UTC
On Oct 18, 2025, at 04:41, Erichans <erichanskrs@gmail.com> wrote:

> Thank you. You're running a normal pkg version, which is good to know—it could
> have been a development version, considering you're on FreeBSD 16.
> I wasn't sure whether posting results from running -CURRENT on the
> stable mailing list was intentional.

At this point main 16 with kernel.GENERIC-NODEBUG and stable/15 are
not all that distinct.

> I’m aware there are substantial differences between your environment
> and mine—one being that you're running pkg on the armv7 architecture.

I also have access to amd64 and aarch64 contexts. The armv7 context
in question is the only one not based on using an official-pkgbase'd
install/upgrade-sequence: an *-arm-armv7-GENERICSD-*.img.xz instead,
not converted to pkgbase (yet?).

My other report that was for a pkgbase context was not for on the
armv7.

> I'm not intimately familiar with all the differences between a packaged base
> and a conventional base.
> 
> Regarding 15.0-BETA1 and the oddity you mentioned, I’ve encountered similar
> issues—see PR 289216 and PR 289455—all on release versions.

So that is at least 3 folks that have reported
examples. (Graham Perrin made a confirmation reply
to one of my messages.)

These seem likely to be problems with the upstream
pkg instead of with FreeBSD pkg configuration files
used with the pkg port-package. That means that the
versions of pkg are more likely important than the
versions of FreeBSD.

So it looks like the information needs to go in:

https://github.com/freebsd/pkg/issues

So far as I know, your bugzilla submittals are the
earliest reports with the earliest versions of
pkg noted. References to such should be part of
the notes in https://github.com/freebsd/pkg/issues .

[Supplying full URLs to what you reference:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289216
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289455
]

Looks like you report that the type of issue goes back to
at least pkg 2.2.1 --and continues in pkg 2.3.1 for you,
not just for me and Graham.

> Things don’t seem
> to have changed. For example, on my 15.0-BETA1 a disabled FreeBSD-ports-kmods
> repository is unexpectedly not printed by pkg repositories or similar
> pkg -vv command,
> which seems in line with your findings:
> 
> [0-0] % date -u; uname -apKU; pkg -v
> Sat Oct 18 11:40:49 UTC 2025
> FreeBSD q210 15.0-BETA1 FreeBSD 15.0-BETA1
> releng/15.0-n280674-f6751f1fc5a9 GENERIC amd64 amd64 1500067 1500067
> 2.3.1
> [1-0] % grep -h '^[^#].*' /usr/local/etc/pkg/repos/*conf
> FreeBSD-ports: {
>    url:            "pkg+https://pkg.FreeBSD.org/${ABI}/latest",
>    enabled:        yes,
>    priority:       0,
>    mirror_type:    "SRV",
>    signature_type: "FINGERPRINTS",
>    fingerprints:   "/usr/share/keys/pkg"
> }
> FreeBSD-ports-kmods: {
>    url:
> "pkg+https://pkg.FreeBSD.org/${ABI}/kmods_latest_${VERSION_MINOR}",
>    enabled:        no,
>    priority:       0,
>    mirror_type:    "SRV",
>    signature_type: "FINGERPRINTS",
>    fingerprints:   "/usr/share/keys/pkg"
> }
> FreeBSD-base: {
>  url: "pkg+https://pkg.FreeBSD.org/${ABI}/base_release_${VERSION_MINOR}",
>  mirror_type: "srv",
>  signature_type: "fingerprints",
>  fingerprints: "/usr/share/keys/pkg",
>  enabled: yes
> }
> [2-0] % pkg -vv | sed -nE -e '/OSVERSION|ABI/ p' -e '/^Repositories:/,$ p'
> IGNORE_OSVERSION = true;
> ABI = "FreeBSD:15:amd64";
> ALTABI = "freebsd:15:x86:64";
> OSVERSION = "1500067";
> Repositories:
>  FreeBSD-ports: {
>    url             : "pkg+https://pkg.FreeBSD.org/FreeBSD:15:amd64/latest",
>    enabled         : yes,
>    priority        : 0,
>    mirror_type     : "SRV",
>    signature_type  : "FINGERPRINTS",
>    fingerprints    : "/usr/share/keys/pkg"
>  }
>  FreeBSD-base: {
>    url             :
> "pkg+https://pkg.FreeBSD.org/FreeBSD:15:amd64/base_release_0",
>    enabled         : yes,
>    priority        : 0,
>    mirror_type     : "SRV",
>    signature_type  : "FINGERPRINTS",
>    fingerprints    : "/usr/share/keys/pkg"
>  }
> [3-0] % pkg repositories -d -e
> FreeBSD-ports: {
>    url             : "pkg+https://pkg.FreeBSD.org/FreeBSD:15:amd64/latest",
>    enabled         : yes,
>    priority        : 0,
>    mirror_type     : "SRV",
>    signature_type  : "FINGERPRINTS",
>    fingerprints    : "/usr/share/keys/pkg"
>  }
> FreeBSD-base: {
>    url             :
> "pkg+https://pkg.FreeBSD.org/FreeBSD:15:amd64/base_release_0",
>    enabled         : yes,
>    priority        : 0,
>    mirror_type     : "SRV",
>    signature_type  : "FINGERPRINTS",
>    fingerprints    : "/usr/share/keys/pkg"
>  }
> [4-0] %
> 
> 
> Eric
> 
> On Fri, Oct 17, 2025 at 3:17 PM Mark Millard <marklmi@yahoo.com> wrote:
>> 
>> On Oct 17, 2025, at 03:24, Erichans <erichanskrs@gmail.com> wrote:
>> 
>>> I cannot reproduce your behaviour on my BETA1.
>>> What pkg are you running?
>> 
>> # pkg -v
>> 2.3.1
>> 
>>> As a comparison, on 15-BETA1 (amd64, pkgbasified),
>> 
>> Reminder: this report was for a non-pkgbasified context doing
>> operations that do not install/upgrade or the like, just
>> rquery, search, and version.
>> 
>> (I sent a separate notice to the lists for another oddity
>> for a pkgbase'd context and that got an independent
>> confirmation. Turns out that oddity also happened here.
>> More later below.)
>> 
>>> all seems as
>>> expected; see below.
>> 
>> In a different type of context than I tested and reported
>> on.
>> 
>>> Eric
>>> 
>>> [0-0] # date -u; uname -apKU; pkg -v
>>> Fri Oct 17 09:45:53 UTC 2025
>>> FreeBSD q210 15.0-BETA1 FreeBSD 15.0-BETA1
>>> releng/15.0-n280655-36a923a476dc GENERIC amd64 amd64 1500067 1500067
>>> 2.3.1
>>> [1-0] # pkg repos -e -d
>>> FreeBSD-ports: {
>>> url : "pkg+https://pkg.FreeBSD.org/FreeBSD:15:amd64/latest",
>>> enabled : yes,
>>> priority : 0,
>>> mirror_type : "SRV",
>>> signature_type : "FINGERPRINTS",
>>> fingerprints : "/usr/share/keys/pkg"
>>> }
>> 
>> My context has a locally built ports repository
>> enabled (main-armv7-default), not FreeBSD-ports.
>> But FreeBSD-ports is explicitly disabled.
>> 
>> I do have packages from main-armv7-default installed,
>> including pkg itself:
>> 
>> # pkg info pkg
>> pkg: Warning: Major OS version upgrade detected.  Running "pkg bootstrap -f" recommended
>> pkg-2.3.1
>> Name           : pkg
>> Version        : 2.3.1
>> Installed on   : Wed Oct 15 21:24:37 2025 PDT
>> Origin         : ports-mgmt/pkg
>> Architecture   : FreeBSD:16:armv7
>> Prefix         : /usr/local
>> Categories     : ports-mgmt
>> Licenses       : BSD2CLAUSE
>> Maintainer     : pkg@FreeBSD.org
>> WWW            : https://github.com/freebsd/pkg
>> Comment        : Package manager
>> Options        :
>>        DOCS           : on
>> Shared Libs required:
>>        libarchive.so.7
>>        libc.so.7
>>        libcrypto.so.35
>>        libelf.so.2
>>        libgcc_s.so.1
>>        libjail.so.1
>>        libm.so.5
>>        libssl.so.35
>>        libthr.so.3
>>        libutil.so.10
>>        libz.so.6
>> Shared Libs provided:
>>        libpkg.so.4
>> Annotations    :
>>        FreeBSD_version: 1600000
>>        build_timestamp: 2025-09-14T00:45:39+00:00
>>        built_by       : poudriere-git-3.4.99.20250724
>>        port_checkout_unclean: no
>>        port_git_hash  : e8009782a2b6
>>        ports_top_checkout_unclean: yes
>>        ports_top_git_hash: 7e86a0d71167
>>        repo_type      : binary
>>        repository     : main-armv7-default
>> Flat size      : 45.2MiB
>> Description    :
>> Package management tool
>> 
>>> FreeBSD-ports-kmods: {
>>> url : "pkg+https://pkg.FreeBSD.org/FreeBSD:15:amd64/kmods_latest_0",
>>> enabled : yes,
>>> priority : 0,
>>> mirror_type : "SRV",
>>> signature_type : "FINGERPRINTS",
>>> fingerprints : "/usr/share/keys/pkg"
>>> }
>> 
>> My context has has nothing analogous to
>> FreeBSD-ports-kmods enabled but instead
>> explicitly disables it (and FreeBSD-ports):
>> 
>> # cat /etc/pkg/FreeBSD.conf
>> #
>> # To disable a repository, instead of modifying or removing this file,
>> # create a /usr/local/etc/pkg/repos/FreeBSD.conf file, e.g.:
>> #
>> #   mkdir -p /usr/local/etc/pkg/repos
>> #   echo "FreeBSD-ports: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf
>> #   echo "FreeBSD-ports-kmods: { enabled: no }" >> /usr/local/etc/pkg/repos/FreeBSD.conf
>> #
>> 
>> FreeBSD-base: {
>>  url: "pkg+http://pkg.FreeBSD.org/${ABI}/base_latest",
>>  mirror_type: "srv",
>>  signature_type: "fingerprints",
>>  fingerprints: "/usr/share/keys/pkg",
>>  enabled: no
>> }
>> 
>> FreeBSD-ports: {
>>  url: "pkg+https://pkg.FreeBSD.org/${ABI}/latest",
>>  mirror_type: "srv",
>>  signature_type: "fingerprints",
>>  fingerprints: "/usr/share/keys/pkg",
>>  enabled: yes
>> }
>> FreeBSD-ports-kmods: {
>>  url: "pkg+https://pkg.FreeBSD.org/${ABI}/kmods_latest",
>>  mirror_type: "srv",
>>  signature_type: "fingerprints",
>>  fingerprints: "/usr/share/keys/pkg",
>>  enabled: yes
>> }
>> 
>> # cat /usr/local/etc/pkg/repos/FreeBSD.conf
>> #
>> # To disable a repository, instead of modifying or removing this file,
>> # create a /usr/local/etc/pkg/repos/FreeBSD.conf file, e.g.:
>> #
>> #   mkdir -p /usr/local/etc/pkg/repos
>> #   echo "FreeBSD-ports: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf
>> #   echo "FreeBSD-ports-kmods: { enabled: no }" >> /usr/local/etc/pkg/repos/FreeBSD.conf
>> #
>> 
>> #FreeBSD-base: { enabled: yes }
>> FreeBSD-ports: { enabled: no }
>> FreeBSD-ports-kmods: { enabled: no }
>> 
>> 
>> Noteably, "pkg repos" does not list the
>> FreeBSD-ports-kmods at all (as either -d or -e).
>> I preprduced this in a pkgbase context and is
>> what I reported separately for that context.
>> 
>> 
>> # cat /usr/local/etc/pkg/repos/main-armv7-default.conf
>> main-armv7-default: {
>>  url: "file:///usr/local/poudriere/data/packages/main-armv7-default",
>>  mirror_type: "none",
>>  enabled: yes
>> }
>> 
>>> FreeBSD-base: {
>>> url : "pkg+https://pkg.FreeBSD.org/FreeBSD:15:amd64/base_release_0",
>>> enabled : no,
>>> priority : 0,
>>> mirror_type : "SRV",
>>> signature_type : "FINGERPRINTS",
>>> fingerprints : "/usr/share/keys/pkg"
>>> }
>> 
>> This one is analogous to what I reported, but I have
>> base_latest instead of base_release_0 .
>> 
>>> [2-0] # pkg rquery -r FreeBSD-base '%R %o %n %v' FreeBSD-src
>>> FreeBSD-base base/FreeBSD-src FreeBSD-src 15.0.b1.20251016034928
>>> [3-0] # pkg update -r FreeBSD-base
>>> Updating FreeBSD-base repository catalogue...
>>> FreeBSD-base is up to date.
>>> [4-0] # pkg rquery -r FreeBSD-base '%R %o %n %v' FreeBSD-src
>>> FreeBSD-base base/FreeBSD-src FreeBSD-src 15.0.b1.20251016034928
>>> [5-0] # pkg search -r FreeBSD-base FreeBSD-src
>>> FreeBSD-src-15.0.b1.20251016034928 System userland source code
>>> FreeBSD-src-sys-15.0.b1.20251015211959 System kernel source code
>>> [6-0] # pkg version -r FreeBSD-base -n FreeBSD-src
>>> Updating FreeBSD-base repository catalogue...
>>> FreeBSD-base is up to date.
>>> FreeBSD-src-15.0.b1.20251016034928 =
>>> [7-0] #
>>> 
>>> ----- Original Message -----
>>> From: "Mark Millard" <marklmi@yahoo.com>
>>> To: "Colin Percival" <cperciva@tarsnap.com>
>>> Cc: "Patrick M. Hausen" <hausen@punkt.de>, "FreeBSD-STABLE Mailing
>>> List" <freebsd-stable@freebsd.org>
>>> Sent: Thursday, 16 October, 2025 23:16:53
>>> Subject: Re: PKGBASE upgrade from ALPHAxx to BETAxx
>>> 
>>> On Oct 16, 2025, at 11:55, Mark Millard <marklmi@yahoo.com> wrote:
>>> 
>>>> On Oct 16, 2025, at 11:04, Colin Percival <cperciva@tarsnap.com> wrote:
>>>> 
>>>>> On 10/16/25 10:49, Patrick M. Hausen wrote:
>>>>>>> Am 16.10.2025 um 19:44 schrieb Mark Millard <marklmi@yahoo.com>:
>>>>>>> To my knowledge, /etc/pkg/ only has files that are expected to
>>>>>>> apply to all systems, no matter how installed/updated. Also,
>>>>>>> the files in /etc/pkg/ are expected to not be edited. The
>>>>>>> overriding text goes in files in /usr/local/etc/pkg/respos/
>>>>>>> instead. (Technically such are conventions, not requirements,
>>>>>>> but they fit with FreeBSD update processes in a particular way.)
>>>>>> I follow that argument.
>>>>>> But isn't pkgbase supposed to be the new normal starting with 15.0?
>>>>>> Sorry for the noise if I confused that. Then it will land in /etc/pkg/FreeBSD.conf in 16?
>>>>> 
>>>>> I'm planning on putting a "FreeBSD-base" repository configuration into
>>>>> /etc/pkg/FreeBSD.conf in 15.
>>>>> . . .
>>>>> It will be disabled by default, in order
>>>>> to avoid "pkg delete -af" problems, but "pkg upgrade -r FreeBSD-base"
>>>>> should work out of the box.
>>>> 
>>>> Had I known such, various of my testing activities would
>>>> have been different.
>>>> 
>>>> Looks like commands that handle the explicit reference to
>>>> a disabled repository are documented as including:
>>>> 
>>>> /usr/local/share/man/man8/pkg-install.8.gz: Install packages from only the named repository, irrespective
>>>> /usr/local/share/man/man8/pkg-rquery.8.gz: irrespective of the configured “enabled” status from repo.conf.
>>>> /usr/local/share/man/man8/pkg-search.8.gz: irrespective of the configured “enabled” status from
>>>> /usr/local/share/man/man8/pkg-update.8.gz: update only the named repository, irrespective of the configured
>>>> /usr/local/share/man/man8/pkg-upgrade.8.gz: Install packages from only the named repository, irrespective
>>>> /usr/local/share/man/man8/pkg-version.8.gz: the named repository only, irrespective of the configured
>>>> 
>>>> Later I'll do some exploration of that.
>>>> 
>>>> I'll note that "man pkg-fetch" does not say that it does such:
>>>> 
>>>> -r reponame, --repository reponame
>>>> Fetches packages from the given reponame if multiple repo
>>>> support is enabled. See pkg.conf(5).
>>>> 
>>>>> The reasons this hasn't happened yet have to do with release engineering
>>>>> processes and setting up the systems for building updates securely.
>>> 
>>> rquery, search, and version to not manipulate the
>>> sets of base or port packages, so testing those
>>> but being will to use "pkg update" . . .
>>> 
>>> Hmm. "pkg rquery" and "pkg search" and "pkg version"
>>> do not seem to work as described. The context here is
>>> a USB media with an armv7 snapshot image based temporary
>>> system, not something that is (yet?) a pkgbase'd
>>> nstallation. I added the disabled FreeBSD-base and have
>>> a enabled local port-package repository.
>> 
>> Above is where I indicated that the context was
>> "not something that is (yet?) a pkgbase'd
>> [i]nstallation". (It is still not pkgbased.)
>> 
>>> https://pkg.freebsd.org/FreeBSD:16:armv7/base_latest/
>>> 
>>> is populated, as is base_weekly/ . But latest/ and
>>> quarterly/ and the rest are not yet.
>>> 
>>> # uname -apKU
>>> FreeBSD RPi2Bv1p1 16.0-CURRENT FreeBSD 16.0-CURRENT #0
>>> main-n281019-0dc634d48fcc: Fri Oct 10 00:15:55 UTC 2025
>>> root@releng3.nyi.freebsd.org:/usr/obj/usr/src/arm.armv7/sys/GENERIC
>>> arm armv7 1600001 1600001
>>> 
>>> # pkg repos -e
>>> pkg: Warning: Major OS version upgrade detected. Running "pkg
>>> bootstrap -f" recommended
>>> main-armv7-default: {
>>> url : "file:///usr/local/poudriere/data/packages/main-armv7-default",
>>> enabled : yes,
>>> priority : 0
>>> }
>>> 
>>> # pkg repos -d
>>> pkg: Warning: Major OS version upgrade detected. Running "pkg
>>> bootstrap -f" recommended
>>> FreeBSD-base: {
>>> url : "pkg+http://pkg.FreeBSD.org/FreeBSD:16:armv7/base_latest",
>>> enabled : no,
>>> priority : 0,
>>> mirror_type : "SRV",
>>> signature_type : "FINGERPRINTS",
>>> fingerprints : "/usr/share/keys/pkg"
>>> }
>>> 
>>> # whoami
>>> root
>>> 
>>> 
>>> # pkg rquery -r FreeBSD-base %n-%v FreeBSD-src
>>> pkg: Warning: Major OS version upgrade detected. Running "pkg
>>> bootstrap -f" recommended
>>> pkg: Repository FreeBSD-base cannot be opened. 'pkg update' required
>>> 
>>> # pkg update -r FreeBSD-base
>>> pkg: Warning: Major OS version upgrade detected. Running "pkg
>>> bootstrap -f" recommended
>>> Updating FreeBSD-base repository catalogue...
>>> FreeBSD-base is up to date.
>>> 
>>> # pkg rquery -r FreeBSD-base %n-%v FreeBSD-src
>>> pkg: Warning: Major OS version upgrade detected. Running "pkg
>>> bootstrap -f" recommended
>>> pkg: Repository FreeBSD-base cannot be opened. 'pkg update' required
>>> 
>>> # pkg search -r FreeBSD-base FreeBSD-src
>>> pkg: Warning: Major OS version upgrade detected. Running "pkg
>>> bootstrap -f" recommended
>>> pkg: Repository FreeBSD-base cannot be opened. 'pkg update' required
>>> 
>>> # pkg version -r FreeBSD-base -n FreeBSD-src
>>> pkg: Warning: Major OS version upgrade detected. Running "pkg
>>> bootstrap -f" recommended
>>> Updating FreeBSD-base repository catalogue...
>>> FreeBSD-base is up to date.
>>> pkg: Repository FreeBSD-base cannot be opened. 'pkg update' required
>>> 
>>> 
>>> But, for example, . . .
>>> 
>>> # man pkg-rquery
>>> PKG-RQUERY(8) FreeBSD System Manager's Manual PKG-RQUERY(8)
>>> 
>>> NAME
>>> pkg rquery – query information from remote repositories
>>> 
>>> SYNOPSIS
>>> pkg rquery -I|query-format pkg-name
>>> pkg rquery [-aU] [-r reponame] -I|query-format
>>> pkg rquery [-U] [-Cgix] [-e evaluation-condition] [-r reponame]
>>> -I|query-format pattern ...
>>> 
>>> . . .
>>> 
>>> OPTIONS
>>> The following options are supported by pkg rquery:
>>> 
>>> . . .
>>> 
>>> -r reponame, --repository reponame
>>> Query for data about packages from only the named repository,
>>> irrespective of the configured “enabled” status from repo.conf.
>>> By default, catalogues for all enabled repositories are queried.
>>> 
>>> . . .
>>> 
>>> 
>>> 
>>> So, the above behavior is not obvious to me from
>>> the documentation.
> 

===
Mark Millard
marklmi at yahoo.com