[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