Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

I identified three packages that don't ship a SONAME symlink and cause
spurious creation and removal of this link by ldconfig. Spurious since
the packages themselves don't call ldconfig, so another installation
will trigger the ldconfig run - 2 seconds or 2 months later.

As this makes the (dis-)appearance nondeterministic, this could produce
heisenbugs that will be hard to debug. So better ship the link in the
package and let dpkg instead of ldconfig manage creation/removal.

libusb-dev is one of them (#706278), due to the
/usr/lib/<triplet>/libusb.so -> /lib/<triplet>/libusb-0.1.so.4.4.4 link.
The SONAME is libusb-0.1.so.4 and ldconfig will create
/usr/lib/<triplet>/libusb-0.1.so.4 -> libusb.so

The attached patch adds this link to the libusb-dev package:
/usr/lib/<triplet>/libusb-0.1.so.4 > /lib/<triplet>/libusb-0.1.so.4

As libusb builds an udeb, too, this will probably have to wait for r1.

libusb currently has a non-standard NMU version, we could fix this into
0.1.12-20.1 (or 0.1.12-20.2), but using the more canonical +deb7u1
suffix will be difficult. So I just incremented the "bad" version.


Andreas

unblock libusb/0.1.12-20+nmu2
diff -Nru libusb-0.1.12/debian/changelog libusb-0.1.12/debian/changelog
--- libusb-0.1.12/debian/changelog	2012-09-22 16:02:30.000000000 +0200
+++ libusb-0.1.12/debian/changelog	2013-04-27 18:22:54.000000000 +0200
@@ -1,3 +1,12 @@
+libusb (2:0.1.12-20+nmu2) testing; urgency=low
+
+  * Non-maintainer upload.
+  * libusb-dev: Ship /usr/lib/<triplet>/libusb-0.1.so.4 ->
+    /lib/<triplet>/libusb-0.1.so.4 symlink to prevent spurious creation of
+    that SONAME link by ldconfig.  (Closes: #706278)
+
+ -- Andreas Beckmann <a...@debian.org>  Sat, 27 Apr 2013 18:16:00 +0200
+
 libusb (2:0.1.12-20+nmu1) testing-proposed-updates; urgency=low
 
   * Non-maintainer upload.
diff -Nru libusb-0.1.12/debian/libusb-dev.install libusb-0.1.12/debian/libusb-dev.install
--- libusb-0.1.12/debian/libusb-dev.install	2011-07-16 12:59:12.000000000 +0200
+++ libusb-0.1.12/debian/libusb-dev.install	2013-04-27 18:15:47.000000000 +0200
@@ -1,5 +1,6 @@
 usr/bin/libusb-config
 usr/include/usb.h
 usr/lib/*/libusb.a
+usr/lib/*/libusb-0.1.so.4
 usr/lib/*/libusb.so
 usr/lib/*/pkgconfig/libusb.pc
diff -Nru libusb-0.1.12/debian/rules libusb-0.1.12/debian/rules
--- libusb-0.1.12/debian/rules	2011-12-31 01:56:04.000000000 +0100
+++ libusb-0.1.12/debian/rules	2013-04-27 18:34:34.000000000 +0200
@@ -147,6 +147,8 @@
 	   $(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)
 	ln -sf /lib/$(DEB_HOST_MULTIARCH)/libusb-0.1.so.4.4.4 \
 	       $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libusb.so
+	ln -sf /lib/$(DEB_HOST_MULTIARCH)/libusb-0.1.so.4 \
+	       $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libusb-0.1.so.4
 
 	# Move all files in their corresponding package
 	dh_install -s -Nlibusb-0.1-udeb --list-missing --sourcedir=debian/tmp

Reply via email to