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

Reply via email to