diff options
Diffstat (limited to 'net/nph/pkg-install')
-rw-r--r-- | net/nph/pkg-install | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/net/nph/pkg-install b/net/nph/pkg-install new file mode 100644 index 000000000000..df19b74cb06b --- /dev/null +++ b/net/nph/pkg-install @@ -0,0 +1,57 @@ +#!/bin/sh + +PKG_PREFIX=${PKG_PREFIX:-/usr/local} + +if [ $# -ne 2 ]; then + echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2 + exit 1 +fi + +case $2 in + POST-INSTALL) + + grep csnet-ns /etc/services > /dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "adding csnet-ns to /etc/services..." + cp /etc/services /etc/services.pre.$1 + echo "csnet-ns 105/tcp ns # PH" >> /etc/services + fi + + if [ ! -d "${PKG_PREFIX}/etc" ]; then + echo "creating directory ${PKG_PREFIX}/etc..."; + mkdir -p "${PKG_PREFIX}/etc"; + fi + + PH_SERVER=`hostname | awk -F. '(NF > 1) { printf "ns.%s.%s\n", $(NF - 1), $NF; }'`; + + if [ -z "${PH_SERVER}" ]; then + if [ -x /usr/sbin/nslookup ]; then + NSLOOKUP=/usr/sbin/nslookup; + elif [ -x /usr/bin/nslookup ]; then + NSLOOKUP=/usr/bin/nslookup; + fi + + if [ -n "${NSLOOKUP}" ]; then + PH_SERVER=`hostname | xargs ${NSLOOKUP} | awk '/^Name:/ { print $2; exit; }' | awk -F. '{ printf("ns.%s.%s\n", $(NF - 1), $NF); }'`; + fi + fi + + if [ -n "${PH_SERVER}" ]; then + echo "${PH_SERVER}" > ${PKG_PREFIX}/etc/ph_server.sample; + elif [ ! -f "${PKG_PREFIX}/etc/ph_server" ]; then + echo "WARNING: cannot determine PH server name - you must create ${PKG_PREFIX}/etc/ph_server manually"; + fi + + if [ ! -f "${PKG_PREFIX}/etc/ph_server" ]; then + echo "creating default ${PKG_PREFIX}/etc/ph_server file..."; + cp ${PKG_PREFIX}/etc/ph_server.sample ${PKG_PREFIX}/etc/ph_server; + fi + + if [ ! -f "${PKG_PREFIX}/etc/nphrc" ]; then + echo "installing default ${PKG_PREFIX}/etc/nphrc file..."; + cp ${PKG_PREFIX}/etc/nphrc.sample ${PKG_PREFIX}/etc/nphrc; + fi + ;; +esac + +exit 0 |