#1064882 Wrong order of changelog entries

#1064882#5
Date:
2024-02-27 08:26:18 UTC
From:
To:
Hi Jonathan,

I just found that the changelog entries for cryptsetup are in the wrong
order:

$ mmdebstrap --include=cryptsetup-bin,apt-listchanges \
  --chrooted-customize-hook="sed -i 's/testing/experimental/' \
  /etc/apt/sources.list; apt update; apt install apt-listchanges/experimental; \
  sed -i 's/news/both/' /etc/apt/listchanges.conf; \
  sed -i 's/experimental/unstable/' /etc/apt/sources.list; apt update; \
  apt upgrade --yes" testing /dev/null
[..]
apt-listchanges: Changelogs
---------------------------

expat (2.6.0-1) unstable; urgency=high

  * New upstream release:
    - fixes CVE-2023-52425: fix quadratic runtime issues with big tokens that
      can cause denial of service (closes: #1063238),
    - fixes CVE-2023-52426: fix billion laughs attacks for users compiling
      without XML_DTD defined (which is not common) (closes: #1063240).

#1064882#10
Date:
2024-08-31 23:17:19 UTC
From:
To:
Thanks for the bug report.

This is an edge case I don't know how to handle. We sort version numbers
in changelog entries in reverse order according to
apt_pkg.version_compare, which indeed considers 2:2.7.0-1+exp a newer
version number than 2:2.7.0-1. I checked the Debian Policy Manual and it
doesn't say anything about the suffix "+exp" deserving any special
treatment (in fact it doesn't mention it at all).

   jik

#1064882#15
Date:
2024-09-03 08:01:20 UTC
From:
To:
Hi Jonathan,

* Jonathan Kamens <jik@kamens.us> [2024-08-31 19:17]:

Agreed but there is no requirement that changelog entries are ordered by
version so I think they should be kept in the order as read from
debian/changelog.

Cheers Jochen

#1064882#20
Date:
2024-12-31 11:51:01 UTC
From:
To:
Same issue with firebird3.0, for which apt-listchanges gives

apt-listchanges: Changelogs
---------------------------

firebird3.0 (3.0.12.ds7-1) unstable; urgency=medium

  * use increasing upstream version number by switching back to official
    releases, but removing the fourth version component
    No actual upstream chanes

#1064882#27
Date:
2026-04-23 13:07:10 UTC
From:
To:
I'm going to upgrade a machine to the Linux kernel 6.19.13-1:

aptitude 0.8.13 @ disset                 Disk: +125 MB            DL: 0 B/172 MB
--\ Packages to be upgraded (5)
iuA linux-base-amd64           6.19.12-1                6.19.13-1
iu  linux-doc                  6.19.12-1                6.19.13-1
iuA linux-doc-6.19   +2048 B   6.19.12-1                6.19.13-1
iu  linux-image-amd6           6.19.12-1                6.19.13-1
iuA linux-libc-dev   +2048 B   6.19.12-1                6.19.13-1
--\ Packages being automatically installed to satisfy dependencies (4)
piA linux-base-6.19. +967 kB   <none>                   6.19.13-1
piA linux-binary-6.1 +13.9 MB  <none>                   6.19.13-1
piA linux-image-6.19 +16.4 kB  <none>                   6.19.13-1
piA linux-modules-6. +110 MB   <none>                   6.19.13-1

and while "apt changelog" lists "linux (6.19.13-1)" first,
apt-listchanges lists it almost at the end!

# grep '^linux' /tmp/apt-listchanges-tmp0ngprxlb.txt
linux (6.19.12-1) unstable; urgency=medium
linux (6.19.11-1) unstable; urgency=medium
linux (6.19.10-1) unstable; urgency=medium
linux (6.19.8-1) unstable; urgency=medium
linux (6.19.6-2) unstable; urgency=high
linux (6.19.6-1) unstable; urgency=medium
linux (6.19.5-1~exp1) experimental; urgency=medium
linux (6.19.4-1~exp1) experimental; urgency=medium
linux (6.19.3-1~exp1) experimental; urgency=medium
linux (6.19.2-1~exp1) experimental; urgency=medium
linux (6.19-1~exp1) experimental; urgency=medium
linux (6.19~rc8-1~exp1) experimental; urgency=medium
linux (6.19~rc7-1~exp1) experimental; urgency=medium
linux (6.19~rc6-1~exp1) experimental; urgency=medium
linux (6.19~rc5-1~exp1) experimental; urgency=medium
linux (6.19~rc4-1~exp1) experimental; urgency=medium
linux (6.18.3-1) unstable; urgency=medium
linux (6.18.2-1~exp1) experimental; urgency=medium
linux (6.18.1-1~exp1) experimental; urgency=medium
linux (6.18~rc7-1~exp1) experimental; urgency=medium
linux (6.18~rc6-1~exp1) experimental; urgency=medium
linux (6.18~rc5-1~exp1) experimental; urgency=medium
linux (6.18~rc4-1~exp2) experimental; urgency=medium
linux (6.18~rc4-1~exp1) experimental; urgency=medium
linux (6.17.5-1~exp1) experimental; urgency=medium
linux (6.17.2-1~exp1) experimental; urgency=medium
linux (6.16.3-1) unstable; urgency=medium
linux (6.16.1-1~exp1) experimental; urgency=medium
linux (6.16-1~exp1) experimental; urgency=medium
linux (6.16~rc7-1~exp1) experimental; urgency=medium
linux (6.15.6-1~exp1) experimental; urgency=medium
linux (6.15.5-1~exp1) experimental; urgency=medium
linux (6.15.4-1~exp1) experimental; urgency=medium
linux (6.15.3-1~exp1) experimental; urgency=medium
linux (6.15.2-1~exp1) experimental; urgency=medium
linux (6.15.1-1~exp1) experimental; urgency=medium
linux (6.15-1~exp1) experimental; urgency=medium
linux (6.15~rc7-1~exp1) experimental; urgency=medium
linux (6.14.6-1~exp1) experimental; urgency=medium
linux (6.14.5-1~exp1) experimental; urgency=medium
linux (6.14.3-1~exp1) experimental; urgency=medium
linux (6.13.11-1~exp1) experimental; urgency=medium
linux (6.13.10-1~exp1) experimental; urgency=medium
linux (6.13.9-1~exp1) experimental; urgency=medium
linux (6.13.8-1~exp1) experimental; urgency=medium
linux (6.13.7-1~exp1) experimental; urgency=medium
linux (6.13.6-1~exp1) experimental; urgency=medium
linux (6.13.5-1~exp1) experimental; urgency=medium
linux (6.13.4-1~exp1) experimental; urgency=medium
linux (6.13.3-1~exp1) experimental; urgency=medium
linux (6.13.2-1~exp1) experimental; urgency=medium
linux (6.13~rc7-1~exp1) experimental; urgency=medium
linux (6.13~rc6-1~exp1) experimental; urgency=medium
linux (6.12.3-1) unstable; urgency=medium
linux (6.12~rc6-1~exp1) experimental; urgency=medium
linux (6.11.6-1) unstable; urgency=medium
linux (6.11.5-1) unstable; urgency=medium
linux (6.11.4-1) unstable; urgency=medium
linux (6.11.2-1) unstable; urgency=medium
linux (6.11-1~exp1) experimental; urgency=medium
linux (6.11~rc5-1~exp1) experimental; urgency=medium
linux (6.11~rc4-1~exp1) experimental; urgency=medium
linux (6.10.12-1) unstable; urgency=medium
linux (6.10.11-1) unstable; urgency=medium
linux (6.10.9-1) unstable; urgency=medium
linux (6.10.7-1) unstable; urgency=medium
linux (6.10.6-1) unstable; urgency=medium
linux (6.10.4-1) unstable; urgency=medium
linux (6.10.3-1) unstable; urgency=medium
linux (6.10.1-1~exp1) experimental; urgency=medium
linux (6.10-1~exp1) experimental; urgency=medium
linux (6.9.12-1) unstable; urgency=medium
linux (6.9.11-1) unstable; urgency=medium
linux (6.9.10-1) unstable; urgency=medium
linux (6.9.9-1) unstable; urgency=medium
linux (6.9.8-1) unstable; urgency=medium
linux (6.9.7-1) unstable; urgency=medium
linux (6.9.2-1~exp1) experimental; urgency=medium
linux (6.8.12-1) unstable; urgency=medium
linux (6.8.11-1) unstable; urgency=medium
linux (6.8.9-1) unstable; urgency=medium
linux (6.7.12-1) unstable; urgency=medium
linux (6.7.9-2) unstable; urgency=high
linux (6.7.9-1) unstable; urgency=medium
linux (6.7.7-1) unstable; urgency=medium
linux (6.7.4-1~exp1) experimental; urgency=medium
linux (6.7.1-1~exp1) experimental; urgency=medium
linux (6.7-1~exp1) experimental; urgency=medium
linux (6.6.15-2) unstable; urgency=medium
linux (6.6.15-1) unstable; urgency=medium
linux (6.6.13-1) unstable; urgency=medium
linux (6.6.11-1) unstable; urgency=medium
linux (6.6.9-1) unstable; urgency=medium
linux (6.6.8-1) unstable; urgency=medium
linux (6.6.7-1~exp1) experimental; urgency=medium
linux (6.6.4-1~exp1) experimental; urgency=medium
linux (6.6.3-1~exp1) experimental; urgency=medium
linux (6.5.13-1) unstable; urgency=medium
linux (6.5.10-1) unstable; urgency=medium
linux (6.5.8-1) unstable; urgency=medium
linux (6.5.6-1) unstable; urgency=medium
linux (6.5.3-1) unstable; urgency=medium
linux (6.5.1-1~exp1) experimental; urgency=medium
linux (6.5~rc7-1~exp1) experimental; urgency=medium
linux (6.5~rc6-1~exp1) experimental; urgency=medium
linux (6.5~rc4-1~exp1) experimental; urgency=medium
linux (6.4.13-1) unstable; urgency=medium
linux (6.4.11-1) unstable; urgency=medium
linux (6.4.4-3) unstable; urgency=high
linux (6.4.4-2) unstable; urgency=high
linux (6.4.4-1) unstable; urgency=medium
linux (6.4.1-1~exp1) experimental; urgency=medium
linux (6.4~rc7-1~exp1) experimental; urgency=medium
linux (6.4~rc6-1~exp1) experimental; urgency=medium
linux (6.3.11-1) unstable; urgency=medium
linux (6.3.7-1) unstable; urgency=medium
linux (6.3.5-1~exp1) experimental; urgency=medium
linux (6.3.4-1~exp1) experimental; urgency=medium
linux (6.3.2-1~exp1) experimental; urgency=medium
linux (6.3.1-1~exp1) experimental; urgency=medium
linux (6.1.27-1) unstable; urgency=medium
linux (6.1.25-1) unstable; urgency=medium
linux (6.1.20-2) unstable; urgency=medium
linux (6.1.20-1) unstable; urgency=medium
linux (6.1.15-1) unstable; urgency=medium
linux (6.1.12-1) unstable; urgency=medium
linux (6.1.11-1) unstable; urgency=medium
linux (6.1.8-1) unstable; urgency=medium
linux (6.1.7-1) unstable; urgency=medium
linux (6.1.4-1) unstable; urgency=medium
linux (6.1.2-1~exp1) experimental; urgency=medium
linux (6.1.1-1~exp2) experimental; urgency=medium
linux (6.1.1-1~exp1) experimental; urgency=medium
linux (6.1~rc8-1~exp1) experimental; urgency=medium
linux (6.1~rc7-1~exp1) experimental; urgency=medium
linux (6.1~rc6-1~exp1) experimental; urgency=medium
linux (6.1~rc5-1~exp1) experimental; urgency=medium
linux (6.1~rc3-1~exp1) experimental; urgency=medium
linux (6.0.12-1) unstable; urgency=medium
linux (6.0.10-2) unstable; urgency=medium
linux (6.0.10-1) unstable; urgency=medium
linux (6.0.8-1) unstable; urgency=medium
linux (6.0.7-1) unstable; urgency=medium
linux (6.0.6-2) unstable; urgency=medium
linux (6.0.6-1) unstable; urgency=medium
linux (6.0.5-1) unstable; urgency=medium
linux (6.0.3-1) unstable; urgency=medium
linux (6.0.2-1) unstable; urgency=high
linux (6.0-1~exp1) experimental; urgency=medium
linux (6.0~rc7-1~exp1) experimental; urgency=medium
linux (5.19.11-1) unstable; urgency=medium
linux (5.19.6-1) unstable; urgency=medium
linux (5.19-1~exp1) experimental; urgency=medium
linux (5.19~rc6-1~exp1) experimental; urgency=medium
linux (5.19~rc4-1~exp1) experimental; urgency=medium
linux (5.18.16-1) unstable; urgency=medium
linux (5.18.14-1) unstable; urgency=medium
linux (5.18.5-1) unstable; urgency=medium
linux (5.18.2-1) unstable; urgency=medium
linux (5.18-1~exp1) experimental; urgency=medium
linux (5.17.11-1) unstable; urgency=medium
linux (5.17.6-1) unstable; urgency=medium
linux (5.17.3-1) unstable; urgency=medium
linux (5.17.1-1~exp1) experimental; urgency=medium
linux (5.17~rc8-1~exp1) experimental; urgency=medium
linux (5.17~rc7-1~exp1) experimental; urgency=medium
linux (5.17~rc6-1~exp1) experimental; urgency=medium
linux (5.17~rc5-1~exp1) experimental; urgency=medium
linux (5.17~rc4-1~exp1) experimental; urgency=medium
linux (5.17~rc3-1~exp1) experimental; urgency=medium
linux (5.16.18-1) unstable; urgency=medium
linux (5.16.14-1) unstable; urgency=medium
linux (5.16.12-1) unstable; urgency=high
linux (5.16.11-1) unstable; urgency=medium
linux (5.16.10-1) unstable; urgency=medium
linux (5.16.7-2) unstable; urgency=medium
linux (5.16.7-1) unstable; urgency=medium
linux (5.16.4-1~exp1) experimental; urgency=medium
linux (5.16.3-1~exp1) experimental; urgency=medium
linux (5.16~rc8-1~exp1) experimental; urgency=medium
linux (5.16~rc7-1~exp1) experimental; urgency=medium
linux (5.16~rc6-1~exp1) experimental; urgency=medium
linux (5.16~rc5-1~exp1) experimental; urgency=medium
linux (5.16~rc4-1~exp1) experimental; urgency=medium
linux (5.16~rc3-1~exp1) experimental; urgency=medium
linux (5.16~rc1-1~exp1) experimental; urgency=medium
linux (5.15.15-2) unstable; urgency=high
linux (5.15.15-1) unstable; urgency=high
linux (5.15.5-2) unstable; urgency=medium
linux (5.15.5-1) unstable; urgency=medium
linux (5.15.3-1) unstable; urgency=medium
linux (5.15.2-1~exp1) experimental; urgency=medium
linux (5.15.1-1~exp1) experimental; urgency=medium
linux (5.15-1~exp1) experimental; urgency=medium
linux (5.14.16-1) unstable; urgency=medium
linux (5.14.12-1) unstable; urgency=medium
linux (5.14.9-2) unstable; urgency=medium
linux (5.14.9-1) unstable; urgency=medium
linux (5.14.6-3) unstable; urgency=medium
linux (5.14.6-2) unstable; urgency=medium
linux (5.14.6-1) unstable; urgency=medium
linux (5.14.3-1~exp1) experimental; urgency=medium
linux (5.14.2-1~exp1) experimental; urgency=medium
linux (5.14.1-1~exp1) experimental; urgency=medium
linux (5.14-1~exp2) experimental; urgency=medium
linux (5.14-1~exp1) experimental; urgency=medium
linux (5.13.12-1~exp1) experimental; urgency=medium
linux (5.13.9-1~exp2) experimental; urgency=medium
linux (5.13.9-1~exp1) experimental; urgency=medium
linux (5.10.46-4) unstable; urgency=medium
linux (5.10.46-3) unstable; urgency=medium
linux (5.10.46-2) unstable; urgency=medium
linux (5.10.46-1) unstable; urgency=medium
linux (5.10.40-1) unstable; urgency=medium
linux (5.10.38-1) unstable; urgency=medium
linux (5.10.28-1) unstable; urgency=medium
linux (5.10.26-1) unstable; urgency=medium
linux (5.10.24-1) unstable; urgency=medium
linux (5.10.19-1) unstable; urgency=medium
linux (5.10.13-1) unstable; urgency=medium
linux (5.10.12-1) unstable; urgency=medium
linux (5.10.9-1) unstable; urgency=medium
linux (5.10.5-1) unstable; urgency=medium
linux (5.10.4-1) unstable; urgency=medium
linux (5.10.2-1~exp1) experimental; urgency=medium
linux (5.10.1-1~exp1) experimental; urgency=medium
linux (5.10~rc7-1~exp1) experimental; urgency=medium
linux (5.10~rc6-1~exp1) experimental; urgency=medium
linux (5.10~rc4-1~exp1) experimental; urgency=medium
linux (5.9.15-1) unstable; urgency=medium
linux (5.9.11-1) unstable; urgency=medium
linux (5.9.9-1) unstable; urgency=medium
linux (5.9.6-1) unstable; urgency=medium
linux (5.9.1-1) unstable; urgency=medium
linux (5.9~rc8-1~exp1) experimental; urgency=medium
linux (5.9~rc6-1~exp1) experimental; urgency=medium
linux (5.9~rc4-1~exp1) experimental; urgency=medium
linux (5.8.14-1) unstable; urgency=medium
linux (5.8.10-1) unstable; urgency=medium
linux (5.8.7-1) unstable; urgency=medium
linux (5.8.3-1~exp1) experimental; urgency=medium
linux (5.7.17-1) unstable; urgency=medium
linux (5.7.10-1) unstable; urgency=medium
linux (5.7.6-1) unstable; urgency=medium
linux (5.7~rc5-1~exp1) experimental; urgency=medium
linux (5.6.14-2) unstable; urgency=medium
linux (5.6.14-1) unstable; urgency=medium
linux (5.6.7-1) unstable; urgency=medium
linux (5.6.4-1~exp1) experimental; urgency=medium
linux (5.5.17-1) unstable; urgency=medium
linux (5.5.13-2) unstable; urgency=medium
linux (5.5.13-1) unstable; urgency=medium
linux (5.5~rc5-1~exp1) experimental; urgency=medium
linux (5.4.19-1) unstable; urgency=medium
linux (5.4.13-1) unstable; urgency=medium
linux (5.4.8-1) unstable; urgency=medium
linux (5.4.6-1) unstable; urgency=medium
linux (5.4.2-1~exp1) experimental; urgency=medium
linux (5.4-1~exp1) experimental; urgency=medium
linux (5.3.15-1) unstable; urgency=medium
linux (5.3.9-3) unstable; urgency=medium
linux (5.3.9-2) unstable; urgency=medium
linux (5.3.9-1) unstable; urgency=medium
linux (5.3.7-1) unstable; urgency=medium
linux (5.3.2-1~exp1) experimental; urgency=medium
linux (5.3~rc5-1~exp2) experimental; urgency=medium
linux (5.3~rc5-1~exp1) experimental; urgency=medium
linux (5.2.17-1) unstable; urgency=medium
linux (5.2.9-2) unstable; urgency=medium
linux (5.2.9-1) unstable; urgency=medium
linux (5.2.7-1) unstable; urgency=medium
linux (5.2.6-1) unstable; urgency=medium
linux (5.0.2-1~exp1) experimental; urgency=medium
linux (5.0.1-1~exp1) experimental; urgency=medium
linux (4.20-1~exp1) experimental; urgency=medium
linux (4.19.37-6) unstable; urgency=high
linux (6.19.13-1) unstable; urgency=medium
linux-signed-amd64 (6.19.13+1) unstable; urgency=medium