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}.
Details
Diff Detail
- Repository
- R11 FreeBSD ports repository
- Lint
No Lint Coverage - Unit
No Test Coverage - Build Status
Buildable 62658 Build 59542: arc lint + arc unit
Event Timeline
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).
Mk/bsd.port.mk | ||
---|---|---|
2668 | the *_DEPENDS_ALL you are removing are the one used by poudriere to fetch dependency of the port before building it. | |
4235 | I would add, as a comment, that _DEPENDS_ALL_SUBPACKAGES is only defined for RUN. | |
4479 | While equivalent, I would keep the for loop in the else branch of empty(FLAVORS) |
Mk/bsd.port.mk | ||
---|---|---|
2668 | The ALL variables were introduced just recently with your https://reviews.freebsd.org/D40549 | |
4235 | _DEPENDS_ALL_SUBPACKAGES are defined for RUN, TEST and LIB, but only RUN is used here.
That'd mean more lines of code. But I will do that if you insist. |
The follow-up commit for Poudriere, if I get it right: https://github.com/freebsd/poudriere/commit/ee34405ae8e7d1763f2cc70e1f179b8c643de1e9
Didn't test it runtime, though.
Mk/bsd.port.mk | ||
---|---|---|
4235 |
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? |
- Rebase
- Add compatibility shim for Poudriere
To test this one can run git revert 7dd904d9178aef2ac7369c77551e6c7774997564
to bring audio/alsa-plugins into the subpackagized state.
Running make -V {BUILD,LIB,RUN}_DEPENDS_ALL now produce the same list as before
modulo some extra duplicated entries, which were present in the previous version anyways.