Call for testing: pkgbase support in 15.0

On my pkgbase system I am still on 15.0-RC4 - no updates to RELEASE yet available. Am I missing something?
Dunno, 15.0-RELEASE is out, iso images are available, I'm doing a fresh install, and compiling my way into KDE via the Ports Collection. My Ryzen 9 6900 HS is chugging along fine, but even that will probably take me the rest of the day just to see if Xorg works.
🤞
 
FreeBSD vmfreebsd 15.0-RC4-p1 FreeBSD 15.0-RC4-p1 releng/15.0-n280989-95a3d5b48de6 GENERIC amd64 amd64 1500068 1500068

IGNORE_OSVERSION = false;
BACKUP_LIBRARIES = true;
BACKUP_LIBRARY_PATH = "/usr/local/lib/compat/pkg";
ABI = "FreeBSD:15:amd64";
ALTABI = "freebsd:15:x86:64";
OSVERSION = "1500068";
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-ports-kmods: {
url : "pkg+https://pkg.freebsd.org/FreeBSD:15:amd64/kmods_quarterly_0",
enabled : yes,
priority : 0,
mirror_type : "SRV",
signature_type : "FINGERPRINTS",
fingerprints : "/usr/share/keys/pkg"
}
FreeBSD-base: {
url : "pkg+https://pkgbase.freebsd.org/FreeBSD:15:amd64/base_release_0",
enabled : no,
priority : 0,
mirror_type : "SRV",
signature_type : "FINGERPRINTS",
fingerprints : "/usr/share/keys/pkgbase-15"
}
 
Funny, you'd think that basic components would be available first, before rolling the iso files... I thought that pkgbase would catch on via the provided config files...
🤔
 

Your pkg -vv output reveals some problems in your .conf settings* :
  1. misaligned settings wrt FreeBSD-ports and FreeBSD-ports-kmods
    both should reference quarterly or both should reference latest
  2. wrong url wrt FreeBSD-base
    the current setting I have (in my pkg -vv output) for 15.0-RELEASE for FreeBSD-base is:
    url : "pkg+https://pkg.FreeBSD.org/FreeBSD:15:amd64/base_release_0",
  3. your FreeBSD-base repository is not enabled
Rich (BB code):
IGNORE_OSVERSION = false;
BACKUP_LIBRARIES = true;
BACKUP_LIBRARY_PATH = "/usr/local/lib/compat/pkg";
ABI = "FreeBSD:15:amd64";
ALTABI = "freebsd:15:x86:64";
OSVERSION = "1500068";
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-ports-kmods: {
url : "pkg+https://pkg.freebsd.org/FreeBSD:15:amd64/kmods_quarterly_0",
enabled : yes,
priority : 0,
mirror_type : "SRV",
signature_type : "FINGERPRINTS",
fingerprints : "/usr/share/keys/pkg"
}
FreeBSD-base: {
url : "pkg+https://pkgbase.freebsd.org/FreeBSD:15:amd64/base_release_0",
enabled : no,
priority : 0,
mirror_type : "SRV",
signature_type : "FINGERPRINTS",
fingerprints : "/usr/share/keys/pkgbase-15"
}

Normally, with 15.0-RC4 you should be able to upgrade 15.0-RELEASE. I'm not sure what went wrong.
What I'd try is:
Set your /etc/pkg/FreeBSD.conf as in FreeBSD.conf.quarterly-release - releng/15.0
Set /usr/local/etc/pkg/repos/FreeBSD.conf with only:
Code:
FreeBSD-base: {
  enabled: yes,
}

No other .conf files in /usr/local/etc/pkg/repos/ - (re)move these.
Run pkg upgrade -r FreeBSD-base
Verify freebsd-version -kru afterwards. (You probably then have a different running kernel versus installed kernel.)
shutdown -r now

This should get you to 15.0-RELEASE and quarterly. Change in your local FreeBSD.conf the repository settings for FreeBSD-ports and FreeBSD-ports-kmods as desired in your local /usr/local/etc/pkg/repos/FreeBSD.conf. Upgrade your packages from the ports tree.

___
* this what I use in /usr/local/etc/pkg/repos/FreeBSD.conf:
Code:
FreeBSD-ports: {
    url:            "pkg+https://pkg.FreeBSD.org/${ABI}/latest",
    priority:       0,
    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_${VERSION_MINOR}",
    priority:       0,
    mirror_type:    "SRV",
    signature_type: "FINGERPRINTS",
    fingerprints:   "/usr/share/keys/pkg"
    enabled:        yes,
}
FreeBSD-base: {
  enabled: yes,
}
 
thanks a lot! Well, I probably read over that "enabled: no" many times - no idea what disabled that repository, probably some scripts that came with RC4. The url for pkgbase.FreeBSD.org was necessary for an upgrade of one of the release candidates, no idea why they switched back again. I will wait for pkgbase until this stabilizes. To be honest, my experience with pkgbase starting with I think it was BETA2 was not the best, I was used to a different level of stability coming from FreeBSD and I do hope this tool will stabilize soon. While the concept of pkgbase is awesome, I still do not like the idea that pkg touches anything other than /usr/local and mixes pkgs and OS like any Linux distribution out there but hope I will get accustomed to it once I start using it in prod (they really should have used a different tool ... and maybe just the same backend but differentiating it via e.g. a command like "ospkg").
 
thanks a lot! Well, I probably read over that "enabled: no" many times - no idea what disabled that repository, probably some scripts that came with RC4.
You might not have, that is: if you were using pkg upgrade -r FreeBSD-base* with a disabled FreeBSD-base repository that should (as documented in pkg-upgrade(8)) work—and it has in the past with repositories with older releases—however, now it doesn't (PR 289455 and PR 211749 - c7). That's why, in order to use pkg -upgrade -r <any repository>, you must have the repository in question enabled beforehand.

___
* on 14.2-RELEASE I used pkg -upgrade -r <any repository> a lot, for example wrt the then introduced 'kmods'; I've upgraded from 14.2-RELEASE -> 15.0-BETAx -> pkgbasify ->stepwise pkg upgrade-s to15.0-RELEASE.
 
one more question: before I did pkg delete -af to have a clean base system, how am I supposed to accomplish that now with pkgbase?
 
1. Everything is fine here:
Convert 14.3 (pkgbasify.lua) - OK.


# cat /usr/local/etc/pkg/repos/FreeBSD-base.conf
Code:
FreeBSD-base: {
  url: "pkg+https://pkg.FreeBSD.org/${ABI}/base_release_0",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
# freebsd-version -kru
Code:
14.3-RELEASE-p6
14.3-RELEASE-p6
14.3-RELEASE-p6
# pkg-static update
Code:
Updating FreeBSD-ports repository catalogue...
Fetching meta.conf: 100%    179 B   0.2kB/s    00:01   
Fetching data.pkg: 100%   10 MiB   2.2MB/s    00:05   
Processing entries: 100%
FreeBSD-ports repository update completed. 36617 packages processed.
Updating FreeBSD-ports-kmods repository catalogue...
Fetching meta.conf: 100%    179 B   0.2kB/s    00:01   
Fetching data.pkg: 100%   31 KiB  32.3kB/s    00:01   
Processing entries: 100%
FreeBSD-ports-kmods repository update completed. 213 packages processed.
Updating FreeBSD-base repository catalogue...
FreeBSD-base repository is up to date.
All repositories are up to date.
# pkg-static upgrade
Code:
Updating FreeBSD-ports repository catalogue...
FreeBSD-ports repository is up to date.
Updating FreeBSD-ports-kmods repository catalogue...
FreeBSD-ports-kmods repository is up to date.
Updating FreeBSD-base repository catalogue...
FreeBSD-base repository is up to date.
All repositories are up to date.
Checking for upgrades (1267 candidates): 100%
Processing candidates (1267 candidates): 100%
Checking integrity... done (0 conflicting)
Your packages are up to date.

2. Everything is very bad here.
# env ABI=FreeBSD:15:amd64 pkg-static upgrade -r FreeBSD-base
Code:
pkg-static: Setting ABI requires setting OSVERSION, guessing the OSVERSION as: 1500000
pkg-static: Warning: Major OS version upgrade detected.  Running "pkg bootstrap -f" recommended
Updating FreeBSD-base repository catalogue...
pkg-static: Repository FreeBSD-base has a wrong packagesite, need to re-create database
Fetching meta.conf: 100%    179 B   0.2kB/s    00:01   
Fetching data.pkg: 100%   80 KiB  81.6kB/s    00:01   
pkg-static: No trusted public keys found
FreeBSD-base repository is up to date.
FreeBSD-base is up to date.
pkg-static: Repository FreeBSD-base has a wrong packagesite, need to re-create database
pkg-static: Repository FreeBSD-base cannot be opened. 'pkg update' required
Updating database digests format: 100%
Checking for upgrades (0 candidates): 100%
Processing candidates (0 candidates): 100%
Checking integrity... done (0 conflicting)
Your packages are up to date.
# pkg bootstrap -f
Code:
ld-elf.so.1: Shared object "libcrypto.so.35" not found, required by "pkg"
# pkg add -f https://pkg.freebsd.org/FreeBSD:15:$(uname -p)/base_release_0/FreeBSD-pkg-bootstrap-15.0.pkg
Code:
Fetching FreeBSD-pkg-bootstrap-15.0.pkg: 100%  153 KiB 156.7kB/s    00:01   
Installing FreeBSD-pkg-bootstrap-15.0...
pkg: wrong architecture: FreeBSD:15:amd64 instead of FreeBSD:14:amd64
Newer FreeBSD version for package FreeBSD-pkg-bootstrap:
To ignore this error set IGNORE_OSVERSION=yes
- package: 1500068
- running userland: 1403000
Ignore the mismatch and continue? [y/N]: y
package FreeBSD-pkg-bootstrap is already installed, forced install
pkg: FreeBSD-pkg-bootstrap-15.0 conflicts with FreeBSD-pkg-bootstrap-man-14.3p6 (installs files into the same place).  Problematic file: /usr/share/man/man7/pkg.7.gz ignored by forced mode
Extracting FreeBSD-pkg-bootstrap-15.0: 100%
# pkg update
Code:
ld-elf.so.1: Shared object "libcrypto.so.35" not found, required by "pkg"
# pkg -vv | sed -nE -e '/(OSVERSION|ABI|BACKUP)/ p' -e '/^Repositories:/,$ p'
Code:
ld-elf.so.1: Shared object "libcrypto.so.35" not found, required by "pkg"
 
# env ABI=FreeBSD:15:amd64 pkg-static upgrade -r FreeBSD-base
It looks like you are trying to use pkg-upgrade(8) to go from a packaged base 14.3-RELEASE (that is "Using pkgbase on 14.3") to a packaged base 15.0-RELEASE.
The complete e-mail text from Colin Percival, 02 Dec 2025:
From: Colin Percival <cperciva_at_tarsnap.com>
Date: Tue, 02 Dec 2025 19:36:51 UTC

On 12/2/25 11:31, Patrick M. Hausen wrote:
> now that 15.0 is released, what is the recommended order of
> tasks when I intend to upgrade a traditionally installed 14.3
> system to pkgbase 15.0?
>
> freebsd-update before pkgbasify or the other way round?
>
> I figure for the latter I would need to somehow install pkgbasify on 14.3.
> It's not in the FreeBSD pkg repo.

Use FreeBSD Update to upgrade to 15.0. At some point before 16.0 you should
pkgbasify but there's no rush since FreeBSD Update will be supported for the
lifetime of 15.x.

Using pkgbase on 14.3 has always been considered "experimental"; I'm glad
people tried it out and found some of the bugs in pkgbase early, but it's not
the path I would recommend to users.

--
Colin Percival
FreeBSD Release Engineering Lead & EC2 platform maintainer
Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid

That said, please show the output of pkg-static -vv | sed -nE -e '/(OSVERSION|ABI|BACKUP)/ p' -e '/^Repositories:/,$ p'
Are you using ZFS on root?
 
I just went through what has been by far the most difficult upgrade of FreeBSD since the beginning of time (circa 1999, version 3.4). I used to do it via buildworld and pre-mergemaster, so I'm used to a lot of effort to upgrade.

My system runs 14.3 with pkgbase (converted from a regular install when it was 14.2) on ZFS root, and uses the MINIMAL kernel as set in the `/boot/loader.conf` file. I wanted to upgrade to 15.0-RELEASE. What I ended up with is 15.0-RELEASE user-land and a 15-STABLE kernel. Here's what I had to do. Mostly this follows the instructions from https://docs.freebsd.org/en/books/handbook/cutting-edge/#pkgbase

I did it several times and distilled it down to these steps.

Learning that I needed to alter the fingerprints setting took forever to suss out but I found it in another forum post. The admonition is just for prior test releases of 15, but it seems to apply to 14.3 pkgbase systems as well.

Before starting this, one thing I did was uninstall the source code packages. My system uses a separate ZFS dataset for /usr/src (I don't recall doing this explicitly; I pretty sure it is what pkgbasify does), so upgrading within a boot environment will install the code into /usr/src within the BE, and when booted the ZFS data set will sit on top of /usr/src from the BE and now you have 1GB of orphaned space in the BE dataset and will still see the sources for 14.3.

Code:
pkg remove FreeBSD-src-14.3p6 FreeBSD-src-sys-14.3p6

bectl create 15.0-RELEASE
bectl mount 15.0-RELEASE /mnt/upgrade
pkg -c /mnt/upgrade lock pkg
pkg -c /mnt/upgrade add -f https://pkg.freebsd.org/FreeBSD:15:amd64/base_release_0/FreeBSD-pkg-bootstrap-15.0.pkg
# edit the file FreeBSD-base.conf to set the url to base_release_0 and fingerprints to point to "/usr/share/keys/pkgbase-15"
emacs /mnt/upgrade/usr/local/etc/pkg/repos/FreeBSD-base.conf
env ABI=FreeBSD:15:amd64 pkg-static -c /mnt/upgrade upgrade -r FreeBSD-base
pkg -c /mnt/upgrade unlock pkg

chroot /mnt/upgrade
freebsd-version -kru
exit

Now at this point, we have a problem... there doesn't appear to be a minimal kernel package in the base_release_0 package set:

Code:
root@lorax:~ # pkg -c /mnt/upgrade info | grep FreeBSD-kernel
pkg: Warning: Major OS version upgrade detected.  Running "pkg bootstrap -f" recommended
FreeBSD-kernel-generic-15.0    FreeBSD GENERIC Kernel
FreeBSD-kernel-generic-mmccam-14.3p6 FreeBSD GENERIC-MMCCAM kernel
FreeBSD-kernel-minimal-14.3p6  FreeBSD MINIMAL kernel

I deleted the 14.3 minimal kernel package and tried to install the 15 package:

Code:
# pkg -c /mnt/upgrade install FreeBSD-kernel-minimal
    ... other output...
pkg: No packages available to install matching 'FreeBSD-kernel-minimal' have been found in the repositories

Among the many tries at upgrading, one of them was to upgrade to base_latest which curiously had not one difficulty. So I figured I will just grab the minimal kernel from there. I also went ahead and upgraded all of the other packages. I think I could have gotten away with just installing the compat14x-amd64 package.

Code:
pkg -c /mnt/upgrade add -f https://pkg.freebsd.org/FreeBSD:15:amd64/base_latest/FreeBSD-kernel-minimal-15.snap20251201164446.pkg

pkg -c /mnt/upgrade upgrade

Now I have a usable minimal kernel. The system does boot and runs fine so far.

After the reboot, I re-install the source packages into the now-mounted /usr/src dataset

Code:
pkg install FreeBSD-src FreeBSD-src-sys

I do have a fair number of orphaned 14.3 packages left, though:

Code:
FreeBSD-dpv-14.3p6                 ?   orphaned: base
FreeBSD-dpv-dev-14.3p6             ?   orphaned: base
FreeBSD-dpv-dev-lib32-14.3p6       ?   orphaned: base
FreeBSD-dpv-lib32-14.3p6           ?   orphaned: base
FreeBSD-dpv-man-14.3p6             ?   orphaned: base
FreeBSD-efi-tools-dev-lib32-14.3p6 ?   orphaned: base
FreeBSD-efi-tools-lib32-14.3p6     ?   orphaned: base
FreeBSD-ftpd-14.3p6                ?   orphaned: base
FreeBSD-ftpd-man-14.3p6            ?   orphaned: base
FreeBSD-kernel-generic-mmccam-14.3p6 ?   orphaned: base
FreeBSD-liby-dev-14.3p6            ?   orphaned: base
FreeBSD-liby-dev-lib32-14.3p6      ?   orphaned: base
FreeBSD-openssl-lib-lib32-14.3p6   ?   orphaned: base
FreeBSD-openssl-lib-man-14.3p6     ?   orphaned: base
FreeBSD-pkg-bootstrap-man-14.3p6   ?   orphaned: base
FreeBSD-sendmail-dev-14.3p6        ?   orphaned: base
FreeBSD-sendmail-dev-lib32-14.3p6  ?   orphaned: base
FreeBSD-sendmail-lib32-14.3p6      ?   orphaned: base
FreeBSD-tests-man-14.3p6           ?   orphaned: base
FreeBSD-unbound-14.3p6             ?   orphaned: base
FreeBSD-unbound-dev-14.3p6         ?   orphaned: base
FreeBSD-unbound-dev-lib32-14.3p6   ?   orphaned: base
FreeBSD-unbound-lib32-14.3p6       ?   orphaned: base
FreeBSD-unbound-man-14.3p6         ?   orphaned: base

So my questions are:

Is 15.0-RELEASE simply missing the MINIMAL (and mmccam) kernel packages?

What am I supposed to do with these orphaned packages? I have no need for the lib32 versions so I think I'm ok getting rid of those, but things like unbound I'm not so sure what happens if they go away.

Is the right way now to just have a tiny FreeBSD-base.conf with just the enabled: yes setting as per the release notes? Mine looks like the one from the handbook upgrading page referenced above.

When I was testing this out, I upgraded to base_latest (15.0-STABLE) and it had zero issues like this. It includes the MINIMAL kernel, does not complain of the signing keys, etc. What makes it different?
 
That said, please show the output of pkg-static -vv | sed -nE -e '/(OSVERSION|ABI|BACKUP)/ p' -e '/^Repositories:/,$ p'
Are you using ZFS on root?
UFS2.
# pkg-static -vv | sed -nE -e '/(OSVERSION|ABI|BACKUP)/ p' -e '/^Repositories:/,$ p'
Code:
IGNORE_OSVERSION = false;
BACKUP_LIBRARIES = true;
BACKUP_LIBRARY_PATH = "/usr/local/lib/compat/pkg";
ABI = "FreeBSD:14:amd64";
ALTABI = "freebsd:14:x86:64";
OSVERSION = "1403000";
Repositories:
  FreeBSD-ports: {
    url             : "pkg+https://pkg.FreeBSD.org/FreeBSD:14:amd64/quarterly",
    enabled         : yes,
    priority        : 0,
    mirror_type     : "SRV",
    signature_type  : "FINGERPRINTS",
    fingerprints    : "/usr/share/keys/pkg"
  }
  FreeBSD-ports-kmods: {
    url             : "pkg+https://pkg.FreeBSD.org/FreeBSD:14:amd64/kmods_quarterly_3",
    enabled         : yes,
    priority        : 0,
    mirror_type     : "SRV",
    signature_type  : "FINGERPRINTS",
    fingerprints    : "/usr/share/keys/pkg"
  }
  FreeBSD-base: {
    url             : "pkg+https://pkg.FreeBSD.org/FreeBSD:14:amd64/base_release_0",
    enabled         : yes,
    priority        : 0,
    mirror_type     : "SRV",
    signature_type  : "FINGERPRINTS",
    fingerprints    : "/usr/share/keys/pkg"
  }
 
Isn’t the URL supposed to be ://pkgbase.FreeBSD…….?
It looks like URLs are fine, the quote is from freebsd-base(7)
Packages for all supported FreeBSD releases as well as active "STABLE"
and "CURRENT" branches are hosted on the Internet at
https://pkg.freebsd.org. These packages are updated when new errata or
security updates are released (for supported release versions), or
twice daily for development branches.
 
pkg-static -vv | sed -nE -e '/(OSVERSION|ABI|BACKUP)/ p' -e '/^Repositories:/,$ p'
I'd also like to ask the experts: what's the sacred meaning of such complex expressions if everything can be done faster and easier using the command:
# pkg-static -vv
Or, for example, they write the command:
# grep '^[^#]' /usr/local/etc/pkg/repos/FreeBSD.conf?
It's faster and more efficient to type:
# cat /usr/local/etc/pkg/repos/FreeBSD.conf
 
1. Everything is fine here:
Convert 14.3 (pkgbasify.lua) - OK.


# cat /usr/local/etc/pkg/repos/FreeBSD-base.conf
Code:
FreeBSD-base: {
  url: "pkg+https://pkg.FreeBSD.org/${ABI}/base_release_0",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
# freebsd-version -kru
Code:
14.3-RELEASE-p6
14.3-RELEASE-p6
14.3-RELEASE-p6
# pkg-static update
Code:
Updating FreeBSD-ports repository catalogue...
Fetching meta.conf: 100%    179 B   0.2kB/s    00:01   
Fetching data.pkg: 100%   10 MiB   2.2MB/s    00:05   
Processing entries: 100%
FreeBSD-ports repository update completed. 36617 packages processed.
Updating FreeBSD-ports-kmods repository catalogue...
Fetching meta.conf: 100%    179 B   0.2kB/s    00:01   
Fetching data.pkg: 100%   31 KiB  32.3kB/s    00:01   
Processing entries: 100%
FreeBSD-ports-kmods repository update completed. 213 packages processed.
Updating FreeBSD-base repository catalogue...
FreeBSD-base repository is up to date.
All repositories are up to date.
# pkg-static upgrade
Code:
Updating FreeBSD-ports repository catalogue...
FreeBSD-ports repository is up to date.
Updating FreeBSD-ports-kmods repository catalogue...
FreeBSD-ports-kmods repository is up to date.
Updating FreeBSD-base repository catalogue...
FreeBSD-base repository is up to date.
All repositories are up to date.
Checking for upgrades (1267 candidates): 100%
Processing candidates (1267 candidates): 100%
Checking integrity... done (0 conflicting)
Your packages are up to date.

2. Everything is very bad here.
# env ABI=FreeBSD:15:amd64 pkg-static upgrade -r FreeBSD-base
Code:
pkg-static: Setting ABI requires setting OSVERSION, guessing the OSVERSION as: 1500000
pkg-static: Warning: Major OS version upgrade detected.  Running "pkg bootstrap -f" recommended
Updating FreeBSD-base repository catalogue...
pkg-static: Repository FreeBSD-base has a wrong packagesite, need to re-create database
Fetching meta.conf: 100%    179 B   0.2kB/s    00:01   
Fetching data.pkg: 100%   80 KiB  81.6kB/s    00:01   
pkg-static: No trusted public keys found
FreeBSD-base repository is up to date.
FreeBSD-base is up to date.
pkg-static: Repository FreeBSD-base has a wrong packagesite, need to re-create database
pkg-static: Repository FreeBSD-base cannot be opened. 'pkg update' required
Updating database digests format: 100%
Checking for upgrades (0 candidates): 100%
Processing candidates (0 candidates): 100%
Checking integrity... done (0 conflicting)
Your packages are up to date.
# pkg bootstrap -f
Code:
ld-elf.so.1: Shared object "libcrypto.so.35" not found, required by "pkg"
# pkg add -f https://pkg.freebsd.org/FreeBSD:15:$(uname -p)/base_release_0/FreeBSD-pkg-bootstrap-15.0.pkg
Code:
Fetching FreeBSD-pkg-bootstrap-15.0.pkg: 100%  153 KiB 156.7kB/s    00:01   
Installing FreeBSD-pkg-bootstrap-15.0...
pkg: wrong architecture: FreeBSD:15:amd64 instead of FreeBSD:14:amd64
Newer FreeBSD version for package FreeBSD-pkg-bootstrap:
To ignore this error set IGNORE_OSVERSION=yes
- package: 1500068
- running userland: 1403000
Ignore the mismatch and continue? [y/N]: y
package FreeBSD-pkg-bootstrap is already installed, forced install
pkg: FreeBSD-pkg-bootstrap-15.0 conflicts with FreeBSD-pkg-bootstrap-man-14.3p6 (installs files into the same place).  Problematic file: /usr/share/man/man7/pkg.7.gz ignored by forced mode
Extracting FreeBSD-pkg-bootstrap-15.0: 100%
# pkg update
Code:
ld-elf.so.1: Shared object "libcrypto.so.35" not found, required by "pkg"
# pkg -vv | sed -nE -e '/(OSVERSION|ABI|BACKUP)/ p' -e '/^Repositories:/,$ p'
Code:
ld-elf.so.1: Shared object "libcrypto.so.35" not found, required by "pkg"

Right, I had hoped that you were using ZFS, then it would likely be possible to go back to a Boot Environment (BE) before you pkgbasified your 14.3-RELEASE.

As I see it, you may be currrently somewhere in between two OS-s: that seems a problem.

Based on your pkg-static output OSVERSION = "1403000"; your running kernel is still at 14.3-RELEASE. You can also verify that by freebsd-version -kru

I don't exactly know what you have in you pkg .conf files, but
ls -l /etc/pkg/FreeBSD.conf /usr/local/etc/pkg.conf /usr/local/etc/pkg/repos/*.conf
gives you an overview. Most likely first file is relevant here and your /usr/local/etc/pkg/repos/*.conf file(s). You may have a file /usr/local/etc/pkg/repos/FreeBSD-base.conf; I cannot see that.

Based on your output you have the new repository names FreeBSD-port and FreeBSD-ports-kmods belonging to a 15.0-RELEASE environment.

However, in a fully functioning 15.0-RELEASE environment that should be reflected in your pkg-static -vvoutput as:
Rich (BB code):
  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-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"
  }
  [...]

The url for FreeBSD-ports-kmods, as in your output:
Rich (BB code):
  FreeBSD-ports-kmods: {
    url             : "pkg+https://pkg.FreeBSD.org/FreeBSD:14:amd64/kmods_quarterly_3",
references 14.3-RELEASE packages, not suited for 15.0-RELEASE.

What's more important is your base OS at the moment.

Note that I have no experience with this specific situation. I did not use a pkgbasified 14.x-RELEASE.

I see the following options:
  1. Restore your base OS from backups, preferable to a point were you have a non-pkgbasified OS.
    This may prove a difficult operation when using your current OS, looking at the undefinded state that it is in.
    I suggest considering booting from another source.
  2. Somehow hack your way to a normal packaged base 15.0-RELEASE.
  3. Return to your previous package based 14.3-RELEASE state.
  4. Install a fresh 15.0-RELEASE, preferably, at first, non-package based.
I don't have any practical experience with option #1 given your current situation. I do not have any experience with option #2; I suspect it might be possible, but you'd have to rely on information elsewhere; perhaps this can help.

Option #4 is, in my view, the most straightforward. Allthough I imagine, you will have (a lot of) configuring to do; and get your data restored from backups. You can decide to go to a packged base at a later time, when you have a good running system again with everything configured.

Option #3 is try to return to your packaged base 14.3-RELEASE. Hopefully then you'd get to a running OS again; with your own environment. You must decide what you want to try.

For returning to your previous 14.3-RELEASE state with a packaged base, you may consider trying the following.
The good thing is that you have a working pkg, that is: pkg-static can, as far as I know, practically do all the things that you do normally with pkg(8). I'm relying a bit on the fact that your keys for https download are still ok with respect to a packaged base 14.3-RELEASE. Here are things you may need to consider:
  1. in /etc/rc.conf disable any reference to things that relate to kernel modules, such as kld_list="i915kms"
    Do this wisely because you may be relying on network drivers you need to be active to access the internet.
  2. Set your pkg .conf settings as what would be appropriate for a packaged base 14.3-RELEASE and verify these settings.

ad#2
Set /etc/pkg/FreeBSD.conf as specified in FreeBSD.conf.quarterly - 14.3-RELEASE:
I suggest you temporarily hard-code VERSION_MINOR for the FreeBSD-kmods repository.
Code:
[1-0] # cat /etc/pkg/FreeBSD.conf
#
# To disable this repository, instead of modifying or removing this file,
# create a /usr/local/etc/pkg/repos/FreeBSD.conf file:
#
#   mkdir -p /usr/local/etc/pkg/repos
#   echo "FreeBSD: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf
#

FreeBSD: {
  url: "pkg+https://pkg.FreeBSD.org/${ABI}/quarterly",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}
FreeBSD-kmods: {
  url: "pkg+https://pkg.FreeBSD.org/${ABI}/kmods_quarterly_3",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

Set /usr/local/etc/pkg/repos/FreeBSD.conf to the correct settings for your desired repositories, for example for latest and FreeBSD-base:
Code:
FreeBSD: {
    url: pkg+https://pkg.freebsd.org/${ABI}/latest,
    enabled: yes,
}
FreeBSD-kmods: {
    url: pkg+https://pkg.freebsd.org/${ABI}/kmods_latest_3,
    priority: 0,
    signature_type: "fingerprints",
    fingerprints: "/usr/share/keys/pkg",
    mirror_type: "srv",
    enabled: yes,
}
FreeBSD-base: {
    url: "pkg+https://pkg.FreeBSD.org/${ABI}/base_release_3",
    mirror_type: "srv",
    signature_type: "fingerprints",
    fingerprints = "/usr/share/keys/pkg";
    enabled = yes;
}
Here also, I suggest you temporarily hard-code VERSION_MINOR for the FreeBSD-kmods and FreeBSD-baserepository.
Verify that this is your only .conf file in /usr/local/etc/pkg/repos/
Verify that the output of pkg-static -vv | sed -nE -e '/(OSVERSION|ABI|BACKUP)/ p' -e '/^Repositories:/,$ p' looks good.

Run pkg-static upgrade -f -r FreeBSD-base.
Verify the output of freebsd-version -kru; you probably should now reboot.

Upgrade your packages from the ports tree.

I hope that these steps can bring you back, if you choose to do so.
 
That said, please show the output of pkg-static -vv | sed -nE -e '/(OSVERSION|ABI|BACKUP)/ p' -e '/^Repositories:/,$ p'
Are you using ZFS on root?
I'd also like to ask the experts: what's the sacred meaning of such complex expressions if everything can be done faster and easier using the command:
# pkg-static -vv
Or, for example, they write the command:
# grep '^[^#]' /usr/local/etc/pkg/repos/FreeBSD.conf?
It's faster and more efficient to type:
# cat /usr/local/etc/pkg/repos/FreeBSD.conf
These are my (subjective) preferences, partly because of my experience with sed(1), partly otherwise. I'll try to explain.
pkg-static -vv or pkg -vv provides a lot of output, much more than I need to help.

# grep '^[^#]' /usr/local/etc/pkg/repos/FreeBSD.conf?
This only displays information about one pkg .conf file (users may also have extensive comments not beginning with a # at the very beginning of a line). It does also not display any other files in /usr/local/etc/pkg/repos/; there may very well be a /usr/local/etc/pkg/repos/FreeBSD-base.conf in addition to /usr/local/etc/pkg/repos/FreeBSD.conf. Furthermore, when pkg(8) is executed it uses more files:
  • /usr/local/etc/pkg.conf
  • /etc/pkg/FreeBSD.conf
  • all the .conf files as in /usr/local/etc/pkg/repos/*.conf
Using pkg -vv uses and 'partially parses' all of these; variables are expanded: you don't see any ${VERSION_MINOR} in its output. This also applies to cat /usr/local/etc/pkg/repos/FreeBSD.conf, it doesn't tell the whole story.

With the introduction of a packaged base, there are additional setting made especially relating to pkg's config settings, IIRC BACKUP is one of those; with OSVERSION I see pretty accurately what OS version is runnning without having to ask for running a specific command like freebsd-version(1) or uname(1). With sed(1), I can filter more specifically than with grep; I don't see a way how to filter the pkg -vv with grep exactly as with pkg-static -vv | sed -nE -e '/(OSVERSION|ABI|BACKUP)/ p' -e '/^Repositories:/,$ p'

Lastly, in my experience, if a a forum user is asked to post the output of several distinct commands, it can easily result in a response that does not contain all the output, a simple typo in one of the commands is made or something is just overlooked. It is not necessary, and I do not expect, for the sed command to be understood in detail. Asking for one command that is more likely to be typed literally (exactly as is) and the full output posted, usually helps to get to recommended course af action more quickly.
 

Erichans Thanks for the recommendations. It was informative to read your advice. I have a full disk image of the system, made before switching to pkgbasify. I'll try to understand the situation as best I can.​

 
Back
Top