Page MenuHomeFreeBSD

Framework: Fix `make describe for SUBPACKAGES case
Needs ReviewPublic

Authored by arrowd on Feb 8 2024, 12:16 PM.
Referenced Files
Unknown Object (File)
Mon, Apr 8, 10:33 PM
Unknown Object (File)
Mon, Mar 25, 10:39 PM
Unknown Object (File)
Feb 26 2024, 11:44 AM
Unknown Object (File)
Feb 16 2024, 11:59 PM
Unknown Object (File)
Feb 9 2024, 5:17 AM
Unknown Object (File)
Feb 8 2024, 11:42 PM


Group Reviewers

The main idea behind the change is to remove ${deptype}_DEPENDS_ALL variables. Instead, all deps up to BUILD ones are essentially shared, while LIB, RUN and TEST deps are directly taken from the corresponding .${sp} ones. It is up to port writer to add ${LIB_DEPENDS} to LIB_DEPENDS.${sp}.

Test Plan

poud testport on audio/alsa-plugins (a port with subpackages) and sysutils/44bsd-more (a port without subpackages). The make describe output for the latter did not change.

Diff Detail

R11 FreeBSD ports repository
No Lint Coverage
No Test Coverage
Build Status
Buildable 55905
Build 52794: arc lint + arc unit

Event Timeline

arrowd created this revision.
pizzamig requested changes to this revision.Feb 8 2024, 2:54 PM
pizzamig added a subscriber: pizzamig.

In general, it should works, but the *DEPENDS_ALL needs to stay (even if not used by the framework) as they are used externally (by poudriere).


the *_DEPENDS_ALL you are removing are the one used by poudriere to fetch dependency of the port before building it.
For this reason, they cannot be removed until poudriere is not patched to use something else


I would add, as a comment, that _DEPENDS_ALL_SUBPACKAGES is only defined for RUN.
Maybe it makes sense to check for RUN_DEPENDS_ALL_SUBPACKAGES separately


While equivalent, I would keep the for loop in the else branch of empty(FLAVORS)

This revision now requires changes to proceed.Feb 8 2024, 2:54 PM

The ALL variables were introduced just recently with your
You mean Poudriere picked these up already?


_DEPENDS_ALL_SUBPACKAGES are defined for RUN, TEST and LIB, but only RUN is used here.

Maybe it makes sense to check for RUN_DEPENDS_ALL_SUBPACKAGES separately

That'd mean more lines of code. But I will do that if you insist.


The ALL variables are used by poudriere to support subpackages.


No strong opinion, but it seems uneven to me.
In any case, I won't block the merge because of this, tho.

The follow-up commit for Poudriere, if I get it right:

Didn't test it runtime, though.

arrowd marked an inline comment as done.
  • Address some comments

Maybe it makes sense to check for RUN_DEPENDS_ALL_SUBPACKAGES separately

I took another look at that and don't quite understand what do you mean by checking separately? You mean plugging in another .if defined(${deptype}_DEPENDS_ALL_SUBPACKAGES) check?