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

r5959 - in glibc-package/trunk/debian: . debhelper.in



Author: aurel32
Date: 2014-02-23 11:30:28 +0000 (Sun, 23 Feb 2014)
New Revision: 5959

Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/debhelper.in/libc.preinst
Log:
debian/debhelper.in/libc.preinst: Disable ldconfig when a potentially
broken dynamic loader symlink is found. This happens when a biarch
package of the same architecture than the native one has been installed
(e.g.: libc6-amd64:i386 on amd64) and ldconfig is run afterwards.

Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2014-02-23 00:00:27 UTC (rev 5958)
+++ glibc-package/trunk/debian/changelog	2014-02-23 11:30:28 UTC (rev 5959)
@@ -6,6 +6,10 @@
   * any/local-ldconfig-ignore-ld.so.diff: new patch to ignore the dynamic
     linker in ldconfig.  Closes: #699206, #707185, #727786, #736097,
     #739734, #739758.
+  * debian/debhelper.in/libc.preinst: Disable ldconfig when a potentially
+    broken dynamic loader symlink is found. This happens when a biarch
+    package of the same architecture than the native one has been installed
+    (e.g.: libc6-amd64:i386 on amd64) and ldconfig is run afterwards.
 
   [ Petr Salinger ]
   * kfreebsd/local-sysdeps.diff: update to revision 5443 (from glibc-bsd).

Modified: glibc-package/trunk/debian/debhelper.in/libc.preinst
===================================================================
--- glibc-package/trunk/debian/debhelper.in/libc.preinst	2014-02-23 00:00:27 UTC (rev 5958)
+++ glibc-package/trunk/debian/debhelper.in/libc.preinst	2014-02-23 11:30:28 UTC (rev 5959)
@@ -300,6 +300,20 @@
             exit 1
         fi
     fi
+
+    # ldconfig might have broken the ld.so symlink in case a biarch package
+    # of the same architecture than the native one has been installed (e.g.:
+    # libc6-amd64:i386 on amd64). Try to detect this by checking that the 
+    # ld.so symlink correctly points to ld-*.so in the slib directory, and 
+    # disable ldconfig in such a case. The symlink will be fixed when 
+    # unpacking the new libc version and ldconfig will be re-enabled when
+    # a new fixed version is unpacked.
+    if ! readlink -e RTLD_SO | grep -qE 'SLIBDIR/ld-[0-9.]+\.so' ; then
+        echo "Warning: found a potentially broken dynamic loader symlink,"
+	echo "disabling ldconfig to avoid a possible system breakage. It"
+	echo "will be reenabled when a new version of libc-bin is unpacked." 
+	ln -sf /bin/true /sbin/ldconfig.real
+    fi
 fi
 
 if [ "$type" != abort-upgrade ]


Reply to: