Am 5. Dezember 2018 00:44:25 MEZ schrieb philippe bidault <philippe.bida...@gmail.com>: >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
I did improve the script (still testing). Basically it just adds all missing headers from the original file to that generated by spacewalk. The repo is not yet updated. Robert > >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. -- sent from my mobile device _______________________________________________ Spacewalk-list mailing list Spacewalk-list@redhat.com https://www.redhat.com/mailman/listinfo/spacewalk-list