Spacewalk is Linux systems management solution. Until some time ago it had support for Solaris clients as well, but that was removed recently. This needs some testing right?
In Solaris, you have 3 ways to deliver software (AFAICT - I have absolutely 0 knowledge about administering Solaris):
- package - check OpenCSW project for some of these and if you wanted to push these to Spacewalk, you had to throw them to
solaris2mpmutility which creates *.mpm package from these *.pkg.gz files. These *.mpm were then push-able to Spacewalk using
rhnpush. When pushed, this package will appear in "Packages" tab of your Solaris channel.
- Solaris patch - this is AFAICT something created by SUN (or Oracle) only and only distributed by them via payed subscriptions, I have not found any guide on how to create one yourself. Again, you need to use
solaris2mpmto transform the file to push-able *.mpm file.
- Solaris patch cluster - same as for Solaris patch
This post is about very lame way on how to create solaris patch file which after push appears under "Patches" tab in older Spacewalk in Solaris channel. There is absolutely no intention to have this actually installable by Solaris client.
- First of all notice
solaris2mpmis broken in Spacewalk so use version from Satellite I have not reported it, as the functionality was actually removed anyway.
- Notice that
solaris2mpmis present in normal fedora rhnpush package as well, but see this old bug about its missing dependencies
heirloom-pkgtoolsfrom Spacewalk's build system. Although this build (direct link to rpm) is very old, it worked on mine Fedora 25
- Build aaa-1.pkg:
$ pwd /tmp/solaris_yay $ cat pkginfo PKG=aaa-1 NAME=Just a demo solaris patch VERSION=0.0.1 CATEGORY=application DESC=Some loooong description of this cool package or patch or whatever ARCH=i386 VENDOR=http://where.you.got.it EMAIL=root@ocalhost $ rm -rf aaa* README.*; P=aaa-1; mkdir $P; date > $P/data; echo "Date: $( date +%Y-%m-%d )" > README.$P; echo "Relevant Architectures: i386" >> README.$P $ (echo 'i pkginfo'; pkgproto /tmp/solaris_yay/README.aaa-1=/README.aaa-1 /tmp/solaris_yay/aaa-1=/) >prototype $ pkgmk -o -d /tmp/; echo $?; pkgtrans -s /tmp /tmp/aaa-1.pkg aaa-1; echo $?I have made these ugly lines because I have been experimenting a lot with that and it allowed me to kinda automate parts of the process
- Now on RHEL6 Satellite (so
solaris2mpmworks - see first point here) with
heirloom-pkgtoolspackage installed (see third point) (so you do not need to do this on Solaris machine) run:
# solaris2mpm aaa-1.pkg Writing patch-solaris-aaa-1-1.i386-solaris-patch.mpm
- Push resulting *.mpm to the Spacewalk's/Satellite's Solaris channel using
rhnpushand enjoy looking at "Patches" tab of the channel filled with some content without SUN/Oracle subscription.
Some links I have used along the way: