freebsd-ports/www/horde4-base/files/pkg-install.in
Marc G. Fournier c39f144013 After a recent discussion on freebsd-ports, I have modified the Horde
ports, so that they now do not overwrite existing configuration files.
Rather than backing up the old ones and allowing the user to merge the
files by hand, config files are left untouched.

Submitted by:   Shaun Amott <shaun@inerd.com>
2006-04-15 16:23:50 +00:00

114 lines
2.4 KiB
Bash

#!/bin/sh
#
# $FreeBSD$
#
# Copied from databases/phpmyadmin.
# Used if WITH_SUPHP has been defined.
PATH=/usr/sbin:/usr/bin:/bin ; export PATH
WITH_SUPHP=%%WITH_SUPHP%%
hordedir=%%HORDEDIR%%
hordeusr=%%HORDEADMUSR%%
hordegrp=%%HORDEGRP%%
hordegcos="Horde Owner"
hordehome=/nonexistent
hordeshell=/sbin/nologin
create_group() {
local user group gcos home shell
user=$1
group=$2
gcos=$3
home=$4
shell=$5
if pw groupadd -n $group ; then
echo "===> Group $group created"
else
cat <<-EOERRORMSG
*** Failed to create the $group group.
Please add the $user user and $group group
manually with the commands:
pw groupadd -n $group
pw useradd -n $user -g $group -c "$gcos" \\
-d $home -s $shell -h -
and retry installing this package.
EOERRORMSG
exit 1
fi
}
create_user() {
local user group gcos home shell
user=$1
group=$2
gcos=$3
home=$4
shell=$5
if pw useradd -n $user -g $group -c "$gcos" -d $home -s $shell -h - ; then
echo "===> Created $user user"
else
cat <<-EOERRORMSG
*** Failed to create the $user user.
Please add the $user user manually with the command:
pw useradd -n $user -g $group -c "$gcos" \\
-d $home -s $shell -h -
and retry installing this package.
EOERRORMSG
exit 1
fi
}
case $2 in
PRE-INSTALL)
if [ $WITH_SUPHP != "yes" ]; then
exit 0
fi
# Create the horde user and group if they do not already exist
if pw user show -n $hordeusr >/dev/null 2>&1 ; then
echo "===> Using pre-existing user $hordeusr"
else
if ! pw group show -n $hordegrp >/dev/null 2>&1 ; then
create_group $hordeusr $hordegrp "$hordegcos" $hordehome \
$hordeshell
fi
create_user $hordeusr $hordegrp "$hordegcos" $hordehome $hordeshell
fi
;;
POST-INSTALL)
if [ $WITH_SUPHP = "yes" ]; then
# Change ownership of the Horde directory
echo "===> Adjusting file ownership in $hordedir"
chown -R $hordeusr:$hordegrp $hordedir || exit 1
fi
if [ -z "${PACKAGE_BUILDING}" ]; then
# Copy over sample config files unless they already exist
for cf in `ls %%HORDEDIR%%/config/*.dist | sed -e 's/\.dist//g'`; do
if [ ! -f $cf ]; then
cp -p $cf.dist $cf
fi
done
fi
;;
esac