Recent Changes - Search:



My journals will take the place of a blog. They have moved to

Sites I take responsibility for






Places I frequent



Items for sale:


edit SideBar

Compiling OpenSSL as root and creating a package on Solaris 10

Include our styles below Infobox - invoke as >>infobox<< ... >><<

Codebox: - invoke as >>codebox<< ... >><<

warnbox: - invoke as >>codebox<< ... >><<

editingbox: - invoke as >>codebox<< ... >><<

noticebox: - invoke as >>codebox<< ... >><<

Page bread crumbs:

Pages by tags: (:listtags:)
Subscribe to this wiki: RSS Feed RSS or subscribe to this page for changes: RSS Feed RSS
496 articles have been published so far. Recent changes
(:addThis btn="custom":)

Back to Howtos?

Building zLib and OpenSSL on Solaris 10



Solaris 9 and later comes with an entropy device. /dev/random

gcc 3.4.6, libiconv 1.11 and GNU make 3.81 installed from

Download and install:

The GNU C compiler and related programs - installs in /usr/local. This package includes the GNU C, C++, and f77 suites and support files. These gcc packages require the installation of libiconv. It was compiled to use the SUN assembler and loader usually in /usr/ccs/bin if the SUNW developer packages are installed. When needed and the source code supports it, this C compiler can create 64-bit executables via the -m64 flag as well as the usual 32-bit ones. Please read the details on how this package was created which can be found at Comments on gcc 3.4.6 . The Details link below contains information on what is new in 3.4.6. Documentation is in /usr/local/doc/gcc, /usr/local/man, and /usr/local/info. The gcc package is quite large. Some users may have trouble downloading very large files via a browser. These users should try using command line anonymous ftp or perhaps the Sun Download Manager.


GNU libiconv provides an iconv() implementation for use on systems which do not have one - installs in /usr/local.


The GNU version of make, also known as gmake - installs in /usr/local. Dependencies: To have /usr/local/lib/ install either the libgcc-3.4.6 or gcc-3.4.6 or higher packages.

Testing that our installed products work:

 # gcc -v
 Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/specs
 Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-shared --enable-languages=c,c++,f77
 Thread model: posix
 gcc version 3.4.6

 # make -v
 GNU Make 3.81
 Copyright (C) 2006  Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.
 There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A

 This program built for sparc-sun-solaris2.10

Prep and Environment:

Make sure /usr/ccs/bin is in your PATH. The easiest way to do this prior to compiling is

 # PATH=/usr/ccs/bin:$PATH


Create our source workbench:

 # mkdir /build

However before we compile OpenSSL it requires an open source compression library called zLib. zlib can be downloaded from


Make sure you use a minimum version of 1.1.4 due to an exploit.

Building zlib:

 # cd /build/zlib-1.2.3
 # ./configure --prefix=/usr/local
 # make
 # make test
 hello world
 zlib version 1.2.3 = 0x1230, compile flags = 0x55
 uncompress(): hello, hello!
 gzread(): hello, hello!
 gzgets() after gzseek:  hello!
 inflate(): hello, hello!
 large_inflate(): OK
 after inflateSync(): hello, hello!
 inflate with dictionary: hello, hello!
                 *** zlib test OK ***

 # make install

Building OpenSSL:

Download the source from

Uncompress, untar into source tree under /build directory.

 # cd /build/openssl-0.9.8h
 # ./config --prefix=/usr/local --openssldir=/usr/local/openssl no-shared

 Operating system: sun4u-whatever-solaris2
 NOTICE! If you *know* that your GNU C supports 64-bit/V9 ABI
         and wish to build 64-bit library, then you have to
         invoke './Configure solaris64-sparcv9-gcc' *manually*.
          You have about 5 seconds to press Ctrl-C to abort.

Despite this message. Don't build 64 bit even if you can support it. It is not needed and it's not any faster.

 # make
 # make test
 OpenSSL 0.9.8h 28 May 2008
 built on: Tue Jul  8 16:26:44 EDT 2008
 platform: solaris-sparcv9-gcc
 options:  bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) idea(int) blowfish(ptr) 
 compiler: gcc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m32   -mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W
 OPENSSLDIR: "/usr/local/openssl"
 `test' is up to date.

 # make install
 # openssl version
 OpenSSL 0.9.8h 28 May 2008

You can now compile Apache using the following environment variables (if needed):

 # LDFLAGS="-L/usr/local/lib"; export LDFLAGS
 # SSL_BASE=/usr/local/openssl; export SSL_BASE

Apache with:


Making the package:


Create our work bench:

  1. mkdir /build/my_openssl

Edit the file /build/my_openssl/Makefile with the following contents

 #possible ARCH values are i386, sparc, all

        pkgmk -o -d /build/my_openssl -a $(ARCH)
        touch $(PKGFILE)
        pkgtrans -s /build/my_openssl $(PKGFILE) $(PKG) 
        rm -r /build/my_openssl/$(PKG)
        @echo check current directory for .pkg files

Remember, those big spaces at the start of lines represent a TAB!

Then, create two files in the current directory: pkginfo, and prototype. Here are some examples for you. First is 'pkginfo'

 DESC=OpenSSL 0.9.8h pre-packaged for my servers
 VENDOR=Kevin Inscoe, Houghton Mifflin Harcourt

Next is the /build/my_openssl/prototype file.

An easy way to create this output is with the following commands right after you have done the build. But remember to keep the Expat separate from the OpenSSL.

 # cd /usr/local
 # find . -type d -mtime 0 | sed -e 's/^\.\///g' | awk '{ print "d none usr/local/" $1 " ? ? ?" }'
 # find . -type f -mtime 0 | sed -e 's/^\.\///g' | awk '{ print "f none usr/local/" $1 }'

 i pkginfo
 !default 0755 root bin
 d none usr/local/. ? ? ?
 d none usr/local/bin ? ? ?
 d none usr/local/doc ? ? ?
 d none usr/local/doc/gcc ? ? ?
 d none usr/local/doc/gcc/INSTALL ? ? ?
 d none usr/local/doc/make ? ? ?
 d none usr/local/doc/make/doc ? ? ?
 d none usr/local/doc/libiconv ? ? ?
 d none usr/local/include ? ? ?
 d none usr/local/include/c++ ? ? ?
 d none usr/local/include/c++/3.4.6 ? ? ?
 d none usr/local/include/c++/3.4.6/backward ? ? ?
 d none usr/local/include/c++/3.4.6/bits ? ? ?
 d none usr/local/include/c++/3.4.6/debug ? ? ?
 d none usr/local/include/c++/3.4.6/ext ? ? ?
 d none usr/local/include/c++/3.4.6/sparc-sun-solaris2.10 ? ? ?
 d none usr/local/include/c++/3.4.6/sparc-sun-solaris2.10/bits ? ? ?
 d none usr/local/include/c++/3.4.6/sparc-sun-solaris2.10/bits/stdc++.h.gch ? ? ?
 d none usr/local/include/openssl ? ? ?
 d none usr/local/info ? ? ?
 d none usr/local/lib ? ? ?
 d none usr/local/lib/gcc ? ? ?
 d none usr/local/lib/gcc/sparc-sun-solaris2.10 ? ? ?
 d none usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6 ? ? ?
 d none usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/include ? ? ?
 d none usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/include/evolution-1.4 ? ? ?
 d none usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/include/evolution-1.4/pas ? ? ?
 d none usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/include/iso ? ? ?
 d none usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/include/rpc ? ? ?
 d none usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/include/sys ? ? ?
 d none usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/install-tools ? ? ?
 d none usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/install-tools/include ? ? ?
 d none usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/sparcv9 ? ? ?
 d none usr/local/lib/sparcv9 ? ? ?
 d none usr/local/lib/engines ? ? ?
 d none usr/local/lib/pkgconfig ? ? ?
 d none usr/local/libexec ? ? ?
 d none usr/local/libexec/gcc ? ? ?
 d none usr/local/libexec/gcc/sparc-sun-solaris2.10 ? ? ?
 d none usr/local/libexec/gcc/sparc-sun-solaris2.10/3.4.6 ? ? ?
 d none usr/local/libexec/gcc/sparc-sun-solaris2.10/3.4.6/install-tools ? ? ?
 d none usr/local/man ? ? ?
 d none usr/local/man/man1 ? ? ?
 d none usr/local/man/man7 ? ? ?
 d none usr/local/man/man3 ? ? ?
 d none usr/local/share ? ? ?
 d none usr/local/share/locale ? ? ?
 d none usr/local/share/locale/be ? ? ?
 d none usr/local/share/locale/be/LC_MESSAGES ? ? ?
 d none usr/local/share/locale/ca ? ? ?
 d none usr/local/share/locale/ca/LC_MESSAGES ? ? ?
 d none usr/local/share/locale/da ? ? ?
 d none usr/local/share/locale/da/LC_MESSAGES ? ? ?
 d none usr/local/share/locale/de ? ? ?
 d none usr/local/share/locale/de/LC_MESSAGES ? ? ?
 d none usr/local/share/locale/el ? ? ?
 d none usr/local/share/locale/el/LC_MESSAGES ? ? ?
 d none usr/local/share/locale/es ? ? ?
 d none usr/local/share/locale/es/LC_MESSAGES ? ? ?
 d none usr/local/share/locale/fr ? ? ?
 d none usr/local/share/locale/fr/LC_MESSAGES ? ? ?
 d none usr/local/share/locale/ja ? ? ?
 d none usr/local/share/locale/ja/LC_MESSAGES ? ? ?
 d none usr/local/share/locale/nl ? ? ?
 d none usr/local/share/locale/nl/LC_MESSAGES ? ? ?
 d none usr/local/share/locale/rw ? ? ?
 d none usr/local/share/locale/rw/LC_MESSAGES ? ? ?
 d none usr/local/share/locale/sv ? ? ?
 d none usr/local/share/locale/sv/LC_MESSAGES ? ? ?
 d none usr/local/share/locale/tr ? ? ?
 d none usr/local/share/locale/tr/LC_MESSAGES ? ? ?
 d none usr/local/share/doc ? ? ?
 d none usr/local/share/man ? ? ?
 d none usr/local/share/man/man3 ? ? ?
 d none usr/local/openssl ? ? ?
 d none usr/local/openssl/man ? ? ?
 d none usr/local/openssl/man/man1 ? ? ?
 d none usr/local/openssl/man/man3 ? ? ?
 d none usr/local/openssl/man/man5 ? ? ?
 d none usr/local/openssl/man/man7 ? ? ?
 d none usr/local/openssl/misc ? ? ?
 d none usr/local/openssl/certs ? ? ?
 d none usr/local/openssl/private ? ? ?
 f none usr/local/bin/c_rehash
 f none usr/local/bin/openssl
 f none usr/local/include/zlib.h
 f none usr/local/include/zconf.h
 f none usr/local/include/openssl/e_os2.h
 f none usr/local/include/openssl/crypto.h
 f none usr/local/include/openssl/tmdiff.h
 f none usr/local/include/openssl/opensslv.h
 f none usr/local/include/openssl/opensslconf.h
 f none usr/local/include/openssl/ebcdic.h
 f none usr/local/include/openssl/symhacks.h
 f none usr/local/include/openssl/ossl_typ.h
 f none usr/local/include/openssl/objects.h
 f none usr/local/include/openssl/obj_mac.h
 f none usr/local/include/openssl/md2.h
 f none usr/local/include/openssl/md4.h
 f none usr/local/include/openssl/md5.h
 f none usr/local/include/openssl/sha.h
 f none usr/local/include/openssl/hmac.h
 f none usr/local/include/openssl/ripemd.h
 f none usr/local/include/openssl/des.h
 f none usr/local/include/openssl/des_old.h
 f none usr/local/include/openssl/aes.h
 f none usr/local/include/openssl/rc2.h
 f none usr/local/include/openssl/rc4.h
 f none usr/local/include/openssl/idea.h
 f none usr/local/include/openssl/blowfish.h
 f none usr/local/include/openssl/cast.h
 f none usr/local/include/openssl/bn.h
 f none usr/local/include/openssl/ec.h
 f none usr/local/include/openssl/rsa.h
 f none usr/local/include/openssl/dsa.h
 f none usr/local/include/openssl/ecdsa.h
 f none usr/local/include/openssl/dh.h
 f none usr/local/include/openssl/ecdh.h
 f none usr/local/include/openssl/dso.h
 f none usr/local/include/openssl/engine.h
 f none usr/local/include/openssl/buffer.h
 f none usr/local/include/openssl/bio.h
 f none usr/local/include/openssl/stack.h
 f none usr/local/include/openssl/safestack.h
 f none usr/local/include/openssl/lhash.h
 f none usr/local/include/openssl/rand.h
 f none usr/local/include/openssl/err.h
 f none usr/local/include/openssl/evp.h
 f none usr/local/include/openssl/asn1.h
 f none usr/local/include/openssl/asn1_mac.h
 f none usr/local/include/openssl/asn1t.h
 f none usr/local/include/openssl/pem.h
 f none usr/local/include/openssl/pem2.h
 f none usr/local/include/openssl/x509.h
 f none usr/local/include/openssl/x509_vfy.h
 f none usr/local/include/openssl/x509v3.h
 f none usr/local/include/openssl/conf.h
 f none usr/local/include/openssl/conf_api.h
 f none usr/local/include/openssl/txt_db.h
 f none usr/local/include/openssl/pkcs7.h
 f none usr/local/include/openssl/pkcs12.h
 f none usr/local/include/openssl/comp.h
 f none usr/local/include/openssl/ocsp.h
 f none usr/local/include/openssl/ui.h
 f none usr/local/include/openssl/ui_compat.h
 f none usr/local/include/openssl/krb5_asn.h
 f none usr/local/include/openssl/store.h
 f none usr/local/include/openssl/pqueue.h
 f none usr/local/include/openssl/pq_compat.h
 f none usr/local/include/openssl/ssl.h
 f none usr/local/include/openssl/ssl2.h
 f none usr/local/include/openssl/ssl3.h
 f none usr/local/include/openssl/ssl23.h
 f none usr/local/include/openssl/tls1.h
 f none usr/local/include/openssl/dtls1.h
 f none usr/local/include/openssl/kssl.h
 f none usr/local/lib/libz.a
 f none usr/local/lib/pkgconfig/libcrypto.pc
 f none usr/local/lib/pkgconfig/libssl.pc
 f none usr/local/lib/pkgconfig/openssl.pc
 f none usr/local/lib/libcrypto.a
 f none usr/local/lib/libssl.a
 f none usr/local/share/man/man3/zlib.3
 f none usr/local/openssl/man/man1/
 f none usr/local/openssl/man/man1/asn1parse.1
 f none usr/local/openssl/man/man1/ca.1
 f none usr/local/openssl/man/man1/ciphers.1
 f none usr/local/openssl/man/man1/crl.1
 f none usr/local/openssl/man/man1/crl2pkcs7.1
 f none usr/local/openssl/man/man1/dgst.1
 f none usr/local/openssl/man/man1/dhparam.1
 f none usr/local/openssl/man/man1/dsa.1
 f none usr/local/openssl/man/man1/dsaparam.1
 f none usr/local/openssl/man/man1/ec.1
 f none usr/local/openssl/man/man1/ecparam.1
 f none usr/local/openssl/man/man1/enc.1
 f none usr/local/openssl/man/man1/errstr.1
 f none usr/local/openssl/man/man1/gendsa.1
 f none usr/local/openssl/man/man1/genrsa.1
 f none usr/local/openssl/man/man1/nseq.1
 f none usr/local/openssl/man/man1/ocsp.1
 f none usr/local/openssl/man/man1/openssl.1
 f none usr/local/openssl/man/man1/passwd.1
 f none usr/local/openssl/man/man1/pkcs12.1
 f none usr/local/openssl/man/man1/pkcs7.1
 f none usr/local/openssl/man/man1/pkcs8.1
 f none usr/local/openssl/man/man1/rand.1
 f none usr/local/openssl/man/man1/req.1
 f none usr/local/openssl/man/man1/rsa.1
 f none usr/local/openssl/man/man1/rsautl.1
 f none usr/local/openssl/man/man1/s_client.1
 f none usr/local/openssl/man/man1/s_server.1
 f none usr/local/openssl/man/man1/s_time.1
 f none usr/local/openssl/man/man1/sess_id.1
 f none usr/local/openssl/man/man1/smime.1
 f none usr/local/openssl/man/man1/speed.1
 f none usr/local/openssl/man/man1/spkac.1
 f none usr/local/openssl/man/man1/verify.1
 f none usr/local/openssl/man/man1/version.1
 f none usr/local/openssl/man/man1/x509.1
 f none usr/local/openssl/man/man3/ASN1_OBJECT_new.3
 f none usr/local/openssl/man/man3/ASN1_STRING_length.3
 f none usr/local/openssl/man/man3/ASN1_STRING_new.3
 f none usr/local/openssl/man/man3/ASN1_STRING_print_ex.3
 f none usr/local/openssl/man/man3/ASN1_generate_nconf.3
 f none usr/local/openssl/man/man3/BIO_ctrl.3
 f none usr/local/openssl/man/man3/BIO_f_base64.3
 f none usr/local/openssl/man/man3/BIO_f_buffer.3
 f none usr/local/openssl/man/man3/BIO_f_cipher.3
 f none usr/local/openssl/man/man3/BIO_f_md.3
 f none usr/local/openssl/man/man3/BIO_f_null.3
 f none usr/local/openssl/man/man3/BIO_f_ssl.3
 f none usr/local/openssl/man/man3/bio.3
 f none usr/local/openssl/man/man3/BIO_find_type.3
 f none usr/local/openssl/man/man3/BIO_new.3
 f none usr/local/openssl/man/man3/BIO_push.3
 f none usr/local/openssl/man/man3/BIO_read.3
 f none usr/local/openssl/man/man3/BIO_s_accept.3
 f none usr/local/openssl/man/man3/BIO_s_bio.3
 f none usr/local/openssl/man/man3/BIO_s_connect.3
 f none usr/local/openssl/man/man3/BIO_s_fd.3
 f none usr/local/openssl/man/man3/BIO_s_file.3
 f none usr/local/openssl/man/man3/BIO_s_mem.3
 f none usr/local/openssl/man/man3/BIO_s_null.3
 f none usr/local/openssl/man/man3/BIO_s_socket.3
 f none usr/local/openssl/man/man3/BIO_set_callback.3
 f none usr/local/openssl/man/man3/BN_CTX_new.3
 f none usr/local/openssl/man/man3/BIO_should_retry.3
 f none usr/local/openssl/man/man3/BN_BLINDING_new.3
 f none usr/local/openssl/man/man3/bn.3
 f none usr/local/openssl/man/man3/BN_CTX_start.3
 f none usr/local/openssl/man/man3/BN_add.3
 f none usr/local/openssl/man/man3/BN_add_word.3
 f none usr/local/openssl/man/man3/BN_bn2bin.3
 f none usr/local/openssl/man/man3/BN_cmp.3
 f none usr/local/openssl/man/man3/BN_copy.3
 f none usr/local/openssl/man/man3/BN_generate_prime.3
 f none usr/local/openssl/man/man3/BN_mod_inverse.3
 f none usr/local/openssl/man/man3/BN_mod_mul_montgomery.3
 f none usr/local/openssl/man/man3/BN_mod_mul_reciprocal.3
 f none usr/local/openssl/man/man3/BN_new.3
 f none usr/local/openssl/man/man3/BN_num_bytes.3
 f none usr/local/openssl/man/man3/BN_rand.3
 f none usr/local/openssl/man/man3/BN_set_bit.3
 f none usr/local/openssl/man/man3/BN_swap.3
 f none usr/local/openssl/man/man3/BN_zero.3
 f none usr/local/openssl/man/man3/CONF_modules_free.3
 f none usr/local/openssl/man/man3/CONF_modules_load_file.3
 f none usr/local/openssl/man/man3/CRYPTO_set_ex_data.3
 f none usr/local/openssl/man/man3/DH_generate_key.3
 f none usr/local/openssl/man/man3/DH_generate_parameters.3
 f none usr/local/openssl/man/man3/DH_get_ex_new_index.3
 f none usr/local/openssl/man/man3/DH_new.3
 f none usr/local/openssl/man/man3/DH_set_method.3
 f none usr/local/openssl/man/man3/DH_size.3
 f none usr/local/openssl/man/man3/DSA_SIG_new.3
 f none usr/local/openssl/man/man3/DSA_do_sign.3
 f none usr/local/openssl/man/man3/DSA_dup_DH.3
 f none usr/local/openssl/man/man3/DSA_generate_key.3
 f none usr/local/openssl/man/man3/DSA_generate_parameters.3
 f none usr/local/openssl/man/man3/DSA_get_ex_new_index.3
 f none usr/local/openssl/man/man3/DSA_new.3
 f none usr/local/openssl/man/man3/DSA_set_method.3
 f none usr/local/openssl/man/man3/DSA_sign.3
 f none usr/local/openssl/man/man3/DSA_size.3
 f none usr/local/openssl/man/man3/ERR_GET_LIB.3
 f none usr/local/openssl/man/man3/ERR_clear_error.3
 f none usr/local/openssl/man/man3/ERR_error_string.3
 f none usr/local/openssl/man/man3/ERR_get_error.3
 f none usr/local/openssl/man/man3/ERR_load_crypto_strings.3
 f none usr/local/openssl/man/man3/ERR_load_strings.3
 f none usr/local/openssl/man/man3/ERR_print_errors.3
 f none usr/local/openssl/man/man3/ERR_put_error.3
 f none usr/local/openssl/man/man3/ERR_remove_state.3
 f none usr/local/openssl/man/man3/ERR_set_mark.3
 f none usr/local/openssl/man/man3/EVP_BytesToKey.3
 f none usr/local/openssl/man/man3/EVP_DigestInit.3
 f none usr/local/openssl/man/man3/EVP_EncryptInit.3
 f none usr/local/openssl/man/man3/EVP_OpenInit.3
 f none usr/local/openssl/man/man3/EVP_PKEY_new.3
 f none usr/local/openssl/man/man3/EVP_PKEY_set1_RSA.3
 f none usr/local/openssl/man/man3/EVP_SealInit.3
 f none usr/local/openssl/man/man3/EVP_SignInit.3
 f none usr/local/openssl/man/man3/OBJ_nid2obj.3
 f none usr/local/openssl/man/man3/EVP_VerifyInit.3
 f none usr/local/openssl/man/man3/OPENSSL_Applink.3
 f none usr/local/openssl/man/man3/OPENSSL_VERSION_NUMBER.3
 f none usr/local/openssl/man/man3/OPENSSL_config.3
 f none usr/local/openssl/man/man3/OPENSSL_ia32cap.3
 f none usr/local/openssl/man/man3/OPENSSL_load_builtin_modules.3
 f none usr/local/openssl/man/man3/OpenSSL_add_all_algorithms.3
 f none usr/local/openssl/man/man3/PKCS12_create.3
 f none usr/local/openssl/man/man3/PKCS12_parse.3
 f none usr/local/openssl/man/man3/PKCS7_decrypt.3
 f none usr/local/openssl/man/man3/PKCS7_encrypt.3
 f none usr/local/openssl/man/man3/PKCS7_sign.3
 f none usr/local/openssl/man/man3/PKCS7_verify.3
 f none usr/local/openssl/man/man3/RAND_add.3
 f none usr/local/openssl/man/man3/RAND_bytes.3
 f none usr/local/openssl/man/man3/RAND_cleanup.3
 f none usr/local/openssl/man/man3/RAND_egd.3
 f none usr/local/openssl/man/man3/RAND_load_file.3
 f none usr/local/openssl/man/man3/RAND_set_rand_method.3
 f none usr/local/openssl/man/man3/RSA_blinding_on.3
 f none usr/local/openssl/man/man3/RSA_check_key.3
 f none usr/local/openssl/man/man3/RSA_generate_key.3
 f none usr/local/openssl/man/man3/RSA_get_ex_new_index.3
 f none usr/local/openssl/man/man3/RSA_new.3
 f none usr/local/openssl/man/man3/RSA_padding_add_PKCS1_type_1.3
 f none usr/local/openssl/man/man3/RSA_print.3
 f none usr/local/openssl/man/man3/sha.3
 f none usr/local/openssl/man/man3/RSA_private_encrypt.3
 f none usr/local/openssl/man/man3/RSA_public_encrypt.3
 f none usr/local/openssl/man/man3/RSA_set_method.3
 f none usr/local/openssl/man/man3/RSA_sign.3
 f none usr/local/openssl/man/man3/RSA_sign_ASN1_OCTET_STRING.3
 f none usr/local/openssl/man/man3/RSA_size.3
 f none usr/local/openssl/man/man3/SMIME_read_PKCS7.3
 f none usr/local/openssl/man/man3/SMIME_write_PKCS7.3
 f none usr/local/openssl/man/man3/X509_NAME_ENTRY_get_object.3
 f none usr/local/openssl/man/man3/X509_NAME_add_entry_by_txt.3
 f none usr/local/openssl/man/man3/X509_NAME_get_index_by_NID.3
 f none usr/local/openssl/man/man3/X509_NAME_print_ex.3
 f none usr/local/openssl/man/man3/X509_new.3
 f none usr/local/openssl/man/man3/blowfish.3
 f none usr/local/openssl/man/man3/bn_internal.3
 f none usr/local/openssl/man/man3/buffer.3
 f none usr/local/openssl/man/man3/crypto.3
 f none usr/local/openssl/man/man3/d2i_ASN1_OBJECT.3
 f none usr/local/openssl/man/man3/d2i_DHparams.3
 f none usr/local/openssl/man/man3/d2i_DSAPublicKey.3
 f none usr/local/openssl/man/man3/d2i_PKCS8PrivateKey.3
 f none usr/local/openssl/man/man3/d2i_RSAPublicKey.3
 f none usr/local/openssl/man/man3/d2i_X509.3
 f none usr/local/openssl/man/man3/d2i_X509_ALGOR.3
 f none usr/local/openssl/man/man3/d2i_X509_CRL.3
 f none usr/local/openssl/man/man3/d2i_X509_NAME.3
 f none usr/local/openssl/man/man3/d2i_X509_REQ.3
 f none usr/local/openssl/man/man3/d2i_X509_SIG.3
 f none usr/local/openssl/man/man3/des.3
 f none usr/local/openssl/man/man3/dh.3
 f none usr/local/openssl/man/man3/dsa.3
 f none usr/local/openssl/man/man3/ecdsa.3
 f none usr/local/openssl/man/man3/engine.3
 f none usr/local/openssl/man/man3/err.3
 f none usr/local/openssl/man/man3/evp.3
 f none usr/local/openssl/man/man3/hmac.3
 f none usr/local/openssl/man/man3/rsa.3
 f none usr/local/openssl/man/man3/lh_stats.3
 f none usr/local/openssl/man/man3/lhash.3
 f none usr/local/openssl/man/man3/md5.3
 f none usr/local/openssl/man/man3/mdc2.3
 f none usr/local/openssl/man/man3/pem.3
 f none usr/local/openssl/man/man3/rand.3
 f none usr/local/openssl/man/man3/rc4.3
 f none usr/local/openssl/man/man3/ripemd.3
 f none usr/local/openssl/man/man3/threads.3
 f none usr/local/openssl/man/man3/ui.3
 f none usr/local/openssl/man/man3/ui_compat.3
 f none usr/local/openssl/man/man3/x509.3
 f none usr/local/openssl/man/man3/SSL_CIPHER_get_name.3
 f none usr/local/openssl/man/man3/SSL_COMP_add_compression_method.3
 f none usr/local/openssl/man/man3/SSL_CTX_add_extra_chain_cert.3
 f none usr/local/openssl/man/man3/SSL_CTX_add_session.3
 f none usr/local/openssl/man/man3/SSL_CTX_ctrl.3
 f none usr/local/openssl/man/man3/SSL_CTX_flush_sessions.3
 f none usr/local/openssl/man/man3/SSL_CTX_free.3
 f none usr/local/openssl/man/man3/SSL_CTX_get_ex_new_index.3
 f none usr/local/openssl/man/man3/SSL_CTX_get_verify_mode.3
 f none usr/local/openssl/man/man3/SSL_CTX_load_verify_locations.3
 f none usr/local/openssl/man/man3/SSL_CTX_new.3
 f none usr/local/openssl/man/man3/SSL_CTX_sess_number.3
 f none usr/local/openssl/man/man3/SSL_CTX_sess_set_cache_size.3
 f none usr/local/openssl/man/man3/SSL_CTX_sess_set_get_cb.3
 f none usr/local/openssl/man/man3/SSL_CTX_sessions.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_cert_store.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_cert_verify_callback.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_cipher_list.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_client_CA_list.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_client_cert_cb.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_default_passwd_cb.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_generate_session_id.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_info_callback.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_max_cert_list.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_mode.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_msg_callback.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_options.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_quiet_shutdown.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_session_cache_mode.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_session_id_context.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_ssl_version.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_timeout.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_tmp_dh_callback.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_tmp_rsa_callback.3
 f none usr/local/openssl/man/man3/SSL_CTX_set_verify.3
 f none usr/local/openssl/man/man3/SSL_CTX_use_certificate.3
 f none usr/local/openssl/man/man3/SSL_SESSION_free.3
 f none usr/local/openssl/man/man3/SSL_get_SSL_CTX.3
 f none usr/local/openssl/man/man3/SSL_SESSION_get_ex_new_index.3
 f none usr/local/openssl/man/man3/SSL_SESSION_get_time.3
 f none usr/local/openssl/man/man3/SSL_accept.3
 f none usr/local/openssl/man/man3/SSL_alert_type_string.3
 f none usr/local/openssl/man/man3/SSL_clear.3
 f none usr/local/openssl/man/man3/SSL_connect.3
 f none usr/local/openssl/man/man3/SSL_do_handshake.3
 f none usr/local/openssl/man/man3/SSL_free.3
 f none usr/local/openssl/man/man3/SSL_get_ciphers.3
 f none usr/local/openssl/man/man3/SSL_get_client_CA_list.3
 f none usr/local/openssl/man/man3/SSL_get_current_cipher.3
 f none usr/local/openssl/man/man3/SSL_get_default_timeout.3
 f none usr/local/openssl/man/man3/SSL_get_error.3
 f none usr/local/openssl/man/man3/SSL_get_ex_data_X509_STORE_CTX_idx.3
 f none usr/local/openssl/man/man3/SSL_get_ex_new_index.3
 f none usr/local/openssl/man/man3/SSL_get_fd.3
 f none usr/local/openssl/man/man3/SSL_get_peer_cert_chain.3
 f none usr/local/openssl/man/man3/SSL_get_peer_certificate.3
 f none usr/local/openssl/man/man3/SSL_get_rbio.3
 f none usr/local/openssl/man/man3/SSL_get_session.3
 f none usr/local/openssl/man/man3/SSL_get_verify_result.3
 f none usr/local/openssl/man/man3/SSL_get_version.3
 f none usr/local/openssl/man/man3/SSL_library_init.3
 f none usr/local/openssl/man/man3/SSL_load_client_CA_file.3
 f none usr/local/openssl/man/man3/SSL_new.3
 f none usr/local/openssl/man/man3/SSL_pending.3
 f none usr/local/openssl/man/man3/SSL_read.3
 f none usr/local/openssl/man/man3/SSL_rstate_string.3
 f none usr/local/openssl/man/man3/SSL_session_reused.3
 f none usr/local/openssl/man/man3/SSL_set_bio.3
 f none usr/local/openssl/man/man3/SSL_set_connect_state.3
 f none usr/local/openssl/man/man3/SSL_set_fd.3
 f none usr/local/openssl/man/man3/SSL_set_session.3
 f none usr/local/openssl/man/man3/SSL_set_shutdown.3
 f none usr/local/openssl/man/man3/SSL_set_verify_result.3
 f none usr/local/openssl/man/man3/SSL_shutdown.3
 f none usr/local/openssl/man/man3/SSL_state_string.3
 f none usr/local/openssl/man/man3/SSL_want.3
 f none usr/local/openssl/man/man3/SSL_write.3
 f none usr/local/openssl/man/man3/d2i_SSL_SESSION.3
 f none usr/local/openssl/man/man3/ssl.3
 f none usr/local/openssl/man/man5/config.5
 f none usr/local/openssl/man/man5/x509v3_config.5
 f none usr/local/openssl/man/man7/des_modes.7
 f none usr/local/openssl/misc/c_issuer
 f none usr/local/openssl/misc/
 f none usr/local/openssl/misc/
 f none usr/local/openssl/misc/c_hash
 f none usr/local/openssl/misc/c_info
 f none usr/local/openssl/misc/c_name
 f none usr/local/openssl/openssl.cnf

    d means "directory"
    i means "information"
    f means "file"

The idea for the "file" entry being that you put where you want the file to go on the left of the '=' sign, and where it is currently, on the right side. Also, there is an implied $BASEDIR in front of the destination dir.

So, if you had a file in the current directory called help.proto, and you wanted it installed in /usr/local/lib/myprog.proto, you could have as an entry,

 f none $BASEDIR/lib/myprog.proto=helpproto

although as I mentioned, the $BASEDIR/ is implied, and takes whatever value is set for BASEDIR in pkginfo. Which is why it is always nice to set something reasonable for BASEDIR in pkginfo, instead of BASEDIR=/

-- Go! -- So now, if you have all your binaries, etc listed in the prototype file, all you have to do is type

    make pkg 

and very soon you will have a shiney new .pkg file in your curent directory! Suitable for "pkgadd -d name.pkg" to add it. Or use pkgchk -d name.pkg with various options, to examine your new package.

Package dependancies If you want your package to depend on another package, you need to create a 'depend' file (man depend) and add

 i depend

to the prototype file.

Tip on changing package BASEDIRS: If you want to install a package in a BASEDIR other than it's default, try "pkgadd -a none -d pkgfile". Or, if you want to make it permenent (or want to do some safetychecks on it first), use my pkgreloc.ksh script

For more grungy details, you can try "man prototype", "man -s4 pkginfo", or go to Sun's Application Packaging Developer's Guide pages.

Kevin's Public Wiki maintained and created by Kevin P. Inscoe is licensed under a
Creative Commons Attribution 3.0 United States License.

Back to my web site -

Edit - History - Print - Recent Changes - Search
Page last modified on November 16, 2011, at 06:01 PM EST