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

Bug#895949: lintian: warn about packages with udebs but no udeb line in shlibs



Package: lintian
Version: 2.5.82
Severity: wishlist

Hi,

(d-i's RM / debian-boot@ Cc'ed.)

A package that builds a udeb and ships a shared library ought to include that
udeb in the respective shared libraries' shlibs. This is achieved by passing
the --add-udeb option to dh_makeshlibs. A broken package could look like this:

 Package: libxft2
 Source: xft

contents:
-rw-r--r-- root/root     89544 2018-04-17 20:11 ./usr/lib/x86_64-linux-gnu/libXft.so.2.3.2

shlibs:
libXft 2 libxft2 (>> 2.1.1)

And the respective udeb:

 Package: libxft2-udeb
 Source: xft

contents:
-rw-r--r-- root/root     89416 2018-04-17 20:11 ./usr/lib/libXft.so.2.3.2
lrwxrwxrwx root/root         0 2018-04-17 20:11 ./usr/lib/libXft.so.2 -> libXft.so.2.3.2

This is broken because udebs that depend on libXft.so.2 will gain a dependency
on libxft2 rather than libxft2-udeb, making that udeb uninstallable. To fix that,
with the --add-udeb=libxft2-udeb option, libxft2's shlibs would look like this:

libXft 2 libxft2 (>> 2.1.1)
udeb: libXft 2 libxft2-udeb (>> 2.1.1)

Note that the deb and the udeb don't need to match 1:1. There may be several
debs with different shared libraries, and one udeb with all of them. In that
case, for each library in the udeb, the corresponding package that ships it
in a deb needs to have an appropriate udeb line. See src:pango1.0 for an
example.

A lintian error could save some problems in d-i by preventing these problems
(that error could be turned into an archive auto-reject).

Cheers,
Emilio


Reply to: