>> However, at this point rebuilding the pkg db made the
>> installation of exabgp succeed without issues (whether the
>> rebuilds made any difference is anyone's guess at this point):
>>
>> # pkg_admin rebuild
>>
>> Stored 27401 files and 0 explicit directories from 64 packages in
>> /usr/pkg/pkgdb/pkgdb.byfile.db.
>> Done.
>> # pkg_admin rebuild-tree
>> Done.
>> # pkgin in exabgp
>> calculating dependencies...done.
>
> I suspect that there is an error in pkg_install around the "replace"
> routine (pkg_add -u). I also regularly see packages with a broken
> dependency to p5-gettext after upgrading, or packages depending on two
> versions of a dependency at the same time.
Well, just another demonstration, cut+pasted with a few comments
in-between:
# cd /usr/pkgsrc
# pkg_info | sort > pkgs.pre
# audit-packages | sort > pkg-vulns.pre
# pkgin up
processing remote summary (http://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/10.0/All)...
pkg_summary.bz2 100% 4224KB 162.5KB/s 00:26
# pkgin fug
4 packages to refresh:
libuuid-2.40.2 llvm-19.1.7 pkg_install-20250417 readline-8.3nb1
4 packages to upgrade:
pkgin-25.10.0 python310-3.10.19 python312-3.12.12 sqlite3-3.51.1
0 to remove, 4 to refresh, 4 to upgrade, 0 to install
130M to download, 450K of additional disk space will be used
proceed ? [Y/n] y
[1/8] libuuid-2.40.2.tgz 100% 36KB 36.5KB/s 00:00
[2/8] llvm-19.1.7.tgz 100% 88MB 2.6MB/s 00:34
[3/8] pkg_install-20250417.tgz 100% 295KB 294.7KB/s 00:00
[4/8] pkgin-25.10.0.tgz 100% 69KB 69.1KB/s 00:00
[5/8] python310-3.10.19.tgz 100% 18MB 3.5MB/s 00:05
[6/8] python312-3.12.12.tgz 100% 23MB 3.8MB/s 00:06
[7/8] readline-8.3nb1.tgz 100% 352KB 352.3KB/s 00:00
[8/8] sqlite3-3.51.1.tgz 100% 1228KB 1.2MB/s 00:00
[1/8] refreshing pkg_install-20250417...
[2/8] upgrading sqlite3-3.51.1...
[3/8] refreshing libuuid-2.40.2...
[4/8] refreshing readline-8.3nb1...
[5/8] upgrading pkgin-25.10.0...
[6/8] upgrading python310-3.10.19...
[7/8] upgrading python312-3.12.12...
[8/8] refreshing llvm-19.1.7...
pkg_install warnings: 0, errors: 2
pkg_install error log can be found in /var/db/pkgin/pkg_install-err.log
reading local summary...
processing local summary...
# tail -10 /var/db/pkgin/pkg_install-err.log
2026-01-25T10:42:14Z [5/8] upgrading pkgin-25.10.0...
2026-01-25T10:42:15Z [6/8] upgrading python310-3.10.19...
2026-01-25T10:44:08Z [7/8] upgrading python312-3.12.12...
2026-01-25T10:46:13Z [8/8] refreshing llvm-19.1.7...
pkg_add: no pkg found for 'python313>=3.13', sorry.
pkg_add: Can't install dependency python313>=3.13
pkg_add: llvm-19.1.7: expected dependency python313>=3.13 still missing
pkg_add: 1 package addition failed
pkg_admin: Dependency llvm>=19.1.7 of rust-1.88.0 unresolved
pkgin: Dependency llvm>=19.1.7 of rust-1.88.0 unresolved
# wc -l pkgs.pre
73 pkgs.pre
# grep pkg_in pkgs.pre
pkg_install-20250417 Package management and administration tools for pkgsrc
# pkg_info | grep pkg_install
pkg_install-20250417 Package management and administration tools for pkgsrc
#
It sounds really strange that pkg_install itself should be the
source of this problem: it looks like pkgin has not picked up
what the actual dependencies for llvm are when ingesting
pkg_summary.bz2 as part of "pkgin up".
Onwards:
# pkg_admin rebuild
Stored 23257 files and 0 explicit directories from 72 packages in /usr/pkg/pkgdb/pkgdb.byfile.db.
Done.
# pkg_admin rebuild-tree
pkg_admin: Dependency llvm>=19.1.7 of rust-1.88.0 unresolved
Done.
#
# pkgin in rust
pkgin: Dependency llvm>=19.1.7 of rust-1.88.0 unresolved
calculating dependencies...done.
5 packages to refresh:
collectd-5.12.0nb3 libunistring-1.2 libunwind-19.1.7nb1 xmlcatmgr-2.2nb1
yajl-2.1.0
4 packages to upgrade:
collectd-curl-5.12.0nb18 curl-8.17.0 nghttp2-1.68.0 rust-1.90.0
3 packages to install:
llvm-19.1.7 mpdecimal-4.0.1 python313-3.13.11
0 to remove, 5 to refresh, 4 to upgrade, 3 to install
108M to download, 707M of additional disk space will be used
proceed ? [Y/n] y
[1/11] collectd-5.12.0nb3.tgz 100% 544KB 543.7KB/s 00:01
[2/11] collectd-curl-5.12.0nb18.tgz 100% 85KB 85.4KB/s 00:00
[3/11] curl-8.17.0.tgz 100% 975KB 974.8KB/s 00:00
[4/11] libunistring-1.2.tgz 100% 609KB 609.1KB/s 00:00
[5/11] libunwind-19.1.7nb1.tgz 100% 47KB 46.6KB/s 00:00
[6/11] mpdecimal-4.0.1.tgz 100% 114KB 114.0KB/s 00:00
[7/11] nghttp2-1.68.0.tgz 100% 156KB 156.4KB/s 00:00
[8/11] python313-3.13.11.tgz 100% 23MB 3.3MB/s 00:07
[9/11] rust-1.90.0.tgz 100% 82MB 3.6MB/s 00:23
[10/11] xmlcatmgr-2.2nb1.tgz 100% 26KB 25.8KB/s 00:00
[11/11] yajl-2.1.0.tgz 100% 35KB 35.4KB/s 00:00
[1/12] refreshing libunistring-1.2...
[2/12] installing mpdecimal-4.0.1...
[3/12] refreshing xmlcatmgr-2.2nb1...
[4/12] installing python313-3.13.11...
[5/12] upgrading nghttp2-1.68.0...
[6/12] refreshing yajl-2.1.0...
[7/12] installing llvm-19.1.7...
[8/12] refreshing libunwind-19.1.7nb1...
[9/12] refreshing collectd-5.12.0nb3...
[10/12] upgrading curl-8.17.0...
[11/12] upgrading collectd-curl-5.12.0nb18...
[12/12] upgrading rust-1.90.0...
pkg_install warnings: 0, errors: 0
reading local summary...
processing local summary...
#
So ... it got it right (or so I thought, but see below) the
second time around.
The "danger" I have observed (and which reduces the convenience
offered by "pkgin") is that certain packages end up not being
installed/upgraded after the mpdecimal / python313 debackle is
resolved, so you as administrator have to manually browse through
the pkg_install-err.log file and manually re-install the now-
missing packages.
Aand...
Changing to https: and doing "pkgin up" and then "pkgin fug"
reveals that, yes, I still had a number of packages which should
be upgraded. Should not just one "pkgin fug" be sufficient?
(Yes, that's rhetorical.)
# vi /usr/pkg/etc/pkgin/repositories.conf
# pkgin up
cleaning database from http://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/10.0/All entries...
reading local summary...
processing local summary...
processing remote summary (https://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/10.0/All)...
pkg_summary.bz2 100% 4224KB 234.7KB/s 00:18
# pkgin fug
calculating dependencies...done.
11 packages to refresh:
autoconf-2.72 cwrappers-20220403 digest-20220214 libb2-0.98.1nb1
libcbor-0.13.0 libfido2-1.16.0 opendkim-2.10.3nb12 openssh-10.2p1 rsync-3.4.1
xplot-0.90.8nb13 xxhash-0.8.3
5 packages to upgrade:
bash-5.3.9 brotli-1.2.0 perl-5.42.0nb1 routinator-0.15.1 tcptrace-6.6.7nb2
0 to remove, 11 to refresh, 5 to upgrade, 0 to install
21M to download, 656K of additional disk space will be used
proceed ? [Y/n] y
[1/16] autoconf-2.72.tgz 100% 600KB 600.4KB/s 00:00
[2/16] bash-5.3.9.tgz 100% 1744KB 1.7MB/s 00:00
[3/16] brotli-1.2.0.tgz 100% 319KB 319.1KB/s 00:00
[4/16] cwrappers-20220403.tgz 100% 26KB 26.4KB/s 00:00
[5/16] digest-20220214.tgz 100% 45KB 45.0KB/s 00:00
[6/16] libb2-0.98.1nb1.tgz 100% 16KB 16.2KB/s 00:00
[7/16] libcbor-0.13.0.tgz 100% 34KB 34.1KB/s 00:00
[8/16] libfido2-1.16.0.tgz 100% 190KB 190.3KB/s 00:00
[9/16] opendkim-2.10.3nb12.tgz 100% 269KB 269.4KB/s 00:00
[10/16] openssh-10.2p1.tgz 100% 1042KB 1.0MB/s 00:00
[11/16] perl-5.42.0nb1.tgz 100% 12MB 3.1MB/s 00:04
[12/16] routinator-0.15.1.tgz 100% 4096KB 4.0MB/s 00:01
[13/16] rsync-3.4.1.tgz 100% 285KB 285.3KB/s 00:00
[14/16] tcptrace-6.6.7nb2.tgz 100% 129KB 129.3KB/s 00:00
[15/16] xplot-0.90.8nb13.tgz 100% 144KB 143.8KB/s 00:00
[16/16] xxhash-0.8.3.tgz 100% 84KB 84.4KB/s 00:00
[1/16] refreshing libcbor-0.13.0...
[2/16] upgrading bash-5.3.9...
[3/16] upgrading perl-5.42.0nb1...
[4/16] refreshing libfido2-1.16.0...
[5/16] refreshing xxhash-0.8.3...
[6/16] refreshing libb2-0.98.1nb1...
[7/16] upgrading routinator-0.15.1...
[8/16] refreshing cwrappers-20220403...
[9/16] refreshing xplot-0.90.8nb13...
[10/16] refreshing rsync-3.4.1...
[11/16] upgrading tcptrace-6.6.7nb2...
[12/16] refreshing digest-20220214...
[13/16] refreshing openssh-10.2p1...
[14/16] refreshing autoconf-2.72...
[15/16] upgrading brotli-1.2.0...
[16/16] refreshing opendkim-2.10.3nb12...
pkg_install warnings: 0, errors: 0
reading local summary...
processing local summary...
#
I still have other hosts to upgrade, so can do more inspection at
a given point to help narrow down the source of this problem.
Regards,
- Havard