A bit ago, I wrote:
On 9/26/23 08:33, Simon McVittie wrote:
If we disregard non-standardized files like changelog.Debian.devmapper.gz,
I think we can model changelog entries as being keyed by (source package,
source version) pairs.

Changing apt-listchanges so that it always uses the version number of the source package instead of the current logic which uses the "maximum" version number of all the binary packages in the group would solve the lvm2 / dmsetup problem but wouldn't solve a different problem: binary packages with different changelogs for the same source package version, installed at different times. ...

It occurs to me that there still might be a place for this... It might be a better way to handle the edge case of what to do with a changelog downloaded from the internet when there is no history in the seen database indicating what the user has seen before for that package.

My proposal in that case was to display the entire changelog, but there might be a better answer if we're comfortable assuming that Debian changelogs almost always use the source package's versioning scheme. In particular:

1. Determine the version number of the source package for the
   /installed/ version of the binary package being installed.
2. Parse the downloaded changelog entries.
3. Check if the parsed entries include both some whose version numbers
   sort before the version number and some that sort equal or greater
   than it, to confirm that the version numbering is using the source
   package's versioning.
4. If the answer is yes, then just display the changelog entries that
   sort equal or greater. If the answer is no, i.e., we couldn't find
   any version numbers that sort equal or greater than the one from the
   currently installed package's source, then display all the changelog
   entries.

What do you think?

Thanks,

jik

Reply via email to