[Spacewalk-list] Spacewalk 2.7 && Ubuntu 15.04 && Debian 9 [ working solution ]
Robert Paschedag
robert.paschedag at web.de
Fri Apr 20 04:39:38 UTC 2018
Am 19. April 2018 15:08:05 MESZ schrieb Florin <portase.florin at medianetork.ro>:
>So, finally after so much trial and error here is what I've done to
>allow smooth integration of Debian 9 and Ubuntu 16.0 with spacewalk
>
>Just to keep it simple
>
>1. create channels: xenial-main + xenial-updates, xenial-security,
>xenial-universe
>
>2. tricky part syncing channels [ adding multi-arch header]:
>
>#!/bin/bash
>
>_BIN_PATH=/var/www/html/pub/spw_scripts
>_URL_MAIN='http://de.archive.ubuntu.com/ubuntu/dists/xenial/main/binary-amd64'
>_URL_SEC='http://us.archive.ubuntu.com/ubuntu/dists/xenial-security/main/binary-amd64'
>_URL_UPD='http://de.archive.ubuntu.com/ubuntu/dists/xenial-updates/main/binary-amd64'
>_URL_UNIV='http://de.archive.ubuntu.com/ubuntu/dists/xenial/universe/binary-amd64'
>_PKG_MAIN=/var/cache/rhn/repodata/xenial-main
>_PKG_SEC=/var/cache/rhn/repodata/xenial-security
>_PKG_UPD=/var/cache/rhn/repodata/xenial-updates
>_PKG_UNIV=/var/cache/rhn/repodata/xenial-universe
>_USER=bugs
>_PASS=bunny
>
>$_BIN_PATH/spacewalk-debian-sync.pl --url $_URL_MAIN --channel
>xenial-main --username=$_USER --password $_PASS
>$_BIN_PATH/spacewalk-debian-sync.pl --url $_URL_SEC --channel
>xenial-security --username=$_USER --password $_PASS
>$_BIN_PATH/spacewalk-debian-sync.pl --url $_URL_UPD --channel
>xenial-updates --username=$_USER --password $_PASS
>$_BIN_PATH/spacewalk-debian-sync.pl --url $_URL_UNIV --channel
>xenial-universe --username=$_USER --password $_PASS
>
>s=180
>trap 'echo "Ctrl-C detected."' 2
>for (( i=$s ; i>0; i--));
> do
> echo -ne "\rFinishing sync in: $i seconds\033[0K";
>sleep 1
> done
>echo -e "\nSync completed!"
>trap 2
>$_BIN_PATH/spacewalk-add-debian-multiarch-header.py
>$_PKG_MAIN/Packages
>/tmp/xenial-main
>$_BIN_PATH/spacewalk-add-debian-multiarch-header.py
>$_PKG_SEC/Packages /tmp/xenial-security
>$_BIN_PATH/spacewalk-add-debian-multiarch-header.py
>$_PKG_UPD/Packages
>/tmp/xenial-updates
>$_BIN_PATH/spacewalk-add-debian-multiarch-header.py
>$_PKG_UNIV/Packages
>/tmp/xenial-universe
>
> /bin/mv $_PKG_MAIN/Packages.new $_PKG_MAIN/Packages
> /bin/mv $_PKG_SEC/Packages.new $_PKG_SEC/Packages
> /bin/mv $_PKG_UPD/Packages.new $_PKG_UPD/Packages
> /bin/mv $_PKG_UNIV/Packages.new $_PKG_UNIV/Packages
>
> gzip < $_PKG_MAIN/Packages > $_PKG_MAIN/Packages.gz
> gzip < $_PKG_SEC/Packages > $_PKG_SEC/Packages.gz
> gzip < $_PKG_UPD/Packages > $_PKG_UPD/Packages.gz
> gzip < $_PKG_UNIV/Packages > $_PKG_UNIV/Packages.gz
>
>3. client side [ ubuntu/debian clients]
>
>spw_srv=192.168.100.101
>
>cat >/etc/apt/apt.conf.d/50spacewalk<<FIX
>#
># The configuration for apt-spacewalk
>#
>APT {
> Update {
> List-Refresh "true";
> Pre-Invoke {
> "/usr/lib/apt-spacewalk/pre_invoke.py";
> }
> Post-Invoke {
> "/bin/sed -rie 's/^Package:
>(cpp|guile-2.0|python(2.7|3)?)$/\0\nMulti-Arch: allowed/'
>/var/lib/apt/lists/${spw_srv}_dists_channels\:_xenial-main_binary-amd64_Packages";
> }
You don't need this Post-Invoke hack as the python script adds the missing header.
> }
>};
>DPkg::Post-Invoke {
> "[ ! -e /usr/lib/apt-spacewalk/post_invoke.py ] ||
>/usr/lib/apt-spacewalk/post_invoke.py";
>};
>FIX
>sed -i "s|'main'|'xenial-main'|g" /usr/lib/apt-spacewalk/pre_invoke.py
>perl -pi -e "s/type='deb'/type='deb [trusted=yes] '/g"
>/usr/lib/apt-spacewalk/pre_invoke.py
>
>4. Now can perform apt-get update/upgrade w/o any issues after
>disabling
>/etc/apt/source.list
One thing "missing". Secure the channels with @philicious "secureApt.sh" script. Find it at my fork https://github.com/rpasche/spacewalk-scripts or "origin" https://github.com/philicious/spacewalk-scripts.
Also have a look at PR #636 and #637 of the SW GitHub repo.
You can then also try to import errata information for Ubuntu and Debian.
Robert
>
>
>_______________________________________________
>Spacewalk-list mailing list
>Spacewalk-list at redhat.com
>https://www.redhat.com/mailman/listinfo/spacewalk-list
--
sent from my mobile device
More information about the Spacewalk-list
mailing list