Add user & group in package building too.
Submitted by: bento Remove user & group on deinstallation (only on bento).
This commit is contained in:
parent
e0afa85d39
commit
13e5cb29f3
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=79599
3 changed files with 84 additions and 24 deletions
|
@ -28,9 +28,7 @@ post-patch:
|
||||||
${REINPLACE_CMD} 's:@@prefix@@:${PREFIX}:g' ${WRKSRC}/include/config.h
|
${REINPLACE_CMD} 's:@@prefix@@:${PREFIX}:g' ${WRKSRC}/include/config.h
|
||||||
|
|
||||||
pre-install:
|
pre-install:
|
||||||
.if !defined(PACKAGE_BUILDING) && !defined(BATCH)
|
|
||||||
@${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
|
@${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
|
||||||
.endif
|
|
||||||
|
|
||||||
post-install:
|
post-install:
|
||||||
${INSTALL} -d -m 700 -o ircd -g ircd \
|
${INSTALL} -d -m 700 -o ircd -g ircd \
|
||||||
|
|
56
irc/dancer-ircd/pkg-deinstall
Normal file
56
irc/dancer-ircd/pkg-deinstall
Normal file
|
@ -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
|
|
@ -12,7 +12,7 @@ ask() {
|
||||||
|
|
||||||
question=$1
|
question=$1
|
||||||
default=$2
|
default=$2
|
||||||
if [ -z "${PACKAGE_BUILDING}" ]; then
|
if [ -z "${BATCH}" ]; then
|
||||||
read -p "${question} [${default}]? " answer
|
read -p "${question} [${default}]? " answer
|
||||||
fi
|
fi
|
||||||
if [ x${answer} = x ]; then
|
if [ x${answer} = x ]; then
|
||||||
|
@ -36,9 +36,7 @@ yesno() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
if which -s pw ; then
|
if ! which -s pw ; then
|
||||||
:
|
|
||||||
else
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
Your system does not include the "pw" utility. You should upgrade
|
Your system does not include the "pw" utility. You should upgrade
|
||||||
to a newer version of FreeBSD. Without "pw" this script will not
|
to a newer version of FreeBSD. Without "pw" this script will not
|
||||||
|
@ -47,42 +45,50 @@ EOF
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
uid=72
|
||||||
|
user=ircd
|
||||||
|
gid=$uid
|
||||||
|
group=$user
|
||||||
|
gecos="IRC daemon"
|
||||||
|
shell=/nonexistent
|
||||||
|
home=/nonexistent
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
if pw groupshow ircd 2> /dev/null ; then
|
if pw groupshow $group 2> /dev/null ; then
|
||||||
echo "You already have a group \"ircd\", so I will use it."
|
echo "You already have a group \"$group\", so I will use it."
|
||||||
else
|
else
|
||||||
if pw groupshow 72 2> /dev/null ; then
|
if pw groupshow $gid 2> /dev/null ; then
|
||||||
echo "You already have a gid \"72\". Please create a user \"ircd\""
|
echo "You already have a gid \"$gid\". Please create a user \"$group\""
|
||||||
echo "with a default group of \"ircd\"."
|
echo "with a default group of \"$group\"."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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
|
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."
|
echo "Done."
|
||||||
else
|
else
|
||||||
echo "Please create it, and try again."
|
echo "Please create it, and try again."
|
||||||
if ! pw usershow ircd 2> /dev/null ; then
|
if ! pw usershow $user 2> /dev/null ; then
|
||||||
echo "While you're at it, please create a user \"ircd\""
|
echo "While you're at it, please create a user \"$user\""
|
||||||
echo 'too, with a default group of "ircd".'
|
echo 'too, with a default group of "$group".'
|
||||||
fi
|
fi
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if pw usershow ircd 2> /dev/null ; then
|
if pw usershow $user 2> /dev/null ; then
|
||||||
echo "You already have a user \"ircd\", so I will use it."
|
echo "You already have a user \"$user\", so I will use it."
|
||||||
else
|
else
|
||||||
if pw usershow 72 2> /dev/null ; then
|
if pw usershow $uid 2> /dev/null ; then
|
||||||
echo "You already have a uid \"72\". Please create a user \"irc
|
echo "You already have a uid \"$uid\". Please create a user \"irc
|
||||||
d\""
|
d\""
|
||||||
echo "with a default group of \"ircd\"."
|
echo "with a default group of \"$group\"."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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
|
if which -s pw && yesno "Would you like me to create it" y; then
|
||||||
pw useradd ircd -g ircd -u 72 -h - -d /nonexistent \
|
pw useradd $user -g $group -u $uid -h - -d $home \
|
||||||
-s /nonexistent -c "IRC Daemon" || exit
|
-s $shell -c "$gecos" || exit
|
||||||
echo "Done."
|
echo "Done."
|
||||||
else
|
else
|
||||||
echo "Please create it, and try again."
|
echo "Please create it, and try again."
|
||||||
|
|
Loading…
Reference in a new issue