[Midnightbsd-cvs] [MidnightBSD/src] 29c016: make_index: break flavored dependency cycles inste...
Lucas Holt
noreply at github.com
Sat Jul 11 19:15:46 EDT 2026
Branch: refs/heads/stable/4.0
Home: https://github.com/MidnightBSD/src
Commit: 29c01647982c086568acd6cbd6df3c48cc450255
https://github.com/MidnightBSD/src/commit/29c01647982c086568acd6cbd6df3c48cc450255
Author: Lucas Holt <luke at foolishgames.com>
Date: 2026-07-11 (Sat, 11 Jul 2026)
Changed paths:
M usr.sbin/portsnap/make_index/make_index.c
Log Message:
-----------
make_index: break flavored dependency cycles instead of aborting
make_index (portsnap) fatally aborted the whole INDEX build when it
detected a dependency cycle. This triggers a false positive for flavored
bootstrap chains: devel/glib20's "default" and "bootstrap" flavors share
one port directory, and "make describe" strips the @flavor suffix from
dependency origins, so findport() resolves a dependency on that directory
to an arbitrary flavor. When it resolves glib at default (instead of
glib at bootstrap), the chain glib at default -> gobject-introspection at bootstrap
-> glib closes into a cycle and errx() killed the build with
"glib-... depends upon itself".
Downgrade the recursed==1 back-edge from errx() to a warning and break
the cycle, matching the behaviour of the perl Tools/make_index (which
FreeBSD now relies on exclusively after retiring portsnap). The port
metadata is correct; the INDEX is now generated successfully.
AI-Assisted-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
Signed-off-by: Lucas Holt <luke at foolishgames.com>
(cherry picked from commit 76dca86d3ae556cfd4a3b538e50e7798c7155e28)
To unsubscribe from these emails, change your notification settings at https://github.com/MidnightBSD/src/settings/notifications
More information about the Midnightbsd-cvs
mailing list