issues with configurations
duncan.coutts at worc.ox.ac.uk
Thu Aug 10 17:13:21 EDT 2006
I was also talking to the Gentoo protage developers about this. They had
a couple interesting points.
They say that automatically picking up optional dependencies is bad,
even if they are tracked. That there must be a way to build without some
dep even if it's installed and available. eg to build on one machine and
move to another. So even if we make picking up optional deps the
default, there must be a manual override mechanism. Then for the Gentoo
package we would always use that override and have the optional dep
controlled by a USE flag.
You can simulate automatic optional dependencies with trickery like:
build-depends: foo || base
(Since base is always available, this means that foo would be used if
it's installed and base otherwise. Since || is left biased.)
They said that any Gentoo developer caught doing the equivalent of this
would be shot. So while || or equivalents are useful for inconsequential
variations in dependencies (like the issue of a module moving from one
package to another - think base & fps), only social pressure can stop
them from being abused.
So, with this in mind, can we come up with a syntax & semantics that is
close to our current configurations proposals but is not evil?
More information about the cabal-devel