Comment by Cloudef

3 years ago

This is why I really don't like configure style build systems that automatically enable / disable features. When I want something I explicitly opt-in for it. If there's good reason for feature to be default, then instead explicitly allow opt-out.

This is a huge pain when packaging things. You set up the package, add dependencies until it builds and think you are done. But they feature X is missing. What? Oh, it was silently disabled because libY isn't available. Ok, go back and add it. Then a user reports that feature Z isn't available...

Yeah, just have a default set of features and allow `--enable-a --disable-b` as needed.

The fact that it silently swallows bugs in the check is just another problem of it.

  • Worse, it enables features based on local system packages whose dependencies aren’t captured by the package dependencies.

    At least for a time, this was a horrible problem in Yocto.

    • I think most distributions use some sort of build sandboxing at this point to avoid this problem and increase reproducibility in general right?

      1 reply →