#!/bin/sh # # $OpenBSD: INSTALL,v 1.6 2004/02/09 06:48:48 marcm Exp $ P_NAME=nut DIRS=' . ' FILES=' ups.conf upssched.conf ' PRIVATE_FILES=' upsmon.conf upsd.conf upsd.users ' set -e PREFIX=${PKG_PREFIX:-/usr/local} PATH=/bin:/usr/bin:/sbin:/usr/sbin do_create_user() { if id -u ${NUT_USER} >/dev/null 2>/dev/null then echo "===> Using existing account '${NUT_USER}'" else echo "===> Creating user '${NUT_USER}'" useradd -g dialer \ -c "UPS User" \ -d /var/empty \ -s /sbin/nologin \ -u ${NUT_ID} ${NUT_USER} fi } do_post() { DEST_PFX=${CONFDIR} SOURCE_PFX=${PREFIX}/share/examples/${P_NAME} echo echo "+--------------- ${P_NAME}" # install dirs if necessary for d in ${DIRS}; do if [ ! -d "${DEST_PFX}/$d" ]; then install -d ${DEST_PFX}/$d fi done if [ ! -d "${NUT_STATEDIR}" ]; then install -d -m 0700 -o ${NUT_USER} ${NUT_STATEDIR} fi # install or take note of existing config files for f in ${FILES}; do if [ -f "${DEST_PFX}/$f" ]; then OLD_CONFS="${OLD_CONFS} $f" else if ! install -m 644 ${SOURCE_PFX}/$f.sample ${DEST_PFX}/$f; then echo "| ERROR: The following file could not be installed, exiting: ${DEST_PFX}/$f" exit 1 fi NEW_CONFS="${NEW_CONFS} $f" fi done # install or take note of existing config files (yes again) for f in ${PRIVATE_FILES}; do if [ -f "${DEST_PFX}/$f" ]; then OLD_CONFS="${OLD_CONFS} $f" else if ! install -m 600 ${SOURCE_PFX}/$f.sample ${DEST_PFX}/$f; then echo "| ERROR: The following file could not be installed, exiting: ${DEST_PFX}/$f" exit 1 fi NEW_CONFS="${NEW_CONFS} $f" fi done # print status report if [ -n "${NEW_CONFS}" ]; then echo "| The following NEW configuration files have been installed:" echo "|" for f in ${NEW_CONFS}; do echo "| ${DEST_PFX}/$f" done fi if [ -n "${OLD_CONFS}" ]; then if [ -n "${NEW_CONFS}" ]; then echo "|" fi echo "| The following OLD configuration files were found and have NOT been" echo "| overwritten:" echo "|" for f in ${OLD_CONFS}; do echo "| ${DEST_PFX}/$f" done echo "|" echo "| You should however manually compare them to their equivalents in" echo "|" echo "| ${SOURCE_PFX}" echo "|" echo "| and update your configuration as needed." fi echo "+--------------- ${P_NAME}" echo } # verify proper execution # if [ $# -ne 2 ]; then echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2 exit 1 fi # Verify/process the command # case $2 in PRE-INSTALL) do_create_user ;; POST-INSTALL) do_post ;; *) echo "usage: $0 distname { PRE-INSTALL | POST-INSTALL }" >&2 exit 1 ;; esac exit 0