Bug#614708: libc6 could just Recommends libc-bin
Package: libc6
Version: 2.11.2-11
Severity: wishlist
Looking carefully at the contents of libc-bin, it appears that libc6
could just Recommends libc-bin, rather than having a Depends on it.
Specifically, taking the contents of libc-bin piece by piece:
/etc/bindresvport.blacklist
Not required to run programs, just a workaround for a conflict between
RPC and a handful of services.
/etc/ld.so.conf.d/libc.conf
Just adds /usr/local/lib; not a required component of a system.
/etc/gai.conf
Consists entirely of commented-out defaults.
/sbin/ldconfig
Maintaining ld.so.cache makes the system run faster, but the system will
run without it. The only caveat: any library packages would need to
only run it if it exists.
/usr/bin/catchsegv
/usr/bin/getconf
/usr/bin/getent
/usr/bin/iconv
/usr/bin/ldd
/usr/bin/localedef
/usr/bin/locale
/usr/bin/tzselect
/usr/bin/rpcinfo
/usr/bin/zdump
None required for a running system, just generally useful.
/usr/lib
/usr/lib/pt_chown
Not required for a running system, just useful.
/usr/sbin/iconvconfig
/usr/sbin/zic
Not required for a running system, just useful.
/usr/share/man/*
Helpful documentation but not required to run.
/usr/share/doc/libc-bin/*
Helpful documentation but not required to run.
/usr/share/lintian/overrides/libc-bin
Obviously not required.
So, in general, nothing in libc-bin has to exist for the system to work,
and only one thing (ldconfig) needs some extra care to make sure the
system can cope without its presence.
On the flipside, though, libc-bin probably needs "Depends: libc6", since
it includes various programs that need libc6.
(Related to this: neither libc6 nor libc-bin has "Essential: yes", so
programs already can't count on them without a dependency.)
This came up when trying to build a *very* minimal system with
debootstrap, and auditing all the dependencies very carefully.
- Josh Triplett and Jamey Sharp
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.37-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libc6 depends on:
ii libc-bin 2.11.2-11 Embedded GNU C Library: Binaries
ii libgcc1 1:4.4.5-12 GCC support library
libc6 recommends no packages.
Versions of packages libc6 suggests:
ii debconf [debconf-2.0] 1.5.38 Debian configuration management sy
ii glibc-doc 2.11.2-11 Embedded GNU C Library: Documentat
ii locales 2.11.2-11 Embedded GNU C Library: National L
-- debconf information excluded
Reply to: