Buidling a Solaris Package

The procedures that follow assume that you’ve created the software to be packaged in a special build directory tree. This makes it much easier to build a package consisting of the just the desired software.

  1. Create a pkginfo file, e.g.

    PKG=OpenSSL NAME=OpenSSL for Solaris DESC=”OpenSSL Secure Socket Layers” VENDOR=”OpenSSL Team - http://www.openssl.org” BASEDIR=/ ARCH=sparc VERSION=0.9.6c CATEGORY=Security CLASSES=”none”

  2. Create a prototype file.e.g. find /builddir | pkgproto > prototype

  3. The prototype file created will need to be manually edited. A line pointing to the pkginfo file will need inserting. Also, search statements need adding for the build directories containing files to be package. An example file is listed below:

    i pkginfo=/home/tda/software/packages/openssl/pkginfo d none /usr 0755 root sys d none /usr/local 0755 root other d none /usr/local/ssl 0755 root other d none /usr/local/ssl/man 0750 root other !search /home/tda/software/packages/openssl/usr/local/ssl/man/man1 f none /usr/local/ssl/man/man1/CA.pl.1 0640 root other f none /usr/local/ssl/man/man1/asn1parse.1 0640 root other f none /usr/local/ssl/man/man1/ca.1 0640 root other f none /usr/local/ssl/man/man1/ciphers.1 0640 root other f none /usr/local/ssl/man/man1/crl.1 0640 root other f none /usr/local/ssl/man/man1/crl2pkcs7.1 0640 root other f none /usr/local/ssl/man/man1/dgst.1 0640 root other f none /usr/local/ssl/man/man1/dhparam.1 0640 root other f none /usr/local/ssl/man/man1/dsa.1 0640 root other f none /usr/local/ssl/man/man1/dsaparam.1 0640 root other f none /usr/local/ssl/man/man1/enc.1 0640 root other f none /usr/local/ssl/man/man1/gendsa.1 0640 root other f none /usr/local/ssl/man/man1/genrsa.1 0640 root other f none /usr/local/ssl/man/man1/nseq.1 0640 root other f none /usr/local/ssl/man/man1/openssl.1 0640 root other f none /usr/local/ssl/man/man1/passwd.1 0640 root other f none /usr/local/ssl/man/man1/pkcs12.1 0640 root other f none /usr/local/ssl/man/man1/pkcs7.1 0640 root other f none /usr/local/ssl/man/man1/pkcs8.1 0640 root other f none /usr/local/ssl/man/man1/rand.1 0640 root other f none /usr/local/ssl/man/man1/req.1 0640 root other f none /usr/local/ssl/man/man1/rsa.1 0640 root other f none /usr/local/ssl/man/man1/rsautl.1 0640 root other f none /usr/local/ssl/man/man1/s_client.1 0640 root other f none /usr/local/ssl/man/man1/s_server.1 0640 root other f none /usr/local/ssl/man/man1/sess_id.1 0640 root other f none /usr/local/ssl/man/man1/smime.1 0640 root other f none /usr/local/ssl/man/man1/speed.1 0640 root other f none /usr/local/ssl/man/man1/spkac.1 0640 root other f none /usr/local/ssl/man/man1/verify.1 0640 root other f none /usr/local/ssl/man/man1/version.1 0640 root other f none /usr/local/ssl/man/man1/x509.1 0640 root other d none /usr/local/ssl/man/man3 0750 root other !search /home/tda/software/packages/openssl/usr/local/ssl/man/man3 f none /usr/local/ssl/man/man3/BIO_ctrl.3 0640 root other f none /usr/local/ssl/man/man3/BIO_f_base64.3 0640 root other f none /usr/local/ssl/man/man3/BIO_f_buffer.3 0640 root other f none /usr/local/ssl/man/man3/BIO_f_cipher.3 0640 root other f none /usr/local/ssl/man/man3/BIO_f_md.3 0640 root other f none /usr/local/ssl/man/man3/BIO_f_null.3 0640 root other etc…..

  4. Build the package pkgmk -d . -f prototype -o

  5. To create the package in a single file format pkgtrans -os . OpenSSL-sparc-5.8.pkg