aboutsummaryrefslogtreecommitdiffstats
path: root/net/jabber/pkg-install
diff options
context:
space:
mode:
authornbm <nbm@FreeBSD.org>2000-05-16 22:18:46 +0800
committernbm <nbm@FreeBSD.org>2000-05-16 22:18:46 +0800
commitc5fa99d5b0dcd65cb64d5b8a9acefaa03fc25220 (patch)
treeb531815735cf130d1f4ea0ae3a9ff5a6a2ac4d47 /net/jabber/pkg-install
parentc31618771f434e49aede283cccd8e71a44fcc3fa (diff)
downloadfreebsd-ports-gnome-c5fa99d5b0dcd65cb64d5b8a9acefaa03fc25220.tar.gz
freebsd-ports-gnome-c5fa99d5b0dcd65cb64d5b8a9acefaa03fc25220.tar.zst
freebsd-ports-gnome-c5fa99d5b0dcd65cb64d5b8a9acefaa03fc25220.zip
Upgrade jabber-transport to 1.0
PR: 18602 Submitted by: Kostya Lukin <lukin@sapa.ivcme.elektra.ru> (maintainer)
Diffstat (limited to 'net/jabber/pkg-install')
-rw-r--r--net/jabber/pkg-install146
1 files changed, 146 insertions, 0 deletions
diff --git a/net/jabber/pkg-install b/net/jabber/pkg-install
new file mode 100644
index 000000000000..794315549287
--- /dev/null
+++ b/net/jabber/pkg-install
@@ -0,0 +1,146 @@
+#! /bin/sh
+
+chmods_done=" "
+
+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
+}
+
+make_account() {
+ 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
+ echo "You need a group \"${g}\"."
+ if which -s pw && yesno "Would you like me to create it" y; then
+ pw groupadd ${g} || exit
+ echo "Done."
+ else
+ echo "Please create it, and try again."
+ if ! grep -q "^${u}:" /etc/passwd; then
+ echo "While you're at it, please create a user \"${u}\" too,"
+ echo "with a default group of \"${g}\"."
+ fi
+ exit 1
+ fi
+ fi
+
+ if pw user show "${u}" >/dev/null 2>&1; then
+ echo "You already have a user \"${u}\", so I will use it."
+ 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 - ${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}) || exit
+ chown -R ${u}:${g} ${home} || exit
+ else
+ echo "Please create it, and try again."
+ exit 1
+ fi
+ fi
+ fi
+}
+
+case $2 in
+
+POST-INSTALL)
+ if which -s pw && which -s lockf; then
+ :
+ else
+ cat <<EOF
+
+This system looks like a pre-2.2 version of FreeBSD. I see that it
+is missing the "lockf" and/or "pw" utilities. I need these utilities.
+Please get them and install them, and try again. You can get the
+sources from:
+
+ ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/usr.bin/lockf.tar.gz
+ ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/pw.tar.gz
+
+EOF
+ exit 1
+ fi
+
+ user=jserver
+ group=jserver
+ spooldir="/var/jspool"
+ etcdir=${PREFIX}/etc
+
+ echo ""
+ make_account ${user} ${group} "Jabber Daemon" "/nonexistent"
+
+ echo "Fixing ownerships and modes in \"${spooldir}\"."
+ chown -R ${user}:${group} ${spooldir}
+ chmod -R go= ${spooldir}
+
+ echo "Fixing config files ownerships and modes."
+ chown root:${group} ${etcdir}/jserver.xml ${etcdir}/jserver.xml.default
+ chmod 640 ${etcdir}/jserver.xml ${etcdir}/jserver.xml.default
+
+ if [ ! -f /var/log/jserver.log ]; then
+ echo "Creating \"/var/log/jserver.log\"."
+ cp /dev/null /var/log/jserver.log
+ fi
+
+ if [ ! -f /var/log/jserver.error ]; then
+ echo "Creating \"/var/log/jserver.error\"."
+ cp /dev/null /var/log/jserver.error
+ fi
+
+ if [ ! -f /var/log/jserver_packet.log ]; then
+ echo "Creating \"/var/log/jserver_packet.log\"."
+ cp /dev/null /var/log/jserver_packet.log
+ fi
+
+ echo "Fixing log files ownerships and modes."
+ chown ${user}:${group} /var/log/jserver.log /var/log/jserver.error /var/log/jserver_packet.log
+ chmod 600 /var/log/jserver.log /var/log/jserver.error /var/log/jserver_packet.log
+
+ ;;
+esac