Solaris Package Maker


We all know how irritating it is to make solaris packages. So I've written a script to make it painless. This script is going to be for only a limited number of packages, but as it matures, that'll all change.

configure your package as normal, but choose a non-real install path and add root to the end:
$ ./configure --options --with-otherstuff --prefix=/tmp/bind/root
$ make
$ sudo make install (or su if no sudo. This is important to do so that permissions get setup right)
$ cd /tmp/bind
$ pkgmaker [options]

Your package will be in /tmp/bind

here is the usage of pkgmaker:

wonko@wiggum$ ./pkgmaker

Usage: ./pkgmaker [-32|-64] [-pnavcdVeih?]

Use -32 to choose to make a 32-bit package and -64 to make a 64-bit
package.  These two flags can be omitted and 32-bit will be assumed.

 -h and -? "Print this help"

The following flags are mandatory:

 -p "Package"
 -n "Package Name"
 -a "Architecture: sparc/i386"
 -v "Package Version"
 -c "Package Category"
 -d "Package Description"
 -V "Package Vendor"
 -e "Vendor Email"
 -i "Install Root"

Example: ./pkgmaker -64 -p BLHbindx -n "ISC BIND" -a sparc -v 9.3.1 -c system -d "ISC BIND DNS Server" -V "Brian Hechinger" -e wonko@4amlunch.net -i /usr/local

Get the script from here: http://www.4amlunch.net/pkgmaker/pkgmaker

NOTES:
The script currently does not handle preinstall, postinstall and preremove scripts.
You will probably end up having to make that sort of stuff by hand anyway, I'll look into it at some point.