an easy and consistent way of installing software ported to FreeBSD
#! /bin/sh
#
# ex:ts=4
ask() {
local question default answer
question=$1
default=$2
if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then
read -p "${question} [${default}]? " answer
fi
echo ${answer:-${default}}
}
yesno() {
local question default answer
question=$1
default=$2
while :; do
answer=$(ask "${question}" "${default}")
case "${answer}" in
[Yy]*) return 0;;
[Nn]*) return 1;;
esac
echo "Please answer yes or no."
done
}
delete_account() {
local u pw
u=$1
pw=`pw usershow ${u} >/dev/null 2>&1`
if [ $? -eq 0 ]; then
if yesno "Do you want me to remove user \"${u}\"" n; then
pw userdel -n ${u}
echo "Done."
fi
fi
}
case $2 in
DEINSTALL)
if ps -axc | grep -qw bbstored; then
if yesno "bbstored is still running. Shall I stop it?" y; then
killall bbstored
sleep 2
else
echo "OK ... I hope you know what you are doing."
fi
fi
if ps -axc | grep -qw bbackupd; then
if yesno "bbackupd is still running. Shall I stop it?" y; then
killall bbackupd
sleep 2
else
echo "OK ... I hope you know what you are doing."
fi
fi
delete_account _bbstored
;;
esac
This is a port of Box Backup, an online backup daemon
The backup daemon, bbackupd, runs on all machines to be backed up. The
store server daemon, bbstored runs on a central server. Data is sent
to the store server, which stores all data on local filesystems, that
is, only on local hard drives. Tape or other archive media is not
used.
The system is designed to be easy to set up and run, and cheap to use.
Once set up, there should be no need for user or administrative
intervention, apart from usual system maintenance.
WWW: http://www.fluffy.co.uk/boxbackup/
#!/bin/sh
# $FreeBSD: ports/sysutils/boxbackup/pkg-install,v 1.3 2006/03/24 19:31:14 mnag Exp $
case $2 in
PRE-INSTALL)
USER=_bbstored
GROUP=${USER}
UID=505
GID=${UID}
if pw group show "${GROUP}" 2>/dev/null; then
echo "You already have a group \"${GROUP}\", so I will use it."
else
if pw groupadd ${GROUP} -g ${GID}; then
echo "Added group \"${GROUP}\"."
else
echo "Adding group \"${GROUP}\" failed..."
exit 1
fi
fi
if pw user show "${USER}" 2>/dev/null; then
echo "You already have a user \"${USER}\", so I will use it."
else
if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
-d /nonexistent -c "Box Backup Store Daemon"
then
echo "Added user \"${USER}\"."
else
echo "Adding user \"${USER}\" failed..."
exit 1
fi
fi
;;
esac
%%CLIENT%%bin/bbackupctl
%%CLIENT%%bin/bbackupd
%%CLIENT%%bin/bbackupd-config
%%CLIENT%%bin/bbackupquery
%%SERVER%%bin/bbstoreaccounts
%%SERVER%%bin/bbstored
%%SERVER%%bin/bbstored-certs
%%SERVER%%bin/bbstored-config
%%SERVER%%bin/raidfile-config
%%CLIENT%%@exec mkdir -p -m 0700 %D/etc/box/bbackupd
%%SERVER%%@exec mkdir -p -m 0700 %D/etc/box/bbstored
%%CLIENT%%@dirrmtry etc/box/bbackupd
%%SERVER%%@dirrmtry etc/box/bbstored
@dirrmtry etc/box