On Wed, Dec 17, 2025 at 11:12:50AM -0800, Mark Millard wrote:
> On Dec 17, 2025, at 10:46, bob prohaska <[email protected]> wrote:
> 
> > On Wed, Dec 17, 2025 at 09:29:50AM -0800, Mark Millard wrote:
> >> On Dec 17, 2025, at 06:30, bob prohaska <[email protected]> wrote:
> >> 
> >>> On Tue, Dec 16, 2025 at 05:45:03PM -0800, Mark Millard wrote:
> >>>> bob prohaska <fbsd_at_www.zefox.net> wrote on
> >>>> Date: Tue, 16 Dec 2025 23:47:14 UTC :
> >>>> 
> >>>>> On Tue, Dec 16, 2025 at 08:49:06PM +0100, Dag-Erling Smørgrav wrote:
> >>>>>> bob prohaska <[email protected]> writes:
> >>>>>>> What's the best way to restore normal operation? Something like 
> >>>>>>> poudriere bulk -a
> >>>>>> 
> >>>>>> poudriere bulk $(pkg query -e '%#r == 0' '%o')
> >>>>>> 
> >>>>> 
> >>>>> Something's amiss. A simple copy-paste of the command yields
> >>>>> "Illegal variable name.", maybe I'm using the wrong shell.
> >>>> 
> >>>> And older --and possibly less shell dependent-- notation
> >>>> would be the use of a pair of backquotes:
> >>>> 
> >>>> poudriere bulk `pkg query -e '%#r == 0' '%o'`
> >>>> 
> >>>> (That notation is not so nice for usage that involves
> >>>> wanting nested usage.)
> >>>> 
> >>>>> However, it appears that pkg query -e '%#r == 0' '%o'
> >>>>> generates a list of built packages, so I tried running
> >>>>> pkg query -e '%#r == 0' '%o' > package.list
> >>>>> which worked, followed by
> >>>>> poudriere bulk -j main -f package.list
> >>>>> 
> >>>>> That got off to a good start but didn't end well:
> >>>>> 
> >>>>> [00:00:01] Creating the reference jail... done
> >>>>> [00:00:54] Mounting system devices for main-default
> >>>>> [00:00:54] Mounting ports/packages/distfiles
> >>>>> [00:00:54] Stashing existing package repository
> >>>>> [00:00:58] Mounting packages from: 
> >>>>> /usr/local/poudriere/data/packages/main-default
> >>>>> /etc/resolv.conf -> 
> >>>>> /usr/local/poudriere/data/.m/main-default/ref/etc/resolv.conf
> >>>>> [00:00:58] Starting jail main-default
> >>>>> [00:01:10] Logs: 
> >>>>> /usr/local/poudriere/data/logs/bulk/main-default/2025-12-16_15h32m41s
> >>>>> [00:01:10] Loading MOVED for 
> >>>>> /usr/local/poudriere/data/.m/main-default/ref/usr/ports
> >>>>> [00:01:25] Ports supports: FLAVORS SUBPACKAGES SELECTED_OPTIONS
> >>>>> [00:01:25] Gathering ports metadata
> >>>>> [00:01:25] Error: MOVED: devel/libpthread-stubs 2023-03-12 No consumers 
> >>>>> left and never supported pthread stubs in libc on FreeBSD
> >>>>> [00:01:25] Warning: MOVED: devel/pygobject3-common renamed to 
> >>>>> devel/pygobject-common
> >>>>> [00:01:25] Warning: MOVED: net/openldap24-client renamed to 
> >>>>> net/openldap25-client
> >>>>> [00:01:25] Error: MOVED: x11-fonts/gentium-basic 2025-12-04 Has 
> >>>>> expired: Superceeded by Gentium-7.000 
> >>>>> https://software.sil.org/gentium/download/
> >> 
> >> Turns out the above line was because the MOVED line for it
> >> was incorrect. That has been fixed to also list
> >> x11-fonts/gentium as what to use instead:
> >> 
> >> Wed, 17 Dec 2025
> >> 
> >>    • git: 24b7568ff29c - main - MOVED: x11-fonts/gentium-basic is 
> >> superceeded by x11-fonts/gentium Matthew Seaman
> >> 
> >>>>> [00:01:25] Warning: MOVED: x11-themes/kf5-oxygen-icons5 renamed to 
> >>>>> x11-themes/oxygen-icons
> >>>>> [00:01:25] Error: Fatal errors encountered gathering initial ports 
> >>>>> metadata
> >>>>> [00:01:25] Cleaning up
> >>>>> [00:01:25] Unmounting file systems
> >>>>> root@nemesis:/usr/local/poudriere # 
> >>>>> 
> >>>>> The reaction to errors is surprising; it seems like both have enough 
> >>>>> context to handle.
> >>>>> The first package can be omitted, and the second package can be 
> >>>>> replaced.
> >>>> 
> >>>>> 
> >>>>> What am I missing?
> >>>> 
> >>>> 
> >>>> Sounds like you can remove devel/libpthread-stubs from
> >>>> package.list and can pkg delete it?
> >>>> 
> >>> 
> >>> Yes to both.
> >>>> Sounds like you can replace x11-fonts/gentium-basic with
> >>>> x11-fonts/gentium in package.list and can:
> >>>> 
> >>>> pkg delete x11-fonts/gentium-basic
> >>>> 
> >>> Yes to both.
> >>> 
> >>>> Then try the bulk build again based on the updated file.
> >>> 
> >>> Looks like it's working.....Oops, maybe not:
> >>> 00:11:32] [03] [00:02:29] Saved devel/autoconf | autoconf-2.72 wrkdir to: 
> >>> /usr/local/poudriere/data/wrkdirs/main-default/default/autoconf-2.72.tbz
> >>> [00:11:37] [03] [00:02:34] Finished devel/autoconf | autoconf-2.72: 
> >>> Failed: run-depends
> >>> [00:11:49] [03] [00:02:46] Skipping graphics/GraphicsMagick | 
> >>> GraphicsMagick-1.3.43_3,1: Dependent port devel/autoconf | autoconf-2.72 
> >>> failed
> >>> followed by a torrent of "Skipping.....[various port names]"
> >>> lines.
> >>> 
> >>> I'll let it run until advised to intervene. For now it doesn't look 
> >>> promising.
> >> 
> >> Failed: run-depends
> >> 
> >> The autoconf-2.72 related poudriere build log file will need
> >> to be investigated for evidence about that.
> > 
> > Aye, there's the rub:
> > ===========================================================================
> > =======================<phase: run-depends    >============================
> > ===>   autoconf-2.72 depends on package: autoconf-switch>=0 - not found
> > ===>   Installing existing package 
> > /packages/All/autoconf-switch-20220527.pkg
> > [main-default-job-03] Installing autoconf-switch-20220527...
> > pkg-static: wrong architecture: FreeBSD:15:* instead of FreeBSD:16:aarch64
> 
> Yea, poudriere is only rebuilding the specific ports
> listed in the file and ones that had updates in the
> dependencies. Merely being for :15: instead of :16:
> is not leading to an automatic rebuild.
> 
> You will likely want to:
> 
> Delete all the packages that are :15: based and then
> run another bulk based on your file.
> 
> The following sort of command would list the packages
> that need to be deleted/updated (for example):
> 
> # pkg-static query -e '%q ~ *:15:*' %n-%v
> u-boot-tools-2020.07
> unzip-6.0_8
> usbtop-1.0_7
> 
> You may want to review the list to be sure there are
> no surprises. pkg itself being listed would be an
> issue, for example. If the list looks okay:
> 
> # pkg-static delete `pkg-static query -e '%q ~ *:15:*' %n-%v`
> 
> should do sufficient deletes to avoid use of :15:
> vintage builds in the later poudriere bulk run.

It looks as if the logs/error directory is collecting
a list of ports that report "wrong architecture.."
None of them are things I specifically wanted installed,
they were just "part of the furniture":

autoconf-2.72.log               libxshmfence-1.3.3.log
boehm-gc-8.2.10.log             py311-evdev-1.9.1_1.log
cmake-core-3.31.10.log          py311-libevdev-0.11_2.log
groff-1.23.0_5.log              py311-pyudev-0.24.1_1.log
libXau-1.0.12.log               py311-pyyaml-6.0.3.log
libpciaccess-0.18.1_1.log       xtrans-1.6.0_1.log
[so far; the list is likely to grow]

My thought is to simply delete them and re-build any packages
needed that are missing. Am I setting another trap for myself?

Thanks for writing!

bob prohaska
 

Reply via email to