Re: Using ports across major version changes

bob prohaska <[email protected]>
Newsgroups gmane.os.freebsd.devel.ports
Message-ID <[email protected]>
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

That's what I thought was being fixed 8-(

Failed to install the following 1 package(s): /packages/All/autoconf-switch-20220527.pkg
*** Error code 1

Stop.
make: stopped making "run-depends" in /usr/ports/devel/autoconf
=>> Cleaning up wrkdir
===>  Cleaning for autoconf-2.72
build of devel/autoconf | autoconf-2.72 ended at Wed Dec 17 06:21:44 PST 2025
build time: 00:02:37
!!! build failure encountered !!!

Seems like a chicken-or-egg sort of problem. But, that objection is
also true of many ports presently being rebuilt successfully. Is 
autoconf somehow special?

Thanks for writing!

bob prohaska
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.