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: