[Pkg-kde-extras] Bug#618747: Please clean dependency_libs from libexiv2.la at build-time
Steve Langasek
steve.langasek at canonical.com
Fri Mar 18 07:53:02 UTC 2011
Package: exiv2
Version: 0.21.1-1
Severity: important
Tags: patch
User: vorlon at debian.org
Usertags: multiarch
Hi folks,
The libexiv2-dev package includes a .la file that has a non-null
dependency_libs field. This means that when any other libtool-using
software builds against libexiv2 in Debian, it has to traverse the .la files
for all the other libraries listed here; and in some cases the
reverse-dependencies pick up unnecessary library dependencies as a result.
Debian Policy 10.2 recommends blanking out this dependency_libs field from
.la files that you install:
Packages that use `libtool' to create and install their shared
libraries install a file containing additional metadata (ending in
`.la') alongside the library. For public libraries intended for use
by other packages, these files normally should not be included in the
Debian package, since the information they include is not necessary to
link with the shared library on Debian and can add unnecessary
additional dependencies to other programs or libraries.[6] If the
`.la' file is required for that library (if, for instance, it's loaded
via `libltdl' in a way that requires that meta-information), the
`dependency_libs' setting in the `.la' file should normally be set to
the empty string. If the shared library development package has
historically included the `.la', it must be retained in the
development package (with `dependency_libs' emptied) until all
libraries that depend on it have removed or emptied `dependency_libs'
in their `.la' files to prevent linking with those other libraries
using `libtool' from failing.
This becomes a practical issue soon because of multiarch; once multiarch
lands in the archive, libexpat, which has an .la file referenced by
libexiv2.la, will move directories, making packages fail to build if they
try to find /usr/lib/libexpat.la at build time. So I would suggest applying
the attached patch to exiv2, before multiarch forces the issue.
This patch, by Fabrice Coutadeur <fabricesp at ubuntu.com>, has already been
applied in Ubuntu, with the following changelog entry:
* debian/rules: delete the content of dependency_libs in la file to avoid
having to rebuild this package if the path of the libs changes. This fixes
also FTBFS in packages that b-d on libexiv2-dev because of incorrect
reference of libexpat.la. (LP: #737340)
Thanks,
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
slangasek at ubuntu.com vorlon at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tmpGo2fUj
Type: text/x-diff
Size: 691 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-kde-extras/attachments/20110318/501a9af3/attachment.diff>
More information about the pkg-kde-extras
mailing list