Pyramid
Updated 2,079 Days AgoPublic

This operation is about replacing dh with dhmk and bumping our debhelper compat level to 11 following Debian.

Debian dhmk -> dh move

Debian replaced dhmk with dh, see:

Side effects of this change in Kubuntu

Because of our customized pkg-kde-tools/dhmk we have something like this in each and every of our build logs:

=== Start list-missing
<missing files list here, if any>
=== End list-missing
dpkg-genchanges > ../.pkg-kde-lintian.changes
dpkg-genchanges: info: including full source code in upload
=== Start lintian
<lintian warnings here, if any>
=== End lintian

Our packaging status reports (generated by ppa-build-status and tritemio-build-status) and our CI expect those markers to do their job, therefore if we do the dhmk -> dh move right now we may cause some malfunctioning in our information tools, example:

We could also get other unexpected side effects; for instance baloo is failing its autopkgtests only when built with dh and debhelper compat level 11.

Short term plan

The general idea is moving away from dhmk to not have an excessive delta with other distributions. In order to avoid inminent problems and buy some time to figure out a proper solution, we decided to not move away from dhmk yet, keeping this partcular change out of our Debian merges for now.

We also decided to keep the debhelper compat level to 9 along with dhmk usage and we would switch to 11 once we have ported our rules files to dh. Why? Because, as we can see in the mails linked above, dhmk is no longer properly maintained, therefore switching to compat level 11 might trigger some dhmk malfunctioning.

Proposed long term solution

In order to restore the == Start/End list-missing/lintian markers in our build logs we can change the pkg-kde-tools 'kf5' sequencer add-on to provide those markers. See the diff of the proposed changes. These changes are available in the kubuntu_cosmic_staging branch of our pkg-kde-tools git repository.

The effects of these changes would be the following:

  • KDE packages still using dhmk will keep list-missing and lintian markers in their build logs.
  • KDE packages using dh with the 'kf5' add-on will gain those markers.
  • Our debian/not-installed files must be ported to be compatible with dh_mising; this is a good thing since it will reduce our delta with other distributions.

Let's dig a little bit into the debian/not-installed files details: right now, the dhmk-compatible not-installed files have one file per line, each one starting with ./, for instance, kservice's `debian/not-installed file:

#installed by libkf5service-bin.manpages and libkf5service-dev.manpages
./usr/share/man/man8/desktoptojson.8
./usr/share/man/man8/kbuildsycoca5.8
./usr/share/man/*/man8/desktoptojson.8
./usr/share/man/*/man8/kbuildsycoca5.8

However, dh_missing won't understand that format, so we would need to change it to be:

#installed by libkf5service-bin.manpages and libkf5service-dev.manpages
usr/share/man/man8/desktoptojson.8
usr/share/man/man8/kbuildsycoca5.8
usr/share/man/*/man8/desktoptojson.8
usr/share/man/*/man8/kbuildsycoca5.8

Related workboard tasks

Last Author
joselema
Projects
None
Subscribers
None

Document Hierarchy