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.
| Mk/bsd.port.mk | ||
|---|---|---|
| 4034 | Did I miss it or did you keep these elsewhere? We need to maintain compat. The linked poudriere commit is fine (I didn't deeply review it) but it's best to avoid this race/dependency of poudriere vs ports versions support and keep them working. | |
| Mk/bsd.port.mk | ||
|---|---|---|
| 4034 | Aha it is higher up on line 2668. Thanks! | |