Re: RFC: Rules for distro-friendly packages
Enrico Weigelt wrote:
> * Yavor Doganov <firstname.lastname@example.org> schrieb:
> > > Switching dependencies which silently enables/disables features is
> > > a generally bad approach.
> > Well, in my very humble experience, an optional dependency is there
> > precisely to provide an optional feature.
> No, opposite direction: features are functional requirements, whose
> implementations just happens to have some dependencies. For example,
> an feature could be supporting compressed files, implemented using
> zlib or libbz2.
That's exactly where --with-zlib and --with-libbz2 should be used
(according to the practice recommended by Autoconf, at least).
--enable-compression could by default check for zlib and libbz2, and
enable either or both if found. If neither is found and
--enable-compression was manually specified by the installer, the
configure script should fail with a proper error message.
That's what users generally expect, since the recommendation has been
there for ages.
> > > And still many people need them.
> > I seriously doubt that.
> You doubt the whole embedded/smalldev development going all around
> the world ?
I admit I'm not familiar with this topic ("embedded/smalldev
development"). If static libraries are really needed there, and this
is an area Debian strives to support, I guess the stance about static
libs should be widely discussed.
> > > > I strongly disagree with requiring pkg-config.
> > >
> > > Well, actually, I need it, eg. for clean sysroot'ed crosscompiling.
> > But pkg-config is notoriously bad when cross-compiling...
> No, it's not. Actually, it's quite fine. Just give it the right
> environment variables, so it takes everything from sysroot.
That's what I'm talking about. You don't need to play with PKG*
variables if pkg-config macros are *not* used.
> And you suppose all the individual distro maintainers to manually
> tweak each package for each target ?
Of course not. A proper usage of the GNU Build System does not
require pkg-config, and certainly does not require manual tweaks.
> It's easier to control those things via a generic interface like
> pkg-config (note: I'm talking about the _interface_, not just the
> binary /usr/bin/pkg-config !)
This interface contradicts the Autoconf philosophy (i.e., perform
realistic feature tests, not merely version comparisons), which is why
some developers do not like and/or trust its approach. Others do,
which is also fine.
I don't see why Debian should insist on upstreams to be in the former
or the latter group. Really.