Package: debhelper
Version: 12.2.3
Severity: normal
I recently converted src:glib2.0 to compat level 12. glib2.0 is unusual
in a couple of ways:
- multiple shared libraries lib{glib,gobject,gio,...}-2.0.so.0 are bundled
into a single binary package libglib2.0-0
- it has a corresponding udeb, libglib2.0-udeb, with the same libraries
This seems to result in the following sequence of events (disregarding
non-shared-library packages and irrelevant steps):
- dh_install copies shared libraries into libglib2.0-0 and libglib2.0-udeb
- dh_dwz acts on libglib2.0-0 and libglib2.0-udeb
- creates a multifile in debian/libglib2.0-0/usr/lib/debug/.dwz
- creates a multifile in debian/libglib2.0-udeb/usr/lib/debug/.dwz
- compresses all other debug symbols embedded in the shared libraries
- dh_strip acts on libglib2.0-0
- moves debian/libglib2.0-0/usr/lib/debug/.dwz to debian/libglib2.0-0-dbgsym
- detaches debug symbols from libglib2.0-0 shared libraries
- dh_strip doesn't delete usr/lib/debug/.dwz from debian/libglib2.0-udeb
because that's part of a code path that isn't used for udebs
- libglib2.0-udeb ends up containing /usr/lib/debug/.dwz
- the udeb is larger than it ought to be and triggers Lintian warnings
Either dh_dwz shouldn't act on udebs (because it's a waste of time because
dh_strip will discard the debugging symbols anyway), or dh_strip should
delete the multifiles from udebs even though it isn't going to generate
a -dbgsym package (or dh_strip should generate -dbgsym packages for udebs,
but #797391 says that's problematic).
Thanks,
smcv