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

[SCM] Debian package checker branch, master, updated. 2.5.7-25-gef37ead



The following commit has been merged in the master branch:
commit ef37ead491d8e96bc1cd9605dcf73b8d07cae2c9
Author: Niels Thykier <niels@thykier.net>
Date:   Tue May 29 09:15:04 2012 +0200

    c/shared-libs: Fix FP "dev-pkg-without-shlib-symlink"
    
    Shared libs installed in /lib[/$MA] should have their dev symlink in
    /usr/lib[/$MA] and not in /lib[/$MA].
    
    Add Closes marker for #673109.
    
    Signed-off-by: Niels Thykier <niels@thykier.net>

diff --git a/checks/shared-libs b/checks/shared-libs
index d7c0227..c832448 100644
--- a/checks/shared-libs
+++ b/checks/shared-libs
@@ -244,6 +244,11 @@ for my $shlib_file (keys %SONAME) {
     } elsif (@devpkgs) {
         # -dev package - it needs a shlib symlink
         my $ok = 0;
+
+        # If the shared library is in /lib, we have to look for the dev symlink
+        # in /lib
+        $link_file = "usr/$link_file" unless $shlib_file =~ m,^usr/,;
+
         foreach my $devpkg (@devpkgs) {
             if (exists $devpkg->info->index->{$link_file}) {
                 $ok = 1;
diff --git a/debian/changelog b/debian/changelog
index 01f32b9..7db58a5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -27,6 +27,11 @@ lintian (2.5.8) UNRELEASED; urgency=low
   * checks/shared-libs:
     + [NT] Fix false positive "dev-pkg-without-shlib-symlink"
       for shared libraries using "libtool -release X.Y".
+      Thanks to Sven Joachim for the report.  (Closes: #673109)
+    + [NT] Fix false positive "dev-pkg-without-shlib-symlink"
+      for shared libraries installed in /lib.  Lintian now
+      correctly expects the dev-symlink beneath /usr/lib.
+      Thanks to Guillem Jover for the report.
   * checks/source-copyright:
     + [NT] Use the in-memory contents of the copyright file
       instead of re-reading the file when parsing it as a
diff --git a/t/tests/shared-libs-dev-symlink-fp/debian/debian/libfoo-1.install b/t/tests/shared-libs-dev-symlink-fp/debian/debian/libfoo-1.install
index 6aa979e..cb060ec 100644
--- a/t/tests/shared-libs-dev-symlink-fp/debian/debian/libfoo-1.install
+++ b/t/tests/shared-libs-dev-symlink-fp/debian/debian/libfoo-1.install
@@ -1 +1,2 @@
+lib/libbar-1.so
 usr/lib/libfoo-1.so
diff --git a/t/tests/shared-libs-dev-symlink-fp/debian/debian/libfoo-1.symbols b/t/tests/shared-libs-dev-symlink-fp/debian/debian/libfoo-1.symbols
index 96f3722..910a1e5 100644
--- a/t/tests/shared-libs-dev-symlink-fp/debian/debian/libfoo-1.symbols
+++ b/t/tests/shared-libs-dev-symlink-fp/debian/debian/libfoo-1.symbols
@@ -1,3 +1,7 @@
 libfoo-1.so libfoo-1 #MINVER#
  e@Base 1.0
  energy@Base 0.9
+
+libbar-1.so libfoo-1 #MINVER#
+ e@Base 1.0
+ energy@Base 0.9
diff --git a/t/tests/shared-libs-dev-symlink-fp/debian/debian/libfoo-dev.install b/t/tests/shared-libs-dev-symlink-fp/debian/debian/libfoo-dev.install
index 6391297..ed7b146 100644
--- a/t/tests/shared-libs-dev-symlink-fp/debian/debian/libfoo-dev.install
+++ b/t/tests/shared-libs-dev-symlink-fp/debian/debian/libfoo-dev.install
@@ -1,2 +1,3 @@
 usr/include
+usr/lib/libbar.so
 usr/lib/libfoo.so
diff --git a/t/tests/shared-libs-dev-symlink-fp/upstream/Makefile b/t/tests/shared-libs-dev-symlink-fp/upstream/Makefile
index 65a5f19..decdff1 100644
--- a/t/tests/shared-libs-dev-symlink-fp/upstream/Makefile
+++ b/t/tests/shared-libs-dev-symlink-fp/upstream/Makefile
@@ -2,8 +2,9 @@ CC=gcc
 CFLAGS+= -fPIC
 
 SONAME:= libfoo-1.so
-DEVSYMLINK:=$(shell echo $(SONAME) | perl -pe 's:-[\d\.]*\.so$$:\.so:')
-LIBFILES:=$(SONAME)
+LSONAME:= libbar-1.so
+devsymlink=$(shell echo $(1) | perl -pe 's:-[\d\.]*\.so$$:\.so:')
+LIBFILES:=$(SONAME) $(LSONAME)
 
 all: $(LIBFILES)
 
@@ -14,11 +15,13 @@ clean:
 	rm -f *.a *.o *.so*
 
 install: all
-	echo $(SONAME) -- $(DEVSYMLINK)
+	install -m 0755 -d $(DESTDIR)/lib
 	install -m 0755 -d $(DESTDIR)/usr/lib
 	install -m 0755 -d $(DESTDIR)/usr/include
+	install -m 0644 $(LSONAME) $(DESTDIR)/lib
 	install -m 0644 $(SONAME) $(DESTDIR)/usr/lib
-	ln -s $(SONAME) $(DESTDIR)/usr/lib/$(DEVSYMLINK)
+	ln -s /lib/$(LSONAME) $(DESTDIR)/usr/lib/$(call devsymlink,$(LSONAME))
+	ln -s $(SONAME) $(DESTDIR)/usr/lib/$(call devsymlink,$(SONAME))
 	install -m 0644 code.h $(DESTDIR)/usr/include
 
 .PHONY: install clean

-- 
Debian package checker


Reply to: