freebsd-ports/sysutils/munin-node/pkg-install
Mathieu Arnold 9623c63f0c Add Munin network-wide graphing framework (node)
This is the node part. It is used on all machines Munin shall watch.

PR:		ports/62479
Submitted by:	Lupe Christoph <lupe@lupe-christoph.de>
2004-03-02 15:54:05 +00:00

88 lines
1.8 KiB
Bash

#! /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