Note to myself: Solaris Packages

Beatnik on 2005-12-14T13:30:23

Creating Solaris Packages:



Extract the source-bundle:


# cd /tmp/
# gunzip < /tmp/foo.tar.gz | tar xf -


Launch the auto-configuration:


# cd foo
# ./configure -prefix=`pwd`/../dummy_installdir --bla --bla


Launch the compilation and installation:


# make && make install


Package foo will be compiled and installed into the /tmp/dummy_installdir. Create the pkginfo file, containing the package information:
# cd /tmp/dummy_installdir
# cat > pkginfo <

Create the prototype file, containing the package directory and file structure and attributes:


# find . -print | pkgproto > prototype


Update the prototype file. Remove the following lines:


f none prototype 0644 root other
f none pkginfo 0644 root other


Add the following line at the top:


i pkginfo=./pkginfo 


In /tmp/dummy_installdir execute pkgmk:


# pkgmk -r `pwd` 


In /var/spool/pkg a directory called foo is created. Create the actual package:


# cd /var/spool/pkg 
# pkgtrans -s `pwd` /tmp/foo.pkg 


When asked which tool to package, select the foo package. Compress the package:


# cd /tmp 
# gzip /tmp/ foo.pkg


The end result is a file called foo.pkg.gz


boring..

Qiang on 2005-12-14T14:45:31

i have to do package build for 3 or 4 OSes (Tru64,Debian,Solaris, maybe AIX) when there is one out. it's rather boring and tiresome.

so i just started writing a perl script to automate the package buidling task. hopefully i can get out of this soon ;-)

Re:boring..

Beatnik on 2005-12-15T14:20:49

Don't forget to look at the pre and post scripts.. I know in what environment I'm installing so I can avoid pitfalls but some things are better handled with scripts :)