I had one of these interesting moment where I just started looking into things, that don’t work as expected.
This time it’s why apt changelog <package-name> does not work.
As far as I understand it that’s special HTTP endpoints which deliver that content, i.e. like here for Debian, which is configured as Acquire::Changelogs::URI::Origin::Debian "https://metadata.ftp-master.debian.org/changelogs/@CHANGEPATH@_changelog"; in the apt config.
(and `APT::Changelogs::Server` is the variable for aptitude, though never used that before)
Of course I had the short thought if this could be cloned into pulp, but is it really worth the time? Maybe but guess that’s kinda far middle or end of the backlog.
Right now I’m looking into if it’s possible to define that variable for the foreman server source, no luck yet but lets see!
The local variable depends on the Origin field of a repo’s Release file, unfortunately this is not set in the pulp provided repository.
I think this would even have 2 benefits to having the Origin set in the release file on the one hand it can be used for configuration, and on the other hand I think to remember that this even shows up in apt list –installed!
And another step further, looking at the Release file from Debian, they also define the Changelogs endpoint in there, not sure yet but maybe apt can pick that up automatically, so maybe if it’s not desired to cache the whole changelog in pulp, it would still be possible to define that variable and making apt look outside the network for changelogs.
Testing these 2 assumptions will be a bit trickier (outside of pulp with a webserver), lets see if I can provide more information in a few weeks or months.
I agree that “APT changelog support” sounds like a pulp_deb feature request, but I also agree that there is no telling when or if this would actually ever be planned for development.
In principle we want pulp_deb to support anything apt can do with official Ubuntu and Debian repositories.
Thanks for the report here, this is good data. I’m with @quba42 that it would make most sense to be implemented in pulp_deb.
Since I don’t know too much about how the Debian repo origin works - does this strike you as a separate bug perhaps with how the Origin is presented by pulp_deb?
This is my state in the thought process right now, I still have to figure out why it doesn’t work, when I got more time I hopefully will figure out why it’s still not working even though the Debian origin is in the pulp hosted source
and then from these files the changelog lines, that match the source-package-name if available, if not the package name (not so sure about that part)
I hope I got that correctly from the C code.
After lots of trial and error I also found out now, that it mostly works on Proxmox, the Debian sourced packages are showing the changelog correctly from the Debian changelog endpoint.
The plot thickens for the other packages.
For all repositories other than the Source=Debian once, it sources the changelog locally as expected, though only for some it is correctly able to open it.
Like works for katello-host-tools-tracer, proxmox-datacenter-manager or proxmox-datacenter-manager-ui,
but does not work for katello-host-tools, subscription-manager or proxmox-termproxy
And it’s even different cases:
/usr/share/doc/katello-host-tools/changelog* does not exist
/usr/share/doc/subscription-manager/changelog.Debian.gz does exist, but somehow does not work
/usr/share/doc/proxmox-termproxy/changelog.gz does exist, but somehow does not work
So yeah in the end, will look further into the how to maybe cache the online endpoints in pulp_deb in the future,
and why some packages seem to not work, and what needs a fix to make it work.
With respect to it not working for certain subman client packages, I assume you are getting those from https://apt.atix.de/? In which case it may well be some sub-optimal packaging on our part.
Yes exactly, it’s the packages from oss.atix.de.
I was already taking a look in the Atix Forks of the 2 repos, though was not yet completely sure if the in repo files (subscription-manager) are even used, beside katello-host-tools which does not have them in the repo.
Just wanted to check if I’m not missing something before I say something about specific origin problems