freebsd / poudriere

Port/Package build and test system
https://github.com/freebsd/poudriere/wiki
BSD 2-Clause "Simplified" License
391 stars 161 forks source link

`poudriere options` excessive options due to TEST_DEPENDS #381

Open assistcontrol opened 8 years ago

assistcontrol commented 8 years ago

It seems that poudriere options is honouring TEST_DEPENDS when building the dependency list---possibly via make all-depends-list? But none of the building tools use TEST_DEPENDS thereafter.

This means that you can end up configuring options for ports that never get fetched or built. As an example, run poudriere options -j myjail mail/spamassassin and turn off all the options. I'd then expect poudriere to make config the remaining dependencies, but instead I end up setting options for dozens of ports. These ports will never be fetched or built, so why I am I setting options for them?

This is largely an issue for perl ports, where we've been quite diligent about setting TEST_DEPENDS.

Shouldn't poudriere options be restricting itself to the dependencies that will actually be used?

ashemedai commented 7 years ago

Just ran into this problem today and wasted about an hour messing around with option files and settings wondering just why the heck it kept asking me for settings for ports I definitely did not want. And then I found this issue.

From a user perspective it violates POLA in my opinion, especially because it behaves differently from building the port yourself.

bdrewery commented 7 years ago

Hmm, this would be a ports framework bug actually. I'll look into it at some point.