#! /bin/sh # # $Log: pkg-install,v $ # Revision 1.2 2004/02/06 18:49:58 lupe # Fixes for pkg_add compatibility. # # ask() { local question default answer question=$1 default=$2 if [ -z "${PACKAGE_BUILDING}" ]; then read -p "${question} [${default}]? " answer fi if [ x${answer} = x ]; then answer=${default} fi echo ${answer} } yesno() { local dflt question answer question=$1 dflt=$2 while :; do answer=$(ask "${question}" "${dflt}") case "${answer}" in [Yy]*) return 0;; [Nn]*) return 1;; esac echo "Please answer yes or no." done } make_group() { local g g=$1 if pw group show "${g}" >/dev/null 2>&1; then echo "You already have a group \"${g}\", so I will use it." else echo "You need a group \"${g}\"." if which -s pw && yesno "Would you like me to create it" y; then pw groupadd ${g} || exit echo "Done." else echo "Please create it, and try again." if ! grep -q "^${u}:" /etc/passwd; then echo "While you're at it, please create a user \"${u}\" too," echo "with a default group of \"${g}\"." fi exit 1 fi fi } init_plugins() { if [ -f ${PKG_PREFIX}/etc/munin/VERSION.node ]; then prevver=$(cat ${PKG_PREFIX}/etc/munin/VERSION.node) fi mkdir -p ${PKG_PREFIX}/etc/munin/plugins ${PKG_PREFIX}/var/munin/plugin-state if [ -n "$prevver" ]; then echo -n "Initializing new plugins.." ${PKG_PREFIX}/sbin/munin-node-configure --shell --newer "${prevver%-*}" | sh -x else echo -n "Initializing plugins.." ${PKG_PREFIX}/sbin/munin-node-configure --shell | sh -x fi echo "done." } ######################################################################## case $2 in PRE-INSTALL) make_group munin ;; POST-INSTALL) init_plugins ;; esac