aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia/freevo/pkg-install
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/freevo/pkg-install')
-rw-r--r--multimedia/freevo/pkg-install99
1 files changed, 99 insertions, 0 deletions
diff --git a/multimedia/freevo/pkg-install b/multimedia/freevo/pkg-install
new file mode 100644
index 00000000000..a881fd83377
--- /dev/null
+++ b/multimedia/freevo/pkg-install
@@ -0,0 +1,99 @@
+#!/bin/sh
+# Stolen by lewiz from mail/nullmailer
+
+user=freevo
+group=freevo
+uid=523
+gid=523
+home=/var/db/freevo
+perm=775
+
+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
+
+ if [ ! -n "$BATCH" ]; then
+ 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
+ else
+ return ${dflt}
+ fi
+}
+
+creategroup() {
+ if /usr/sbin/pw groupshow "${group}" 2>/dev/null; then
+ echo "You already have a group \"${group}\", so I will use it."
+ else
+ echo "You need a group \"${group}\"."
+ if (yesno "Would you like me to create it" y); then
+ /usr/sbin/pw groupadd ${group} -g ${gid} || exit
+ echo "Done."
+ else
+ echo "Please create it, and try again."
+ exit 1
+ fi
+ fi
+}
+
+createuser() {
+ if /usr/sbin/pw user show "${user}" 2>/dev/null; then
+ echo "You already have a user \"${user}\", so I will use it."
+ pw usermod "${user}" -d ${home}
+ else
+ echo "You need a user \"${user}\"."
+ if (yesno "Would you like me to create it" y); then
+ /usr/sbin/pw useradd ${user} -u ${uid} -g ${group} -d ${home} \
+ -s /bin/sh -c "Freevo Owner" || exit
+ echo "Done."
+ else
+ echo "Please create it, and try again."
+ exit 1
+ fi
+ fi
+}
+
+createhome() {
+ if [ -d ${home} ]; then
+ echo "You already have a cache directory \"${home}\", so I will use it."
+ chown ${user}:${group} ${home} # Should we recurse?
+ chmod ${perm} ${home} # Should we recurse?
+ else
+ echo "You need a cache directory \"${home}\"."
+ if (yesno "Would you like me to create it" y); then
+ mkdir ${home}
+ chown ${user}:${group} ${home}
+ chmod ${perm} ${home}
+ echo "Done."
+ else
+ echo "Please create it, and try again."
+ exit 1
+ fi
+ fi
+}
+
+if [ x"$1" = xPRE-INSTALL ]; then
+ creategroup;
+ createuser;
+ createhome;
+fi