On Thu, Aug 27, 2015 at 11:05:30PM +0300, Niko Tyni wrote: > Package: libperl5.22 > Version: 5.22.0-3 > Severity: important > > Now that libperl5.22 is Multi-Arch:same, I believe we need to add special > treatment to binNMU changelogs in the same vein as dh_installchangelogs > does (see #708218): break architecture specific binary changelog entries > out into separate files with an arch-qualified path. Otherwise the > binNMU'd packages will have different contents for an arch-indep > file (/usr/share/doc/libperl5.22/changelog.Debian.gz), preventing > co-installability. > > See the thread at https://lists.debian.org/debian-dpkg/2012/07/msg00017.html > for some background. I think the current hack in dh_installchangelogs > is something of a temporary measure but we seem to be stuck with > it for now.
I note that this will require changing the symlink /usr/share/doc/libperl5.22 -> perl to a real separate directory. This probably means we need a libperl5.22.preinst snippet that removes the symlink on upgrades, as dpkg will not automatically replace a symlink with a directory. As for a patch, here's what I currently have: ---------------------------------------- #!/bin/sed -f 1,/^perl/ { 1 { h;d } /^perl/ b H;d } $ { p;g;w /dev/stderr d } ---------------------------------------- which will take the changelog on stdin, rip the first snippet and output it on stderr (urgh, /dev/stderr is a GNUism) while leaving the rest on stdout. The stdout part could probably be made to work with in-place editing (-i). This needs to be guarded to only run if binary-only=yes is on the first line; didn't manage to fit that check in cleanly yet but it could just as well be externalised. Dominic raised the question of how much sense it makes to avoid debhelper while we're using dpkg-parsechangelog, dpkg-buildflags, and dpkg-shlibdeps which are /usr/bin/perl scripts. I'm not sure of the answer but I'd rather discuss that separately (probably involving the folks interested in Debian bootstrapping). -- Niko Tyni nt...@debian.org