<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Hi,</p>
<p> <p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">thanks for your detailed feedback, that’s appreciated.</p>
<p> <p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Le dimanche 28 juin 2020, 15:27:34 CEST Pino Toscano a écrit :</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> Hi,</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> In data giovedì 18 giugno 2020 00:17:41 CEST, Aurélien COUDERC ha scritto:</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> > I’m working on updating kompare and would like to move the build to using</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> > the dh sequencer.</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> > </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> > However the current d/rules uses this:</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> >   libpkgs_gen_strict_local_shlibs = $(libpkgs_all_packages)</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> >   include /usr/share/pkg-kde-tools/qt-kde-team/3/library-packages.mk</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> This can stay.</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> > Question is how can I reproduce this behaviour with pure dh ?</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> > Any existing examples ?</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> override_dh_gencontrol: libpkgs_gen_strict_local_shlibs</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">>         dh_gencontrol</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> Or restricted to only arch binaries, in case the source has both:</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> </p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> override_dh_gencontrol-arch: libpkgs_gen_strict_local_shlibs</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">>         dh_gencontrol -a</p>
<p> <p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Will do thanks for the examples.</p>
<p> <p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> In any case: when you find such setup, please keep it even without</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> dhmk: having a strict dependencies between binaries of the same source</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> avoids version mismatches that lead to issues in the past.</p>
<p> <p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Yes, that’s precisely why I’m asking. :-)</p>
<p> <p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> Strictly speaking, you can do this without this makefile snippet;</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> however there are two downsides:</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> - you have to copy&paste the strict dependencies in all the binaries</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">> - you hardcode the strict library dependencies, which means that if a</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">>   binary either gains a dependency on another binary of the same source</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">>   or it loses it, you have to update things manually; example:</p>
<p> <p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Indeed, that second drawback was making me uncomfortable switching away from this, as it would add maintenance overhead and risks of dependency relations bugs that would be hard to catch.</p>
<p> <p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Bonus question : why do we need libkompareinterface5 and libkompareinterface-dev in the first place ?</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Cannot we ship all the binaries in kpart5-kompare the same way konsole-kpart does and skip shipping the headers entirely ?</p>
<p> <p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">I had a casual look at the code in both cases but couldn’t make enough sense as to why we would need this difference.</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">I could find how yakuake uses konsole’s kpart just requesting the provided service by it’s name, but there is no use of kpart5-kompare in the archive so I don’t know if it’s really different, deeply broken or just a packaging artefact.</p>
<p> <p> <p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Happy hacking !</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">--</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Aurélien</p>
<p> <p> <p> </body>
</html>