On Dec 17, 2025, at 12:35, bob prohaska <[email protected]> wrote:

> 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]

Using autoconf as an example: it built but failed
to find usable some run dependency(s) and so was
rejected. What has the "wrong architecture.." is
the dependency, instead of it being autoconf that
was wrong.

Deleting autoconf would not help. The
autoconf-2.72.log content:

QUOTE
[main-default-job-03] Installing autoconf-switch-20220527...
pkg-static: wrong architecture: FreeBSD:15:* instead of FreeBSD:16:aarch64
END QUOTE

indicates that autoconf-switch needs to be deleted
instead. (There could be more to delete but only
the first such is reported in the log file.)

Similar points are likely true of many or all of
the rest of the log-file names: they are likely not
indicating what to delete. You would need to look
inside the log files to find some of what to delete
if you use the log files to figure such out.

> My thought is to simply delete them and re-build any packages
> needed that are missing.

If "them" was based on the content of the
logs it would help --but might not provide a
list of everything to delete.

If you let the existing bulk run finish
(or stop it) and then do the:

# pkg-static query -e '%q ~ *:15:*' %n-%v

it should produce the appropriate list of
what to delete as things are at that point.

> Am I setting another trap for myself?

It looks to me like you were expecting to
delete the wrong list of port-package
names. I suggest using:

# pkg-static query -e '%q ~ *:15:*' %n-%v

to get the list of what to delete.


===
Mark Millard
marklmi at yahoo.com


Reply via email to