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

Ubuntu dpkg 1.14.12ubuntu4



This e-mail has been sent due to an upload to Ubuntu that contains Ubuntu
changes.  It contains the difference between the new version and the
previous version of the same source package in Ubuntu.
Format: 1.7
Date: Fri, 04 Jan 2008 08:33:24 +0000
Source: dpkg
Binary: dpkg dselect dpkg-dev
Architecture: source
Version: 1.14.12ubuntu4
Distribution: hardy
Urgency: low
Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Changed-By: Matthias Klose <doko@ubuntu.com>
Description: 
 dpkg       - package maintenance system for Debian
 dpkg-dev   - package building tools for Debian
 dselect    - user tool to manage Debian packages
Launchpad-Bugs-Fixed: 177917
Changes: 
 dpkg (1.14.12ubuntu4) hardy; urgency=low
 .
   * Cherry pick from current trunk:
     - Fix dpkg-shlibdeps choosing bad symbols files when there are several
       providing the same soname. LP: #177917.
Files: 
 a10f823970be98117959cdfb8545fcfa 1101 admin required dpkg_1.14.12ubuntu4.dsc
 a9fc3c082a0cca8cd728be4acfaaeb3a 6452839 admin required dpkg_1.14.12ubuntu4.tar.gz
Original-Maintainer: Dpkg Developers <team@dpkg.org>
diff -pruN 1.14.12ubuntu3/debian/changelog 1.14.12ubuntu4/debian/changelog
--- 1.14.12ubuntu3/debian/changelog	2007-12-13 23:26:53.000000000 +0000
+++ 1.14.12ubuntu4/debian/changelog	2008-01-04 08:36:40.000000000 +0000
@@ -1,3 +1,11 @@
+dpkg (1.14.12ubuntu4) hardy; urgency=low
+
+  * Cherry pick from current trunk:
+    - Fix dpkg-shlibdeps choosing bad symbols files when there are several
+      providing the same soname. LP: #177917.
+
+ -- Matthias Klose <doko@ubuntu.com>  Fri, 04 Jan 2008 08:33:24 +0000
+
 dpkg (1.14.12ubuntu3) hardy; urgency=low
 
   * Move lzma from Suggests to Pre-Depends for dpkg.
diff -pruN 1.14.12ubuntu3/scripts/dpkg-shlibdeps.pl 1.14.12ubuntu4/scripts/dpkg-shlibdeps.pl
--- 1.14.12ubuntu3/scripts/dpkg-shlibdeps.pl	2007-11-29 09:42:21.000000000 +0000
+++ 1.14.12ubuntu4/scripts/dpkg-shlibdeps.pl	2008-01-04 08:37:46.000000000 +0000
@@ -149,7 +149,7 @@ foreach my $file (keys %exec) {
 	    my $dpkg_symfile;
 	    if ($packagetype eq "deb") {
 		# Use fine-grained dependencies only on real deb
-		$dpkg_symfile = find_symbols_file($pkg, $soname);
+		$dpkg_symfile = find_symbols_file($pkg, $soname, $lib);
 		if (defined $dpkg_symfile) {
 		    # Load symbol information
 		    print "Using symbols file $dpkg_symfile for $soname\n" if $debug;
@@ -456,12 +456,24 @@ sub extract_from_shlibs {
 }
 
 sub find_symbols_file {
-    my ($pkg, $soname) = @_;
-    foreach my $file (@pkg_symbols,
-	"/etc/dpkg/symbols/$pkg.symbols.$host_arch",
-	"/etc/dpkg/symbols/$pkg.symbols",
-	"$admindir/info/$pkg.symbols")
-    {
+    my ($pkg, $soname, $libfile) = @_;
+    my @files;
+    if ($pkg eq "") {
+	# If the file is not packaged, try to find out the symbols file in
+	# the package being built where the lib has been found
+	my $pkg_root = guess_pkg_root_dir($libfile);
+	if (defined $pkg_root) {
+	    push @files, "$pkg_root/DEBIAN/symbols";
+	} else {
+	    push @files, @pkg_symbols;
+	}
+    } else {
+	push @files, "/etc/dpkg/symbols/$pkg.symbols.$host_arch",
+	    "/etc/dpkg/symbols/$pkg.symbols",
+	    "$admindir/info/$pkg.symbols";
+    }
+    
+    foreach my $file (@files) {
 	if (-e $file and symfile_has_soname($file, $soname)) {
 	    return $file;
 	}

Reply to: