Bug 169394 - [ bsd.port.mk ] improper evaluation of config-recursive target
Summary: [ bsd.port.mk ] improper evaluation of config-recursive target
Status: Closed DUPLICATE of bug 141641
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Ports Framework (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Port Management Team
Depends on:
Reported: 2012-06-25 13:50 UTC by Alexander Pronin
Modified: 2015-06-13 02:04 UTC (History)
0 users

See Also:

file.diff (559 bytes, patch)
2012-06-25 13:50 UTC, Alexander Pronin
no flags Details | Diff
bsd.ports.mk.patch.txt (914 bytes, text/plain; charset=us-ascii)
2013-03-12 16:58 UTC, kaltheat
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Pronin 2012-06-25 13:50:08 UTC
It is assumed that if a user calls

%make config-recursive

then options of current port and all it's dependency ports will be processed, but

If this port(A) enables dependency port(Z) via options then $$(${ALL-DEPENDS-LIST}) will not include this port(Z), hence options of port(Z) will not be processed.
If dependency port(B) of port(A) enables another dependency port(X) then options of this port(X) will not be processed either.

Fix: --- /Users/scher/tmp/config-recursive/bsd.port.mk	2012-06-21 22:53:45.000000000 +0400
+++ /Users/scher/tmp/config-recursive/bsd.port.mk-fixed	2012-06-21 22:54:35.000000000 +0400
@@ -6110,8 +6110,8 @@
 .if !target(config-recursive)
+config-recursive: config-conditional
 	@${ECHO_MSG} "===> Setting user-specified options for ${PKGNAME} and dependencies";
-	@for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \
-		(cd $$dir; ${MAKE} config-conditional); \
+	@for dir in $$(${MAKE} run-depends-list build-depends-list | uniq); do \
+		(cd $$dir; ${MAKE} config-recursive); \
 .endif # config-recursive

Patch attached with submission follows:
Comment 1 Edwin Groothuis freebsd_committer 2012-06-25 13:50:19 UTC
Responsible Changed
From-To: freebsd-ports-bugs->portmgr

bsd.port.mk is portmgr territory (via the GNATS Auto Assign Tool)
Comment 2 Baptiste Daroussin freebsd_committer 2012-06-25 14:57:13 UTC
Responsible Changed
From-To: portmgr->bapt

take for exp-run
Comment 3 Baptiste Daroussin freebsd_committer 2012-07-16 13:25:40 UTC
Responsible Changed
From-To: bapt->portmgr

No time for this one, sorry back to portmgr
Comment 4 kaltheat 2013-03-12 16:58:08 UTC
Problem is still active.

What about this patch approach:
Comment 5 Mark Linimon freebsd_committer freebsd_triage 2014-06-02 02:50:17 UTC
Infrastructure PR.
Comment 6 Mathieu Arnold freebsd_committer 2015-06-13 02:04:48 UTC

*** This bug has been marked as a duplicate of bug 141641 ***