diff options
author | Akinori MUSHA <knu@FreeBSD.org> | 2003-04-24 20:18:10 +0000 |
---|---|---|
committer | Akinori MUSHA <knu@FreeBSD.org> | 2003-04-24 20:18:10 +0000 |
commit | 13e5cb29f396fc9983b7ee55da313f39dd32eec1 (patch) | |
tree | 422ea0f68dc8f38e5e3db6c4acd651f93387b89a | |
parent | Fix typos in COMMENT. Replace spaces with a tab in MASTER_SITES to make (diff) |
Add user & group in package building too.
Submitted by: bento
Remove user & group on deinstallation (only on bento).
Notes
Notes:
svn path=/head/; revision=79599
-rw-r--r-- | irc/dancer-ircd/Makefile | 2 | ||||
-rw-r--r-- | irc/dancer-ircd/pkg-deinstall | 56 | ||||
-rw-r--r-- | irc/dancer-ircd/pkg-install | 50 |
3 files changed, 84 insertions, 24 deletions
diff --git a/irc/dancer-ircd/Makefile b/irc/dancer-ircd/Makefile index ebaf0f725ba8..46ea79352fd7 100644 --- a/irc/dancer-ircd/Makefile +++ b/irc/dancer-ircd/Makefile @@ -28,9 +28,7 @@ post-patch: ${REINPLACE_CMD} 's:@@prefix@@:${PREFIX}:g' ${WRKSRC}/include/config.h pre-install: -.if !defined(PACKAGE_BUILDING) && !defined(BATCH) @${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL -.endif post-install: ${INSTALL} -d -m 700 -o ircd -g ircd \ diff --git a/irc/dancer-ircd/pkg-deinstall b/irc/dancer-ircd/pkg-deinstall new file mode 100644 index 000000000000..1e87c9ff95aa --- /dev/null +++ b/irc/dancer-ircd/pkg-deinstall @@ -0,0 +1,56 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +ask() { + local question default answer + + question=$1 + default=$2 + if [ -z "$BATCH" ]; 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 + + 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 + pw userdel -n ${u} + echo "Done." + fi +} + +if [ "$2" != "POST-DEINSTALL" ]; then + exit 0 +fi + +if [ -n "$PACKAGE_BUILDING" ]; then + delete_account ircd ircd +fi diff --git a/irc/dancer-ircd/pkg-install b/irc/dancer-ircd/pkg-install index f8aba5f8e63c..847e54041e1c 100644 --- a/irc/dancer-ircd/pkg-install +++ b/irc/dancer-ircd/pkg-install @@ -12,7 +12,7 @@ ask() { question=$1 default=$2 - if [ -z "${PACKAGE_BUILDING}" ]; then + if [ -z "${BATCH}" ]; then read -p "${question} [${default}]? " answer fi if [ x${answer} = x ]; then @@ -36,9 +36,7 @@ yesno() { done } -if which -s pw ; then - : -else +if ! which -s pw ; then cat <<EOF Your system does not include the "pw" utility. You should upgrade to a newer version of FreeBSD. Without "pw" this script will not @@ -47,42 +45,50 @@ EOF exit 1 fi +uid=72 +user=ircd +gid=$uid +group=$user +gecos="IRC daemon" +shell=/nonexistent +home=/nonexistent + echo "" -if pw groupshow ircd 2> /dev/null ; then - echo "You already have a group \"ircd\", so I will use it." +if pw groupshow $group 2> /dev/null ; then + echo "You already have a group \"$group\", so I will use it." else - if pw groupshow 72 2> /dev/null ; then - echo "You already have a gid \"72\". Please create a user \"ircd\"" - echo "with a default group of \"ircd\"." + if pw groupshow $gid 2> /dev/null ; then + echo "You already have a gid \"$gid\". Please create a user \"$group\"" + echo "with a default group of \"$group\"." exit 1 fi - echo "You need a group \"ircd\"." + echo "You need a group \"$group\"." if which -s pw && yesno "Would you like me to create it" y; then - pw groupadd ircd -g 72 || exit + pw groupadd $group -g $gid || exit echo "Done." else echo "Please create it, and try again." - if ! pw usershow ircd 2> /dev/null ; then - echo "While you're at it, please create a user \"ircd\"" - echo 'too, with a default group of "ircd".' + if ! pw usershow $user 2> /dev/null ; then + echo "While you're at it, please create a user \"$user\"" + echo 'too, with a default group of "$group".' fi exit 1 fi fi -if pw usershow ircd 2> /dev/null ; then - echo "You already have a user \"ircd\", so I will use it." +if pw usershow $user 2> /dev/null ; then + echo "You already have a user \"$user\", so I will use it." else - if pw usershow 72 2> /dev/null ; then - echo "You already have a uid \"72\". Please create a user \"irc + if pw usershow $uid 2> /dev/null ; then + echo "You already have a uid \"$uid\". Please create a user \"irc d\"" - echo "with a default group of \"ircd\"." + echo "with a default group of \"$group\"." exit 1 fi - echo "You need a user \"ircd\"." + echo "You need a user \"$user\"." if which -s pw && yesno "Would you like me to create it" y; then - pw useradd ircd -g ircd -u 72 -h - -d /nonexistent \ - -s /nonexistent -c "IRC Daemon" || exit + pw useradd $user -g $group -u $uid -h - -d $home \ + -s $shell -c "$gecos" || exit echo "Done." else echo "Please create it, and try again." |