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

Bug#629534: Upgrade fails, resulting in unusable system (no dynamic linking)



tags 629534 patch
thanks

The attached (untested) patch is based on an IRC conversation with Aurélien
yesterday about this bug.  If there are any other copies of ld-2.x.so in
/lib that dpkg doesn't know about, we should abort the upgrade until these
have been removed.

-- 
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-20110609001404-\
#   fhl4230qi5caqw82
# target_branch: :parent
# testament_sha1: 96b89a21a8f966d889c0f91f15b003bb560d29b0
# timestamp: 2011-06-08 17:14:54 -0700
# base_revision_id: svn-v4:6ef976f9-4de5-0310-a40d-91cae572ec18:glibc-\
#   package/trunk:4718
# 
# Begin patch
=== modified file 'debian/changelog'
--- debian/changelog	2011-06-08 22:55:41 +0000
+++ debian/changelog	2011-06-09 00:14:04 +0000
@@ -14,6 +14,12 @@
   * Remove spurious exclamation point in architecture dependency.
   * Add lintian overrides for eglibc-source, from Marcin Juszkiewicz.
 
+  [ Steve Langasek ]
+  * debian/debhelper.in/libc.preinst: additional check for extra copies of
+    /lib/ld-2.*.so not known to dpkg, as these cause problems when the real
+    linker moves to /lib/<triplet> for multiarch and ldconfig leaves
+    /lib/ld-linux.so.N pointing at an old glibc.  Closes: #629534.
+
  -- Clint Adams <clint@debian.org>  Wed, 08 Jun 2011 19:50:01 -0400
 
 eglibc (2.13-5) unstable; urgency=low

=== modified file 'debian/debhelper.in/libc.preinst'
--- debian/debhelper.in/libc.preinst	2011-05-23 22:50:54 +0000
+++ debian/debhelper.in/libc.preinst	2011-06-09 00:14:04 +0000
@@ -239,6 +239,15 @@
       exit 1
     fi
   done
+  for i in /lib/ld-2.*.so; do
+    if [ "$i" != "/lib/ld-2.*.so" ] && ! dpkg-query -L LIBC 2>/dev/null | grep -q $i; then
+      echo
+      echo "A non-dpkg owned copy of the C library was found in /lib/."
+      echo "It is not safe to upgrade the C library in this situation;"
+      echo "please remove that copy of the C library and try again."
+      exit 1
+    fi
+  done
   if [ -e /lib/tls/i686/cmov/libc.so.6 ] || [ -e /lib/i686/cmov/libc.so.6 ] ; then
     status_i686=$(dpkg -s libc6-i686 2>/dev/null | grep ^Status: | sed -e 's/^Status: \(.*\) \(.*\) \(.*\)/\3/g')
     status_xen=$(dpkg -s libc6-xen 2>/dev/null | grep ^Status: | sed -e 's/^Status: \(.*\) \(.*\) \(.*\)/\3/g')

# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWa4Cs64AAvNfgFAQf3f//3sl
CAq/7//0UAYG3hrU6xdztNVWjaxoCSRR6CU9kYSn5U8NMppHigaHlDajT0RoCUplNpkxDRJk9EaN
ANGjQ0AAACSEmkT1DEeiGjNQNAMgAaGgAcwCYCZGAEYmJhMJghpiaYCSQTTITCGgTSfqJ5TCanqA
aA0A9I8RPn0XEXyd062HO3Xz6vi6fl1S+mHTtlllW4xXUgoztHOgxM+FgknJFgyun5caFvP1VNk8
+sp6ZBvwbRhmZh8WFNLSZF9h+y/E3eUY9G8rp4uYLJUXsBXdNA+U4CozHoUe2rXVlNPwUnHaM5RV
miB/OVkmnrRRaZkYGM8JD1M7iuUj5mSHK2twP5M1ZtiOYYhqttib9h5zbL1755YM2oh3HX1tPMCD
hyZkxsaSOImNgfGB9TYhqMEjMHAZeKQ9IqxSLPcA2uJ02IJU4SRXE+T9oWR3HF3NG1BACTTR717D
f342l7zAvodYCgvu68cREz8a/eS16RZtxwds7gn3AOo1kEsIFOdIqmBNqgN75D5gRDq9OSPGL6gI
WgzDMtb0hszgeugz79IF5TgnbPGu7DFlXC0DUGt9iVEZFpceGRkg6MSCStNyFPhuwxM2XAGIuAdg
+EgGWj2OMcJKvRKbHsQpxeSAUFRFEJCr24ZpAWogpV9aY62cTq6HMbPQBMuYwANmCCIQeWjbwLq4
QbNgzNOiBnMg6a5HF2JVWpEVtNekqzSJFcbEIRhbBJNRDI6TKH4ZxY+VBlApdiI3KVEkBEMXiWFG
SOw4otM3YBZefMOKGM0jEo1toWXJGZrdbIgkPcPLs73BGy8mWD8I07fZKLx1+FWeJQgbBxqmIuRe
4tCmQ8L2ykXJDgKOOSRcRop0uGJJCohEdVQKdaLHGY0mdkpTG0gpBa7lyXa8QmfPGFQ4NS0lFpFI
rTK1z4snEq7Du1q7953TuWiN6kmXOM4OorQRTZGGGY8vHZnRikQHfHdjV5ucjNGNS5GzuxBwHClj
lSItdVhOf628RfuoJ8nBIwYpx6UDqkc5GZoxurHoKnLgdEHBWgdZGKVEE18KFtyR+wVOf2mTLNNB
AwAxWSEuIx0LI/Clx5gDi6tI8zPRIqIgZEjQrxzN1//HWZIV0WQYdxEI9hNzJwfFIY16d5THobdX
AsCMwdxiiuwZeaRSvUMLfRVTMRxYKsiN7LLszXr4FhQMPGfJl7AegqHI3tv3nkQ3NNI1pD4BE8jq
Z3Hizri5FeGhBZRLBI2+QQK7udd0WhpZTBIcVksyLUiFHsazk4rWSK9g5OXJMj0O5F/Zyvh4Vmgx
AdQ7S0pNItRqci8heSMU8DRhgXakixC4MGNY1GSrcBy2HmcTFPZLyZsXlZ2vGMwGYuikMkmVSCRz
bmeAYhMtoU3NlEZRlWBIKHuot/eCk+gIu1IJFgJPw3fRDZFW/RXgPNQeazYtQbkZVDzJG89nnLOX
ArZMbC739EemR0r1sXYHYuCTMhyByBxuDgi43BKQagJoe8NyDM9RVmgrHHYOIIPFI+J3PIL6oLtO
0o3PbMvEZFDzWoF1BpqjmIQTx401IcfINAmJliHhMQlMdBGkydEpsnUCU2ME8gHYORImGTMFDkbL
tQXhrGZUIGZUDWuQ400sAp6QKxgtRYjQQ5UerCi2R3p5di+T9iDe4YIKaJ7WMA55FZqqvQ8pWWfY
A28B6vGHOAvNII7giTLUM5KNO2CkIn30HqtBbIk9FEgTtRDDED3HGcc1yocnb2oV4pBXUGvYuLUT
cUDXkKzahuRtTFOjJGFt4fLBQKMQoPOoQbV9B6DEOLCK5vOdxQjcSRWiCpYah9fwGYbBFdkQpo1N
nlzKvd2GugKzHIkbeKGJMgeoDx6IosAkoLkX1AURzGU4KEv/F3JFOFCQrgKzrg==

Attachment: signature.asc
Description: Digital signature


Reply to: