Hi Jonathan (2023.09.26_10:11:01_+0000)
> I am hoping that this is an acceptable request to make of the
> technical committee

Absolutely. In this case, I doubt the committee needs to offer any
formal advice. These are my personal views, after only a few minutes of
thought.

> That bug prompted me to do a deep dive into the algorithm that
> apt-listchanges uses to determine which changelog and NEWS entries to
> display to the user. After doing that, I don't tihnk the current
> algorithm is accurate enough, and I want to revamp it.

Thanks for taking on a much bigger job than you probably expected to
have signed up for :)

> For an example of where these assumptions break down, look at the
> dmsetup package:
> 
> - The source package for dmsetup is lvm2.
> - The version number for the dmsetup package is lower, but with a
>   higher epoch than, the version number for the lvm2 package.
> - The entries in changelog.Debian.gz use lvm2 version numbers, while
>   the ones in changelog.Debian.devmapper.gz use dmsetup version
>   numbers.
> 
> This approach was also limited in that it only looked at
> NEWS.Debian[.gz], changelog.Debian[.gz], changlog.Debian.arch[.gz],
> and changelog[.gz]. For an example of where this fails, again look at
> dmsetup, which has changelog.Debian.devmapper.gz.

I wasn't aware of this particular bit of unusual packaging.

changelog.Debian.*.gz doesn't look like something that is described in
Debian Policy. From what I can see, I presume this is a legacy changelog
from when devmapper was imported into lvm2. I wouldn't expect it to ever
get new entries.

So, continuing to ignore it would probably be reasonable.

Is this a pattern that we see in other binary packages, where new
entries do appear?

> We remove the header line of each entry in the second set of checksums
> because sometimes a package version uploaded to stable and a different
> version uploaded to unstable use different header lines for the same
> changelog entry.

I can see the logic for that.

You could also argue that when a package is uploaded to multiple
releases (with different versions, of course), these are forks. And when
jumping from one fork to another it's reasonable to include the repeated
changelog content.

But yes, in most cases hiding text that a user has already seen is
probably correct. Unless they need to take some action that's specific
to the version of the package that this text appears in (e.g. introduce
versioned Depends in their own packages), which is very
rare.

Please correct me if I'm wrong in any of my analysis.

BTW, this issue does remind me of a bug I think I've seen in
apt-listchanges where it isn't ignoring changelog entries copied over
from a previous versioned source package (something like gcc-* or
python3.*). I can't reproduce it right now to file it, though :(
Does that sound familiar?

Stefano

-- 
Stefano Rivera
  http://tumbleweed.org.za/
  +1 415 683 3272

Reply via email to