Your message dated Wed, 09 Apr 2008 19:17:03 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#474079: fixed in dpkg 1.14.18
has caused the Debian Bug report #474079,
regarding /usr/bin/dpkg-shlibdeps: Wrong shlibs when linking a library without 
using its symbols
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)


-- 
474079: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=474079
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: dpkg-dev
Version: 1.14.16.6
Severity: important
File: /usr/bin/dpkg-shlibdeps

When a binary links against a library without using its symbols, and the
library is in a package providing .symbols file, dpkg-shlibdeps does put
a reference to the package in shlibs, but without a version number.

e.g.
$ dpkg-shlibdeps -v debian/libnss3-1d/usr/bin/test 
Scanning debian/libnss3-1d/usr/bin/test (for Depends field)
Library libxml2.so.2 found in /usr/lib/libxml2.so.2
Library libc.so.6 found in /lib/libc.so.6
Looking up shlibs dependency of libc.so.6 provided by 'libc6'
Found libc6 (>= 2.7-1) in /var/lib/dpkg/info/libc6.shlibs
Using symbols file /var/lib/dpkg/info/libxml2.symbols for libxml2.so.2
dpkg-shlibdeps: warning: debian/libnss3-1d/usr/bin/test shouldn't be linked 
with libxml2.so.2 (it uses none of its symbols).

$ cat debian/substvars 
shlibs:Depends=libxml2 , libc6 (>= 2.7-1)

This is what happens without symbols file:
$ dpkg-shlibdeps -v debian/libnss3-1d/usr/bin/test 
Scanning debian/libnss3-1d/usr/bin/test (for Depends field)
Library libxslt.so.1 found in /usr/lib/libxslt.so.1
Library libc.so.6 found in /lib/libc.so.6
Looking up shlibs dependency of libc.so.6 provided by 'libc6'
Found libc6 (>= 2.7-1) in /var/lib/dpkg/info/libc6.shlibs
Looking up shlibs dependency of libxslt.so.1 provided by 'libxslt1.1'
Found libxslt1.1 (>= 1.1.18) in /var/lib/dpkg/info/libxslt1.1.shlibs
dpkg-shlibdeps: warning: debian/libnss3-1d/usr/bin/test shouldn't be linked 
with libxslt.so.1 (it uses none of its symbols).

$ cat debian/substvars
shlibs:Depends=libc6 (>= 2.7-1), libxslt1.1 (>= 1.1.18)

While this is not really a problem in such a simple case, it can become
problematic when library packages contain several different libraries,
one of which was not in previous versions of the package.

This is what happens in #474007: /usr/lib/purple-2/ssl-nss.so is linked
against libnssutil3 without using any of its symbols, but libnssutil3
doesn't exist before version 3.7.0~beta2-1 of the libnss3-1d package.

So dpkg-shlibdeps calculates the version dependency without taking into
account libnssutil3 and ends up writing a dependency on older versions,
which don't contain libnssutil3.

Surely, the nss.pc file could be enhanced to do the right thing, but that
won't prevent people linking against libnssutil3 anyways. And strangely,
in this case, -Wl,--as-needed *is* being used when linking
/usr/lib/purple-2/ssl-nss.so, but sadly, it still keeps the dependency
on libnssutil3 while not using its symbols.

Anyways, I think when using no symbol, the minimum version of all symbols
from the library should be used instead of not version. Or maybe the
symbols file should be ignored and the standard shlibs used.

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.24-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages dpkg-dev depends on:
ii  binutils            2.18.1~cvs20080103-3 The GNU assembler, linker and bina
ii  bzip2               1.0.5-0.1            high-quality block-sorting file co
ii  cpio                2.9-12               GNU cpio -- a program to manage ar
ii  dpkg                1.14.16.6            package maintenance system for Deb
ii  libtimedate-perl    1.1600-9             Time and date functions for Perl
ii  lzma                4.43-12              Compression method of 7z format in
ii  make                3.81-3.1             The GNU version of the "make" util
ii  patch               2.5.9-4              Apply a diff file to an original
ii  perl [perl5]        5.8.8-12             Larry Wall's Practical Extraction 
ii  perl-modules        5.8.8-12             Core Perl modules

Versions of packages dpkg-dev recommends:
ii  build-essential               11.3       informational list of build-essent
ii  gcc [c-compiler]              4:4.2.3-6  The GNU C compiler
ii  gcc-4.1 [c-compiler]          4.1.2-21   The GNU C compiler
ii  gcc-4.2 [c-compiler]          4.2.3-3    The GNU C compiler

-- no debconf information



--- End Message ---
--- Begin Message ---
Source: dpkg
Source-Version: 1.14.18

We believe that the bug you reported is fixed in the latest version of
dpkg, which is due to be installed in the Debian FTP archive:

dpkg-dev_1.14.18_all.deb
  to pool/main/d/dpkg/dpkg-dev_1.14.18_all.deb
dpkg_1.14.18.dsc
  to pool/main/d/dpkg/dpkg_1.14.18.dsc
dpkg_1.14.18.tar.gz
  to pool/main/d/dpkg/dpkg_1.14.18.tar.gz
dpkg_1.14.18_i386.deb
  to pool/main/d/dpkg/dpkg_1.14.18_i386.deb
dselect_1.14.18_i386.deb
  to pool/main/d/dpkg/dselect_1.14.18_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Guillem Jover <[EMAIL PROTECTED]> (supplier of updated dpkg package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Tue, 08 Apr 2008 07:00:10 +0300
Source: dpkg
Binary: dpkg dpkg-dev dselect
Architecture: source i386 all
Version: 1.14.18
Distribution: unstable
Urgency: low
Maintainer: Dpkg Developers <[EMAIL PROTECTED]>
Changed-By: Guillem Jover <[EMAIL PROTECTED]>
Description: 
 dpkg       - package maintenance system for Debian
 dpkg-dev   - package building tools for Debian
 dselect    - user tool to manage Debian packages
Closes: 473449 473498 473523 473726 474079 474417
Changes: 
 dpkg (1.14.18) unstable; urgency=low
 .
   [ Guillem Jover ]
   * Bump po4a version in Build-Depends to 0.33.1-1, as usage of UTF-8
     in original man pages was causing build failures. Closes: #473498
   * Add triggers documentation to dpkg-dev. Closes: #473449
   * Add deb-triggers.5 and dpkg-trigger.1 man pages, and document new
     statuses and options in dpkg.1.
 .
   [ Raphael Hertzog ]
   * When dpkg-source builds a source package of Format: 2.0 or 3.0 (quilt) it
     applies the patches before the build if
     debian/patches/.dpkg-source-applied doesn't exist. This file is created
     during extraction if patches are applied, and is auto-excluded from the
     debian tarball. This enables on-the-fly conversion of source packages from
     Format: 1.0 to Format: 3.0 (quilt) without manual intervention of the
     user. This feature can be disabled with the option --no-preparation.
   * The dpkg-source option --skip-patches disables application of patches
     during extraction of source packages using Format: 2.0 or Format: 3.0
     (quilt).
   * Ensure the Files field is last in *.dsc and *.changes. This is a
     work-around for some braindead dsc parsers (dupload and sbuild for
     instance, see #473518 and #470440).
   * Initialize dependencies for libraries having symbols files with the
     smallest minimal version listed in the symbols file instead of using
     an unversioned dependency. It's the only way to ensure the library
     presence if it wasn't available in all versions of the package that ever
     existed. Closes: #474079
   * Don't use the -p option of diff for Format: 1.0 source packages.
     dpkg-source of sarge doesn't accept data after @@. Closes: #474417
 .
   [ Updated dselect translations ]
   * German. (Sven Joachim).
   * Swedish (Peter Karlsson).
 .
   [ Updated dpkg translations ]
   * Portuguese (Miguel Figueiredo).
   * Simplified Chinese (Deng Xiyue). Closes: #473523
   * Swedish (Peter Karlsson).
   * Vietnamese (Clytie Siddall). Closes: #473726
 .
   [ Updated manpages translations ]
   * German (Helge Kreutzmann).
   * Swedish (Peter Karlsson).
 .
   [ Updated scripts translations ]
   * German (Helge Kreutzmann).
   * Swedish (Peter Karlsson).
Files: 
 0b779c7f9d9f5d6aafdbbe5049561044 1042 admin required dpkg_1.14.18.dsc
 e11aa8988e93dffd4dd879f09bcc8c28 6484489 admin required dpkg_1.14.18.tar.gz
 b10d911c497168022c9a8741ba8a9d2b 2155164 admin required dpkg_1.14.18_i386.deb
 c1e7e705fd30d8f4a7b5003f3a2869c9 755332 admin optional dselect_1.14.18_i386.deb
 013650eff260efc951283c5e661809f3 660746 utils optional dpkg-dev_1.14.18_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Signed by Raphael Hertzog

iD8DBQFH/RFPvPbGD26BadIRAjN9AJoDxVQdKV786BEqXbY/5vxt5JqqXQCgoko4
VQKkh0qWWGWXUCDiZOiNA7g=
=26zE
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to