Details
- Reviewers
- None
- Group Reviewers
portmgr
Diff Detail
- Repository
- R11 FreeBSD ports repository
- Lint
No Lint Coverage - Unit
No Test Coverage - Build Status
Buildable 57095 Build 53983: arc lint + arc unit
Event Timeline
make -C dns/bind918 -V USE_PERL5 WITH_DEBUG=yes WITHOUT_DEBUG_PORTS=dns/bind918
Results in "build".
This means that the port still believes that the "debug" feature is enabled, while it is actually disabled by the second knob.
As I explained a while back, while what you say is true, your example is flawed, as nobody will every run a command like that, and mostly tried to spread fud.
Variables set on the command line will overwrite any variables being set or unset in any other way.
A correct example would be to put WITH_DEBUG=yes and WITHOUT_DEBUG_PORTS=dns/bind918 in your make.conf. If you do that, the framework works correctly, and make -C dns/bind918 -V USE_PERL5 will not output build.
Yes, this text was written before you explained me this make peculiarity.
But the key point of this text is to underline that Features are universally-applied Options and should be treated the same
- within the framework (by combining the input WITH[OUT]_* variables into PORT_FEATURES which should be checked against by ports)
- on the metaphysical plane (by allowing ports and Uses to enable a Feature by default if desired, like for Rust ports)