Page MenuHomeFreeBSD

Fix ports depends-list.sh
ClosedPublic

Authored by andrew_tao173.riddles.org.uk on Jun 11 2023, 6:20 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 18, 12:20 AM
Unknown Object (File)
Thu, Apr 18, 12:19 AM
Unknown Object (File)
Wed, Apr 17, 5:04 PM
Unknown Object (File)
Feb 8 2024, 1:00 AM
Unknown Object (File)
Dec 23 2023, 1:01 AM
Unknown Object (File)
Dec 18 2023, 6:48 AM
Unknown Object (File)
Dec 10 2023, 6:03 PM
Unknown Object (File)
Dec 2 2023, 12:44 AM

Details

Summary

depends-list.sh fails in two ways: one is a simple quoting bug (which would have been detected by shellcheck) which causes empty FLAVOR variables to be propagated; the other is that de-duplication is being done without regard for flavors.

The upshot of these is that where a port depends on a specific flavor (first bug) or on multiple flavors (second bug, usually caused by build dependencies) of another port, the constructed dependency list is incomplete, and so -recursive targets do not do all the required work. (This is especially annoying for fetch-recursive.)

See also https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269982 on this exact issue which has been open for three months without attention; this diff addresses both the original bug and my followup comment.

Test Plan

Extensively tested locally (I rely on fetch-recursive to fetch all distfiles).

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Looks fine to me, unless I'm missing something. @pizzamig do you want to take this as you own the PR too?

This revision was not accepted when it landed; it landed in state Needs Review.Jun 13 2023, 8:13 PM
This revision was automatically updated to reflect the committed changes.