zlib ==== building -------- cd ~/src/sfw/ gtar xzvf zlib-1.2.1.tar.gz cd zlib-1.2.1 ./configure --prefix=/opt/jdmz make mkdir -p ~/pkg/sol8/zlib/root/opt/jdmz make install prefix=~/pkg/sol8/zlib/root/opt/jdmz packaging --------- cd ~/pkg/sol8/zlib vi pkginfo PKG="JDMZzlib" NAME="zlib 1.2.1" VERSION="1.2.1" ARCH="sparc" CLASSES="none" CATEGORY="utility" VENDOR="Gailly and Adler" PSTAMP="Troy Johnson" EMAIL="troy@jdmz.net" ISTATES="S s 1 2 3" RSTATES="S s 1 2 3" BASEDIR="/" find root > filelist.txt cat filelist.txt | pkgproto > Prototype perl -p -i -e 's# root/# /#g' Prototype perl -p -i -e 's/troy/root/g' Prototype perl -p -i -e 's/users/root/g' Prototype perl -p -i -e 's/750/755/g' Prototype perl -p -i -e 's/640/644/g' Prototype echo i pkginfo >> Prototype vi Prototype # check permissions and files pkgmk -o -r ./root -d . -f Prototype gtar cf - JDMZzlib | gzip -9 -c > JDMZzlib-1.2.1-sol8sparc.pkg.tgz cp JDMZzlib-1.2.1-sol8sparc.pkg.tgz /docs/jdmz-pkgs/sol8/ distributing ------------ cd /docs/jdmz-pkgs/sol8 rm -Rf JDMZzlib gtar xzvf JDMZzlib-1.2.1-sol8sparc.pkg.tgz find JDMZzlib -type d -exec chmod a+rx \{\} \; find JDMZzlib -type f -exec chmod a+r \{\} \; tcp wrappers ============ building -------- cd ~/src/sfw/ gtar xzvf tcp_wrappers-7.6.tar.gz cd tcp_wrappers_7.6 make REAL_DAEMON_DIR=/opt/jdmz/rdd sunos5 mkdir -p ~/pkg/sol8/tcpd/root/opt/jdmz/man/man3 cp *.3 ~/pkg/sol8/tcpd/root/opt/jdmz/man/man3/ mkdir -p ~/pkg/sol8/tcpd/root/opt/jdmz/man/man5 cp *.5 ~/pkg/sol8/tcpd/root/opt/jdmz/man/man5/ mkdir -p ~/pkg/sol8/tcpd/root/opt/jdmz/man/man8 cp *.8 ~/pkg/sol8/tcpd/root/opt/jdmz/man/man8/ mkdir -p ~/pkg/sol8/tcpd/root/opt/jdmz/sbin cp safe_finger tcpd tcpdchk tcpdmatch try-from ~/pkg/sol8/tcpd/root/opt/jdmz/sbin/ mkdir -p ~/pkg/sol8/tcpd/root/opt/jdmz/include cp tcpd.h ~/pkg/sol8/tcpd/root/opt/jdmz/include/ mkdir -p ~/pkg/sol8/tcpd/root/opt/jdmz/lib cp libwrap.a ~/pkg/sol8/tcpd/root/opt/jdmz/lib/ mkdir -p ~/pkg/sol8/tcpd/root/opt/jdmz/doc/tcpd cp BLURB CHANGES DISCLAIMER README* ~/pkg/sol8/tcpd/root/opt/jdmz/doc/tcpd/ mkdir -p ~/pkg/sol8/tcpd/root/opt/jdmz/rdd packaging --------- cd ~/pkg/sol8/tcpd vi pkginfo PKG="JDMZtcpd" NAME="TCP Wrappers 7.6" VERSION="7.6" ARCH="sparc" CLASSES="none" CATEGORY="utility" VENDOR="Wietze Venema" PSTAMP="Troy Johnson" EMAIL="troy@jdmz.net" ISTATES="S s 1 2 3" RSTATES="S s 1 2 3" BASEDIR="/" find root > filelist.txt cat filelist.txt | pkgproto > Prototype perl -p -i -e 's# root/# /#g' Prototype perl -p -i -e 's/troy/root/g' Prototype perl -p -i -e 's/users/root/g' Prototype perl -p -i -e 's/750/755/g' Prototype perl -p -i -e 's/640/644/g' Prototype echo i pkginfo >> Prototype vi Prototype # check permissions and files pkgmk -o -r ./root -d . -f Prototype gtar cf - JDMZtcpwrappers | gzip -9 -c > JDMZtcpwrappers-7.6-sol8sparc.pkg.tgz cp JDMZtcpwrappers-7.6-sol8sparc.pkg.tgz /docs/jdmz-pkgs/sol8/ distributing ------------ cd /docs/jdmz-pkgs/sol8 rm -Rf JDMZtcpwrappers gtar xzvf JDMZtcpwrappers-7.6-sol8sparc.pkg.tgz find JDMZtcpwrappers -type d -exec chmod a+rx \{\} \; find JDMZtcpwrappers -type f -exec chmod a+r \{\} \; openssl ======= building -------- cd ~/src/sfw/ gtar xzvf openssl-0.9.7d.tar.gz cd openssl-0.9.7d ./config zlib -I/opt/jdmz/include -L/opt/jdmz/lib --prefix=/opt/jdmz vi Makefile INSTALL_PREFIX=~/pkg/sol8/openssl/root make make install packaging --------- cd ~/pkg/sol8/openssl vi pkginfo PKG="JDMZopenssl" NAME="OpenSSL 0.9.7d" VERSION="0.9.7d" ARCH="sparc" CLASSES="none" CATEGORY="utility" VENDOR="The OpenSSL Project" PSTAMP="Troy Johnson" EMAIL="troy@jdmz.net" ISTATES="S s 1 2 3" RSTATES="S s 1 2 3" BASEDIR="/" find root > filelist.txt cat filelist.txt | pkgproto > Prototype perl -p -i -e 's# root/# /#g' Prototype perl -p -i -e 's/troy/root/g' Prototype perl -p -i -e 's/users/root/g' Prototype perl -p -i -e 's/750/755/g' Prototype perl -p -i -e 's/640/644/g' Prototype echo i pkginfo >> Prototype vi Prototype # check permissions and files pkgmk -o -r ./root -d . -f Prototype gtar cf - JDMZopenssl | gzip -9 -c > JDMZopenssl-0.9.7d-sol8sparc.pkg.tgz cp JDMZopenssl-0.9.7d-sol8sparc.pkg.tgz /docs/jdmz-pkgs/sol8 distributing ------------ cd /docs/jdmz-pkgs/sol8 rm -Rf JDMZopenssl gtar xzvf JDMZopenssl-0.9.7d-sol8sparc.pkg.tgz find JDMZopenssl -type d -exec chmod a+rx \{\} \; find JDMZopenssl -type f -exec chmod a+r \{\} \; openssh ======= building -------- cd ~/src/sfw/ gtar xzvf openssh-3.8p1.tar.gz cd openssh-3.8p1 # solaris 2.5.1 packages did not like "--with-pam" ./configure --prefix=/opt/jdmz --with-zlib=/opt/jdmz --with-tcp_wrappers=/opt/jdmz --with-ssl-dir=/opt/jdmz --with-pam --with-md5-passwords --with-rand-helper --sysconfdir=/etc/jdmz/ssh --without-privsep-user --without-privsep-path --without-prngd --with-lastlog=/var/adm/lastlog make mkdir -p ~/pkg/sol8/openssh/root make DESTDIR=~/pkg/sol8/openssh/root install packaging --------- cd ~/pkg/sol8/openssh vi pkginfo PKG="JDMZopenssh" NAME="Open SSH 3.8 p1" VERSION="3.8p1" ARCH="sparc" CLASSES="none" CATEGORY="utility" VENDOR="The Open BSD Group" PSTAMP="20040224" EMAIL="troy@jdmz.net" ISTATES="S s 1 2 3" RSTATES="S s 1 2 3" BASEDIR="/" vi postinstall # see postinstall listing at end vi opensshd # see opensshd listing at end mkdir root/etc/init.d cp opensshd root/etc/init.d/ export MYCWD=`pwd` for d in root/etc/rc0.d root/etc/rc1.d root/etc/rcS.d ; do mkdir $MYCWD/$d cd $MYCWD/$d ln -s ../init.d/opensshd K15opensshd done mkdir $MYCWD/root/etc/rc2.d cd $MYCWD/root/etc/rc2.d ln -s ../init.d/opensshd S90opensshd cd $MYCWD find root > filelist.txt cat filelist.txt | pkgproto > Prototype perl -p -i -e 's# root/# /#g' Prototype perl -p -i -e 's/troy/root/g' Prototype perl -p -i -e 's/users/root/g' Prototype perl -p -i -e 's/750/755/g' Prototype perl -p -i -e 's/640/644/g' Prototype echo i pkginfo >> Prototype echo i postinstall >> Prototype vi Prototype # check permissions and files vi root/etc/jdmz/ssh/ssh_config Host * ForwardAgent yes ForwardX11 yes vi root/etc/jdmz/ssh/sshd_config X11Forwarding yes UsePrivilegeSeparation no pkgmk -o -r ./root -d . -f Prototype gtar cf - JDMZopenssh | gzip -9 -c > JDMZopenssh-3.8p1-sol8sparc.pkg.tgz cp JDMZopenssh-3.8p1-sol8sparc.pkg.tgz /docs/jdmz-pkgs/sol8/ distributing ------------ cd /docs/jdmz-pkgs/sol8 rm -Rf JDMZopenssh gtar xzvf JDMZopenssh-3.8p1-sol8sparc.pkg.tgz find JDMZopenssh -type d -exec chmod a+rx \{\} \; find JDMZopenssh -type f -exec chmod a+r \{\} \; ======== opensshd ======== #!/bin/sh # OpenSSH Secure Shell Daemon (sshd) if [ ! -d /opt/jdmz/sbin ] then # /opt/jdmz not mounted exit fi killproc() { # kill the named process(es) pid=`/usr/bin/ps -e | /usr/bin/grep -w $1 | /usr/bin/sed -e 's/^ *//' -e 's/ .*//'` [ "$pid" != "" ] && kill $pid } case "$1" in 'start') if [ -x "/opt/jdmz/sbin/sshd" -a -r "/etc/jdmz/ssh/sshd_config" ]; then /opt/jdmz/sbin/sshd else echo "Error: /opt/jdmz/sbin/sshd not started" fi ;; 'stop') killproc sshd ;; *) echo "Usage: /etc/init.d/opensshd { start | stop }" ;; esac =========== postinstall =========== #!/bin/sh # JDMZopenssh postinstall CHMOD=/usr/bin/chmod SEC=0600 PUB=0644 CHOWN=/usr/bin/chown USRGRP=root:root BINDIR=/opt/jdmz/bin SSH_KEYGEN=$BINDIR/ssh-keygen ETCDIR=/etc/jdmz/ssh RSA1_KEY=$ETCDIR/ssh_host_key DSA_KEY=$ETCDIR/ssh_host_dsa_key RSA_KEY=$ETCDIR/ssh_host_rsa_key ECHO=/bin/echo UNAME=/bin/uname FILE=/bin/file if [ ! -f ${RSA1_KEY} ] ; then ${SSH_KEYGEN} -t rsa1 -f ${RSA1_KEY} -N "" if [ -f ${RSA1_KEY} ] ; then ${CHMOD} ${SEC} ${RSA1_KEY} ${CHMOD} ${PUB} ${RSA1_KEY}.pub ${CHOWN} ${USRGRP} ${RSA1_KEY} ${CHOWN} ${USRGRP} ${RSA1_KEY}.pub else ${ECHO} "${SSH_KEYGEN} did not produce ${RSA1_KEY}" ${ECHO} " Possible conflict between architecture or platform:" ${UNAME} -a ${ECHO} " and installed binary:" ${FILE} ${SSH_KEYGEN} fi fi if [ ! -f ${DSA_KEY} ] ; then ${SSH_KEYGEN} -t dsa -f ${DSA_KEY} -N "" if [ -f ${DSA_KEY} ] ; then ${CHMOD} ${SEC} ${DSA_KEY} ${CHMOD} ${PUB} ${DSA_KEY}.pub ${CHOWN} ${USRGRP} ${DSA_KEY} ${CHOWN} ${USRGRP} ${DSA_KEY}.pub else ${ECHO} "${SSH_KEYGEN} did not produce ${DSA_KEY}" ${ECHO} " Possible conflict between architecture or platform:" ${UNAME} -a ${ECHO} " and installed binary:" ${FILE} ${SSH_KEYGEN} fi fi if [ ! -f ${RSA_KEY} ] ; then ${SSH_KEYGEN} -t rsa -f ${RSA_KEY} -N "" if [ -f ${RSA_KEY} ] ; then ${CHMOD} ${SEC} ${RSA_KEY} ${CHMOD} ${PUB} ${RSA_KEY}.pub ${CHOWN} ${USRGRP} ${RSA_KEY} ${CHOWN} ${USRGRP} ${RSA_KEY}.pub else ${ECHO} "${SSH_KEYGEN} did not produce ${RSA_KEY}" ${ECHO} " Possible conflict between architecture or platform:" ${UNAME} -a ${ECHO} " and installed binary:" ${FILE} ${SSH_KEYGEN} fi fi