Moving kompare build to dh sequencer and libpkgs_gen_strict_local_shlibs

Pino Toscano pino at debian.org
Sun Jun 28 14:27:34 BST 2020


Hi,

In data giovedì 18 giugno 2020 00:17:41 CEST, Aurélien COUDERC ha scritto:
> I’m working on updating kompare and would like to move the build to using the dh
> sequencer.
> 
> However the current d/rules uses this:
>   libpkgs_gen_strict_local_shlibs = $(libpkgs_all_packages)
>   include /usr/share/pkg-kde-tools/qt-kde-team/3/library-packages.mk

This can stay.

> Question is how can I reproduce this behaviour with pure dh ?
> Any existing examples ?

override_dh_gencontrol: libpkgs_gen_strict_local_shlibs
        dh_gencontrol

Or restricted to only arch binaries, in case the source has both:

override_dh_gencontrol-arch: libpkgs_gen_strict_local_shlibs
        dh_gencontrol -a

In any case: when you find such setup, please keep it even without
dhmk: having a strict dependencies between binaries of the same source
avoids version mismatches that lead to issues in the past.
Strictly speaking, you can do this without this makefile snippet;
however there are two downsides:
- you have to copy&paste the strict dependencies in all the binaries
- you hardcode the strict library dependencies, which means that if a
  binary either gains a dependency on another binary of the same source
  or it loses it, you have to update things manually; example:

Package: libfoo1

Package: libfoo2
Depends: libfoo1 (= ${binary:Version})

Package: bin1
Depends: libfoo1 (= ${binary:Version})

if tomorrow libfoo2 or bin1 stop using libfoo1, then your dependency
will still be there (OK, not a big issue); coversely, if libfoo2 did not
have the strict dependency on libfoo1 and it starts to use it, you have
to manually add it, which is not ideal either.

> Also diffoscoping the existing packages and my new builds I noticed the
> following diffs in shlibs:
> - for kpart5-kompare:
> │ │ ├── ./shlibs
> │ │ │ @@ -1 +1 @@
> │ │ │ -libkomparedialogpages 5 kpart5-kompare
> │ │ │ +libkomparedialogpages 5 kpart5-kompare (>= 4:20.04.2)
> - for libkompareinterface5:
> │ │ ├── ./shlibs
> │ │ │ @@ -1 +1 @@
> │ │ │ -libkompareinterface 5 libkompareinterface5
> │ │ │ +libkompareinterface 5 libkompareinterface5 (>= 4:20.04.2)
> 
> I guess this is due to the change explained in DH_MAKESHLIBS(1):
>   In compat 12 and later, dh_makeshlibs defaults to -VUpstream-Version.  In
>   compat 11 and earlier the default behaved like -VNone.
> 
> Is it something I should worry about ?
> Should I override it with dh_makeshlibs -VNone ?

No, this is fine.

-- 
Pino Toscano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <http://alioth-lists.debian.net/pipermail/pkg-kde-talk/attachments/20200628/6f8ddbbf/attachment.sig>


More information about the pkg-kde-talk mailing list