[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: The ghost of libc-dev

On Mon, Feb 21, 2005 at 03:28:10AM +0000, Henning Makholm wrote:
> Scripsit Bill Allombert <allomber@math.u-bordeaux.fr>
> > Actually, there might be no need for virtual packages, since the tool
> > will be run at compile time and can look up which libc is in use.
> Libc would not be the only thing decided. Imagine you're creating
> libbar-dev and one of the .h files you ship contains
>    #include <foo.h>
> When the -dev package is built, dpkg says that /usr/include/foo.h
> comes from libfoo3-dev, which Provides libfoo-dev, libfoo3.1-dev and
> obsoletepackagename-dev. If you were an automated -dev detector, which
> package name would you let libbar-dev Depend on? You can't tell
> without knowing something about which binary and source compatibility
> policy libfoo tries to follow.

In this case, one of two things, depending on how it's written:

* libfoo3-dev (the actual package name)
* Whatever the "headers" file (vis: shlibs) says

The latter is more flexible, and may in fact be the only right answer, but
could get very long and tedious to build for some packages. Maybe it needs
to have a simple way of handling 'default'...

> >> However, for as long as we have to trace the dependencies by hand, I
> >> see little benefit in requiring an explicit dependency on a libc-dev.
> > There is little benefit, yes. However I feel it is cleaner that way. The
> > -dev package #include files from another -dev package and that warrant a
> > dependency. It is cleaner to not make libc-dev an exception.
> I have no objections if you as a maintainer of a library package
> wishes to include libc-dev among the dependencies of your -dev. I
> don't think it hurts anybody much. But should it be a bug if somebody
> else does differently for his package? I don't think so.

The origional issue that brought all of this up is the number of packages
that have 'libc6-dev', rather than some form of allowing 'libc-dev', and
the fact that on most architectures, there *isn't* any way to specify
things short of a full-bore "all libc*-dev for all archs" that isn't
*effectively* pure-virtual because libc6-dev is not a real package. Which
effectively makes the libc-dev packages close to (if not quite) useless.
Joel Aelwyn <fenton@debian.org>                                       ,''`.
                                                                     : :' :
                                                                     `. `'

Attachment: signature.asc
Description: Digital signature

Reply to: