freebsd-ports/net/cvsup-mirror/pkg-deinstall
Edwin Groothuis e0374a6fc2 [PATCH] net/cvsup-mirror: add some install time options for update.sh
Add following install time options for update.sh

	- Whether or not /var/log/cvsup.log is rotated when update.sh
	  is invoked.
	- Maximum number of log files.
	- Wheter or not old log file is gzipped after rotated.

PR:		ports/81598
Submitted by:	KIMURA Yasuhiro <yasu@utahime.org>
Not objected by:	jdp@FreeBSD.org
2006-01-02 10:05:11 +00:00

110 lines
2.3 KiB
Bash

#! /bin/sh
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
}
delete_account() {
local u g home
u=$1
g=$2
if yesno "Do you want me to remove group \"${g}\"" y; then
pw groupdel -n ${g}
echo "Done."
fi
if yesno "Do you want me to remove user \"${u}\"" y; then
eval home=~${u}
pw userdel -n ${u}
echo "Done."
if [ -d "${home}" ]; then
echo "Please remember to remove the home directory \"${home}\" as"
echo "well as the mirrored files."
fi
fi
}
if [ x$2 != xDEINSTALL ]; then
exit
fi
export PATH=/bin:/usr/bin:/usr/sbin
base=${PKG_PREFIX}/etc/cvsup
. ${base}/config.sh || exit
if ps -axc | grep -q cvsupd; then
if yesno "There are some cvsupd processes running. Shall I kill them" y
then
killall cvsupd
sleep 2
else
echo "OK ... I hope you know what you are doing."
fi
fi
tmp="/etc/#cvsma$$"
trap "rm -f ${tmp}" 0 1 2 3 15
rm -rf ${base}/prefixes
rm -f ${base}/.start_server
if yesno "Do you want me to remove scheduled updates from \"/etc/crontab\"" y
then
sed "/\/etc\/cvsup\/update\.sh/d" /etc/crontab >${tmp} || exit
chmod 644 ${tmp}
mv ${tmp} /etc/crontab || exit
echo "Done."
fi
if yesno \
"Do you want me to remove the cvsupd logging from \"/etc/syslog.conf\"" y
then
sed "/^!cvsupd/,/cvsupd\.log\$/d" /etc/syslog.conf >${tmp} || exit
chmod 644 ${tmp}
mv ${tmp} /etc/syslog.conf || exit
if [ -f /var/run/syslog.pid ]; then
echo "Giving syslogd a kick in the pants."
kill -HUP $(cat /var/run/syslog.pid)
fi
echo "Done."
fi
if yesno "Do you want me to remove the cvsup and cvsupd log entries from \
\"/etc/newsyslog.conf\"" y; then
sed "/cvsup\.log/d
/cvsupd\.log/d" /etc/newsyslog.conf >${tmp} || exit
chmod 644 ${tmp}
mv ${tmp} /etc/newsyslog.conf || exit
echo "Done."
fi
delete_account ${user} ${group}
delete_account ${cuser} ${cgroup}