#!/bin/sh # # $FreeBSD$ # PATH=/bin:/usr/bin:/usr/sbin pkgname=$1 squid_base="/var/squid" squid_confdir="${PKG_PREFIX:-%%PREFIX%%}/etc/squid" if [ -x /usr/sbin/nologin ]; then nologin=/usr/sbin/nologin else nologin=/sbin/nologin fi squid_user="%%SQUID_UID%%" squid_group="%%SQUID_GID%%" squid_gid=100 squid_uid=100 case $2 in PRE-INSTALL) echo "===> Pre-installation configuration for ${pkgname}" if ! pw groupshow ${squid_group} -q >/dev/null ; then echo "There is no group '${squid_group}' on this system, so I will try to create it (using group id ${squid_gid}):" if ! pw groupadd ${squid_group} -g ${squid_gid} -q ; then echo "Failed to create group \"${squid_group}\"!" >&2 echo "Please create it manually." >&2 exit 1 else echo "Group '${squid_group}' created successfully:" fi else echo "I will use the existing group '${squid_group}':" fi pw groupshow ${squid_group} if ! pw usershow ${squid_user} -q >/dev/null ; then echo "There is no account '${squid_user}' on this system, so I will try to create it (using user id ${squid_uid}):" if ! pw useradd -q -n ${squid_user} \ -u ${squid_uid} -g ${squid_group} \ -c "Squid caching-proxy pseudo user" \ -d "${squid_base}" -s "${nologin}" \ -h - ; then echo "Failed to create user '${squid_user}'!" >&2 echo "Please create it manually." >&2 exit 1 else echo "User '${squid_user}' created successfully:" fi else echo "I will use the existing user '${squid_user}':" fi pw usershow ${squid_user} for dir in cache logs; do if [ ! -d ${squid_base}/${dir} ]; then echo "Creating ${squid_base}/${dir}..." install -d -o ${squid_user} -g ${squid_group} \ -m 0750 ${squid_base}/${dir} fi done if [ ! -d ${squid_confdir} ]; then echo "Creating ${squid_confdir}..." install -d -o root -g ${squid_group} \ -m 0755 ${squid_confdir} fi ;; POST-INSTALL) for file in cachemgr.conf mime.conf squid.conf; do if [ ! -f ${squid_confdir}/${file} \ -a -f ${squid_confdir}/${file}.default ]; then echo "Creating ${file} from default..." install -c -o root -g ${squid_group} -m 0640 \ ${squid_confdir}/${file}.default \ ${squid_confdir}/${file} fi done ;; *) exit 64 ;; esac exit 0