On 2023-12-26 12:34 +0100, Gioele Barabucci wrote:

> Control: tags -1 moreinfo
> Control: retitle -1 libacl1, debhelper: changelog not detected as binNMU
>
> On Sun, 24 Dec 2023 14:27:22 +0000 Simon McVittie <s...@debian.org> wrote:
>> libacl1 was recently binNMU'd on all architectures to address version skew.
>> Unfortunately, the binNMU'd version is no longer multiarch co-installable
>> because its changelog differs between architectures:
>> │ │ ├── ./usr/share/doc/libacl1/changelog.Debian.gz
>> │ │ │ ├── changelog.Debian
>> │ │ │ │ @@ -1,13 +1,13 @@
>> │ │ │ │  acl (2.3.1-3+b1) sid; urgency=low, binary-only=yes
>> │ │ │ │
>> │ │ │ │ -  * Binary-only non-maintainer upload for amd64; no source changes.
>> │ │ │ │ +  * Binary-only non-maintainer upload for i386; no source changes.
>> │ │ │ │    * Rebuild to sync binNMU versions
>> │ │ │ │
>> │ │ │ │ - -- all / amd64 / i386 Build Daemon (x86-conova-01) ...
>> │ │ │ │ + -- i386 Build Daemon (x86-grnet-01) ...
>> This binNMU changelog entry would normally be separated into
>> changelog.Debian.${DEB_HOST_ARCH}.gz, as can be seen in
>> /usr/share/doc/libxext6/ at the time of writing.
>
> dh_installchangelogs still has the same behavior as before when it
> comes to binNMU and their arch-specific changelogs, independent of the
> trimming logic.

That is not the case, AFAICS.  This is what you installed in commit
af652db00:

,----
| sub install_debian_changelog {
|       my ($changelog, $package, $arch, $tmp) = @_;
| 
|       if ($dh{NO_TRIM} || get_buildoption("notrimdch")) {
|               # Install the whole changelog.
|               install_file($changelog, 
"$tmp/usr/share/doc/$package/$changelog_name");
|               return;
|       }
`----

All the binnmu handling happens _after_ that.

> What seems to have happened here is that the binNMU detection
> failed.

No, the logic in install_debian_changelog is incorrect and does not
handle biNMU entries at all if the changelog is not trimmed.

Cheers,
       Sven

Reply via email to