On 07/02/14 18:39, Jerome Leclanche wrote:
Hi list
The subject came up at FOSDEM on a packaging discussion. I thought it'd be worth bringing up here. Pacman has extremely basic and non-advertised support for changelogs. These are maintainer changelogs, not upstream changelogs, and seem to be completely useless. In fact, in my 900~ package install, only iotop and zsh-syntax-highlighting have a changelog at all and they all list "Updated to release ...".
Pacman also has "unadvertised" delta support. No need to remove it because it is not used...
My personal recommendation, and what makes the most sense, is to allow for (and highly recommend) upstream changelogs. If there is a changelog file, that can be displayed in pacman -Qc (regardless of its format). There is also the subject of online-only changelogs. Should they be downloaded, or should -Qc display "Read the changelog at http://..."? My first thought is that's up to the packager/maintainer, they would know better on a per-package basis.
I'll just point out as an Arch dev and not a pacman one, that Arch will probably never include a ChangeLog in their packages. Extra maintenance burden like this is generally seen as unnecessary.
Debian is really good with its packaging changelogs. Afaik they're the only distro that properly uses them. They're a lot less relevant to arch linux due to the very nature of the distro ("trust upstream") but I don't think they're useless; in fact, we should probably distinguish packaging and upstream changelogs.
Looking at Debian. They supply a packaging changelog exactly like what is available in pacman (viewed by dch -v version-revision or dch -i). So the advantage there is that they can just display the appropriate part of the ChangeLog file. I guess that requires the file format to be quite strict. Debian also puts that upstream ChangeLog/NEWS etc in /usr/share/doc/package. Again, this is nothing that can not be done in makepkg already, and is a distribution policy matter. Lets look at rpm. rpm -q --changelog <pkg> displays the packaging changelog. I'm not sure that they have an option to display the changes in a given version only. Including upstream changelogs is a distributional decision. In conclusion, we have the same support for ChangeLog that every other package manager has. And I am convinced that the changelog for the package is the changelog a package manager should display. Whether to include a packaging changelog at all and what format it is in is a distribution decision. Whether to also include an upstream development changelog in the package is also a distributional decision. I see nothing that needs changed in makepkg/pacman. Allan