Re: RFC: Rules for distro-friendly packages
* Enrico Weigelt <firstname.lastname@example.org> [100918 09:24]:
> * Yavor Doganov <email@example.com> schrieb:
> > > Switching dependencies which silently enables/disables features is
> > > a generally bad approach.
> > Well, in my very humble experience, an optional dependency is ther
> > precisely to provide an optional feature.
> No, opposite direction: features are functional requirements, whose
> implementations just happens to have some dependencies.
Well, I doubt one of those POVs is more valid than the other. While
features are an interesting point, the user is often more interested
in "how do I get this to work with the maximum of functionality it
can provide given what I have or can reasonably get". From this point
of view, denoting which libraries are there and which are not is more
interesting. Another user might want a special feature and then only
get warnings for what they still need. So a perfect system would have
both features (via --(enable|disable)-xyz) and optional dependencies
(via --with[out]-abc), while a pragmatic system will have those that
make the most sense in a specific case.
> For example,
> an feature could be supporting compressed files, implemented using
> zlib or libbz2.
Actually, that is an example that shows that not everything is features.
Take for example reprepro: if you have libbz2 at compile time, it will
use libbz2 for supporting .bz2 files. If you do not have it, it will
call bunzip2. The only 'feature' to select here is whether some library
is used or not, so that is a --with[out]-libbz2 and a --enable would not
really make sense.
Bernhard R. Link
"Never contain programs so few bugs, as when no debugging tools are available!"