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)
Mon, Oct 6, 9:02 PM
Unknown Object (File)
Sat, Oct 4, 11:37 PM
Unknown Object (File)
Mon, Sep 29, 11:23 AM
Unknown Object (File)
Sat, Sep 27, 1:12 PM
Unknown Object (File)
Fri, Sep 26, 10:33 PM
Unknown Object (File)
Sun, Sep 21, 12:19 PM
Unknown Object (File)
Sun, Sep 21, 3:36 AM
Unknown Object (File)
Sep 9 2025, 8:00 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.