Package: eglibc Version: 2.13-8 Severity: important Tags: patch User: ubuntu-devel@lists.ubuntu.com Usertags: ubuntu-patch origin-ubuntu oneiric The updated preinst in the latest eglibc causes initial installation of libc packages for a foreign architecture to fail, because 'readlink -e' returns non-zero on a non-existent file (and the file is nonexistent before we've unpacked the package). I think the sensible thing here is probably to just skip the scan for old copies of libc when we're installing for other than the native architecture. Attached is a patch to do this, which will be uploaded to Ubuntu shortly. Thanks, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ slangasek@ubuntu.com vorlon@debian.org
# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: steve.langasek@linaro.org-20110703003644-\ # ms7qopl2wlz0gp9t # target_branch: :parent # testament_sha1: 511d897c550e105d0e7a28e852b9a02cd2b0e38d # timestamp: 2011-07-02 17:37:09 -0700 # base_revision_id: svn-v4:6ef976f9-4de5-0310-a40d-91cae572ec18:glibc-\ # package/trunk:4776 # # Begin patch === modified file 'debian/changelog' --- debian/changelog 2011-07-02 21:02:09 +0000 +++ debian/changelog 2011-07-03 00:36:44 +0000 @@ -10,6 +10,11 @@ * debhelper.in/libc.preinst: replace unbreakable space by normal space. Closes: #632453. + [ Steve Langasek ] + * debhelper.in/libc.preinst: don't probe for old copies of libc when we're + installing a libc for other than the default architecture; otherwise, we + can't bootstrap installing a foreign-arch libc onto the system. + -- Samuel Thibault <sthibault@debian.org> Thu, 30 Jun 2011 09:52:43 +0200 eglibc (2.13-8) unstable; urgency=low === modified file 'debian/debhelper.in/libc.preinst' --- debian/debhelper.in/libc.preinst 2011-07-02 10:08:27 +0000 +++ debian/debhelper.in/libc.preinst 2011-07-03 00:36:44 +0000 @@ -249,29 +249,33 @@ # Try to detect copies of the libc library in the various places # the dynamic linker uses. - ldfile=$(readlink -e RTLD_SO) - ldbytes=$(head -c 20 RTLD_SO | od -c) - libcfiles=$(dpkg-query -L LIBC 2>/dev/null) - - dirs="SLIBDIR /lib /lib/tls /lib32 /lib64 /usr/local/lib /usr/local/lib32 /usr/local/lib64" - for dir in $dirs ; do - check_dir "in an unexpected directory" $dir - done - - if test -n "$LD_LIBRARY_PATH"; then - dirs=$(echo $LD_LIBRARY_PATH | sed 's/:/ /g') + if [ -e RTLD_SO ]; then + # if RTLD_SO isn't on the filesystem, this is clearly an initial unpack + # of a foreign-arch libc - don't worry about checking for old libraries. + ldfile=$(readlink -e RTLD_SO) + ldbytes=$(head -c 20 RTLD_SO | od -c) + libcfiles=$(dpkg-query -L LIBC 2>/dev/null) + + dirs="SLIBDIR /lib /lib/tls /lib32 /lib64 /usr/local/lib /usr/local/lib32 /usr/local/lib64" for dir in $dirs ; do - check_dir "via LD_LIBRARY_PATH" $dir + check_dir "in an unexpected directory" $dir done - fi - if test -e /etc/ld.so.conf; then - dirs=$(echo $(cat /etc/ld.so.conf)) - if test -n "$dirs" ; then + if test -n "$LD_LIBRARY_PATH"; then + dirs=$(echo $LD_LIBRARY_PATH | sed 's/:/ /g') for dir in $dirs ; do - check_dir "via /etc/ld.so.conf" $dir + check_dir "via LD_LIBRARY_PATH" $dir done fi + + if test -e /etc/ld.so.conf; then + dirs=$(echo $(cat /etc/ld.so.conf)) + if test -n "$dirs" ; then + for dir in $dirs ; do + check_dir "via /etc/ld.so.conf" $dir + done + fi + fi fi if [ -e /lib/tls/i686/cmov/libc.so.6 ] || [ -e /lib/i686/cmov/libc.so.6 ] ; then # Begin bundle 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
Attachment:
signature.asc
Description: Digital signature