diff options
author | John Polstra <jdp@FreeBSD.org> | 2000-02-11 04:26:59 +0000 |
---|---|---|
committer | John Polstra <jdp@FreeBSD.org> | 2000-02-11 04:26:59 +0000 |
commit | 7c45758b34406054770a7bb69c9dc850d7897f9d (patch) | |
tree | 46cecb9ccef3713c9d97af5c895d437e59881a66 /net/cvsup-mirror | |
parent | 5274635be155cba5fbd962d816673c482ab4de09 (diff) | |
download | ports-7c45758b34406054770a7bb69c9dc850d7897f9d.tar.gz ports-7c45758b34406054770a7bb69c9dc850d7897f9d.zip |
Notes
Diffstat (limited to 'net/cvsup-mirror')
-rw-r--r-- | net/cvsup-mirror/pkg-deinstall | 16 | ||||
-rw-r--r-- | net/cvsup-mirror/pkg-install | 30 |
2 files changed, 38 insertions, 8 deletions
diff --git a/net/cvsup-mirror/pkg-deinstall b/net/cvsup-mirror/pkg-deinstall index 7e79cc31460c..de1a3a908617 100644 --- a/net/cvsup-mirror/pkg-deinstall +++ b/net/cvsup-mirror/pkg-deinstall @@ -30,7 +30,7 @@ yesno() { } delete_account() { - local u g + local u g home u=$1 g=$2 @@ -39,8 +39,13 @@ delete_account() { 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 } @@ -55,8 +60,13 @@ base=${PKG_PREFIX}/etc/cvsup . ${base}/config.sh || exit if ps -axc | grep -q cvsupd; then - echo "Please kill your running cvsupd processes first" >&2 - exit 1 + 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$$" diff --git a/net/cvsup-mirror/pkg-install b/net/cvsup-mirror/pkg-install index 84c018fd5d1d..98e6940d3d70 100644 --- a/net/cvsup-mirror/pkg-install +++ b/net/cvsup-mirror/pkg-install @@ -73,10 +73,13 @@ EOF } make_account() { - local u g + local u g gcos homeopt home u=$1 g=$2 + gcos=$3 + homeopt=${4:+"-d $4"} + if pw group show "${g}" >/dev/null 2>&1; then echo "You already have a group \"${g}\", so I will use it." else @@ -99,14 +102,31 @@ make_account() { else echo "You need a user \"${u}\"." if which -s pw && yesno "Would you like me to create it" y; then - pw useradd ${u} -g ${g} -h - -d /nonexistent \ - -s /nonexistent -c "CVSup Daemon" || exit + pw useradd ${u} -g ${g} -h - ${homeopt} \ + -s /nonexistent -c "${gcos}" || exit echo "Done." else echo "Please create it, and try again." exit 1 fi fi + + if [ x"$homeopt" = x ]; then + eval home=~${u} + if [ ! -d "${home}" ]; then + if yesno \ + "Would you like me to create ${u}'s home directory (${home})" y + then + (umask 77 && \ + mkdir -p ${home}/.cvsup && \ + touch ${home}/.cvsup/auth) || exit + chown -R ${u}:${g} ${home} || exit + else + echo "Please create it, and try again." + exit 1 + fi + fi + fi } case $2 in @@ -132,8 +152,8 @@ EOF fi echo "" - make_account ${user} ${group} - make_account ${cuser} ${cgroup} + make_account ${user} ${group} "CVSup Daemon" "/nonexistent" + make_account ${cuser} ${cgroup} "CVSup Client" echo "Fixing ownerships and modes in \"${base}\"." chown -R root:wheel ${base} |