Hi all, I am trying to make our Spacewalk 2.8 working with Ubuntu 18.04, but as well described here : https://github.com/spacewalkproject/spacewalk/wiki/DebianUbuntuSupportIn27
... there are 3 main issues : "1- The current version comparison logic does not distinct a dot from an hyphen, a tilde or a plus character. This leads to some packages wrongly shown as an update for a client in spacewalk when the package is actually a downgrade. The client however uses a correct comparison and handles the package upgrade correctly 2- The deb importer does not import all the package header information into the database and the repository-writer will not write the missing information to the repository metadata served by spacewalk. This will lead to problems on the client in case of the missing Multi-Arch header: Clients will try to reinstall the same package over and over again when this header is missing. 3- A deb repository provided by spacewalk is not GPG signed and thus will not work without disabling secure-apt. Spacewalk imports and recreates the repository based on the imported package catalogue, this will destroy the GPG signing of the repository vendor." I did manage to solve the point 2 and 3. The point 3 thanks to this method : http://www.devops-blog.net/spacewalk/gpg-signing-apt-repository-in-spacewalk Regarding the point 2, I did have to customize the script https://github.com/rpasche/spacewalk-debian-sync/tree/add-multiarch-header , as it seems that in any case the add of the Multi-Arch header in Packages.gz is not enough for Ubuntu 18.04. I did only succeed in not ending in an infinite loop of packages flagged to be upgraded as the result of "apt upgrade" by adding more headers in Packages.gz : p, v, a, multi, breaks, predeps = line.rstrip().split("||") if (packages.has_key(p + v + a) and (multi is not "#")) : packages[p + v + a]['Multi-Arch'] = multi if (packages.has_key(p + v + a) and (breaks is not "#")) : packages[p + v + a]['Breaks'] = breaks if (packages.has_key(p + v + a) and (predeps is not "#")) : packages[p + v + a]['Pre-Depends'] = predeps Right now, what is really causing me much more trouble, is the point 1, which is making Spacewalk not really reliable for deb package management , as I have a permanent list of upgradable packages in the Spacewalk console, whereas the installed versions are already the latest. Example : Latest Package Installed Package gcc-8-base-8-20180414-1ubuntu2.amd64-deb <https://space01/rhn/software/packages/Details.do?sid=1000010058&id_combo=21120|7544|145> gcc-8-base-8.2.0-1ubuntu2~18.04.amd64-deb lib32gcc1-8-20180414-1ubuntu2:1.amd64-deb <https://space01/rhn/software/packages/Details.do?sid=1000010058&id_combo=21933|7796|145> lib32gcc1-8.2.0-1ubuntu2~18.04:1.amd64-deb So in resume, I have 2 questions : - Regarding the point 1, is there already an existing solution I could use, or at least some clues ? - Regarding the point 2 : Did I miss something, or do we really need to add some extra headers (Breaks and Pre-depends) to have the Ubuntu 18.04 client servers correctly listing packages to be upgraded ? Regards, Philippe.
_______________________________________________ Spacewalk-list mailing list Spacewalk-list@redhat.com https://www.redhat.com/mailman/listinfo/spacewalk-list