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

Re: Bug#587918: libnss-myhostname: Please do not depend on both libc6 and libc6-amd64



* Joachim Breitner <nomeata@debian.org> [100703 11:32]:
> b) libnss-extrausers builds only one binary package, which contains all
> variants for a given architecture.
[...]
> The approach b has the advantage that all variants are available and the
> user does not have to remember that he might want to run 32bit variants
> and needs to install another package. The cost of this is the additional
> dependency on the “other” libc6-* package, as noted by Petter in this
> bug.

Take a look at http://packages.debian.org/sid/libnss-extrausers:
It only depends on libc6 (or libc0.1 or libc0.3 on kfreebsd or hurd),
but only suggests the libc*-<otherarch>.

There is no need to have a depends on libc6-i386 at all. (And even the
Suggests in libnss-extrausers is mostly documentary): The modules are
used by the corresponding libc and the need the libc they are used from.
So whenever something uses some variant of an nss-modules the correct
variant of libc is already there. And as the libc6-arch depend on the
exact version if libc6, it is even the correct version.

BTW: speaking about the different subarchitectures. Perhaps it would make
sense to move the debian/rules code I've written for libnss-extrausers
to some common file (perhaps in dpkg-dev or somewhere else),
so it can be included instead and not every libnss package needs to be updated
if something changes.

It currently looks like:
-------------------------
ALSODO =
# life would be to simple if there was something to work everywhere....
ABIFLAG_32=-m32
ABIFLAG_64=-m64
# do not forget to update Build-depends when changing something here:
ifeq ($(DEB_HOST_ARCH),sparc)
ALSODO = 64
else ifeq ($(DEB_HOST_ARCH),i386)
ALSODO = 64
else ifeq ($(DEB_HOST_ARCH),kfreebsd-amd64)
ALSODO = 32
else ifeq ($(DEB_HOST_ARCH),amd64)
ALSODO = 32
else ifeq ($(DEB_HOST_ARCH),mips)
ABIFLAG_32=-mabi=n32
ABIFLAG_64=-mabi=64
ALSODO = 64 32
else ifeq ($(DEB_HOST_ARCH),mipsel)
ABIFLAG_32=-mabi=n32
ABIFLAG_64=-mabi=64
ALSODO = 64 32
else ifeq ($(DEB_HOST_ARCH),powerpc)
ALSODO = 64
else ifeq ($(DEB_HOST_ARCH),s390)
ALSODO = 64
endif
-------------------------

Which still keeps open the problem of updating build-depends once a new
subarchitecture shows up. The only solution I currently see is having some
libc-allarchitectures-dev package pulling in all the needed stuff, which
looks a bit like overkill. Anyone any other idea?

	Bernhard R. Link


Reply to: