summaryrefslogtreecommitdiff
path: root/audio/squeezeboxserver/pkg-install
blob: a4141e4262fa09fb6d4be865417e0e144ad02386 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/sh
# $FreeBSD$

name=slimserver
u=slimserv
g=slimserv
ugid=104
homedir=/nonexistent
shell=/sbin/nologin
comment="Slim Devices SlimServer pseudo-user"
statedir=/var/db/slimserver
cachedir=${statedir}/cache
playlistdir=${statedir}/playlists
pidfile=/var/run/${name}.pid
newsyslogfile=/etc/newsyslog.conf
logfile=/var/log/slimserver.log
logcomment="# added by audio/slimserver port"
logline="${logfile}	${u}:${g} 644 3	   100	*     Z     ${pidfile}"

case $2 in
PRE-INSTALL)
	if pw group show "${g}" >/dev/null 2>&1; then
		echo "Using existing group \"${g}\"."
	else
		echo "Creating group \"${g}\", (gid: ${ugid})."
		pw groupadd ${g} -g ${ugid}
		if [ $? != 0 ]; then
			echo "Failed to add group \"${g}\"."
			exit 1
		fi
	fi
	if pw user show "${u}" >/dev/null 2>&1; then
		echo "Using existing user \"${u}\"."
	else
		echo "Creating user \"${u}\", (uid: ${ugid})."
		pw useradd ${u} -u ${ugid} -g ${ugid} -h - \
		    -d ${homedir} -s ${shell} -c "${comment}"
		if [ $? != 0 ]; then
			echo "Failed to add user \"${u}\"."
			exit 1
		fi
	fi
	;;
POST-INSTALL)
	if [ ! -d ${statedir} ]; then
		mkdir -p ${statedir}
		chown -R ${u}:${g} ${statedir}
	fi
	if [ ! -d ${cachedir} ]; then
		mkdir -p ${cachedir}
		chown -R ${u}:${g} ${cachedir}
	fi
	if [ ! -d ${playlistdir} ]; then
		mkdir -p ${playlistdir}
		chown -R ${u}:${g} ${playlistdir}
	fi
	if egrep -q "^${logfile}\>" ${newsyslogfile}; then
		echo "Using existing ${newsyslogfile} entry."
	else
		echo "Adding slimserver log entry to ${newsyslogfile}."
		echo "$logcomment" >> ${newsyslogfile}
		echo "$logline" >> ${newsyslogfile}
	fi
	;;
esac