File: tryton-server.postinst

package info (click to toggle)
tryton-server 3.4.0-3%2Bdeb8u3
  • links: PTS, VCS
  • area: main
  • in suites: jessie
  • size: 4,600 kB
  • ctags: 3,933
  • sloc: python: 28,679; xml: 3,996; sql: 328; sh: 150; makefile: 82
file content (74 lines) | stat: -rw-r--r-- 1,934 bytes parent folder | download | duplicates (2)
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
66
67
68
69
70
71
72
73
74
#!/bin/sh

set -e

TRYTON_USER="tryton"
TRYTON_OLDCONFFILE="/etc/trytond.conf"
TRYTON_CONFDIR="/etc/tryton"
TRYTON_CONFFILE="${TRYTON_CONFDIR}/trytond.conf"
TRYTON_LOGCONFFILE="${TRYTON_CONFDIR}/trytond_log.conf"
TRYTON_CONFFILEPRE34="${TRYTON_CONFDIR}/trytond.conf.pre34"
TRYTON_LOGDIR="/var/log/tryton"
TRYTON_HOMEDIR="/var/lib/tryton"

case "${1}" in
	configure)
		# Creating system user
		adduser --home ${TRYTON_HOMEDIR} --no-create-home --quiet --system --group ${TRYTON_USER}

		# Creating home directory (also used for storage of attachments)
		mkdir -p ${TRYTON_HOMEDIR}
		chown ${TRYTON_USER}:${TRYTON_USER} ${TRYTON_HOMEDIR}

		# Creating log directory
		mkdir -p ${TRYTON_LOGDIR}
		chown ${TRYTON_USER}:adm ${TRYTON_LOGDIR}

		# Setting ownership and permissions on configuration file
		# trytond uses internal defaults, if it cannot read the
		# configuration file.
		for _ITEM in "${TRYTON_CONFFILE}" "${TRYTON_LOGCONFFILE}"
		do
			if ! dpkg-statoverride --list "${_ITEM}" > /dev/null 2>&1
			then
				chown "${TRYTON_USER}":"${TRYTON_USER}" "${_ITEM}"
				chmod 0440 "${_ITEM}"
			fi
		done

		# Migration from 3.2 to 3.4: backup old configuration to new configuration location
		if [ -e "$TRYTON_OLDCONFFILE" ]; then
			mv -f "${TRYTON_OLDCONFFILE}" "${TRYTON_CONFFILEPRE34}"
		fi

		# Restricting access to home and log directories for security reasons (private information)
		for _DIRECTORY in "${TRYTON_HOMEDIR}" "${TRYTON_LOGDIR}"
		do
			if ! dpkg-statoverride --list "${_DIRECTORY}" > /dev/null 2>&1
			then
				chmod 0750 "${_DIRECTORY}"
			fi
		done

		# Add the tryton user to the ssl-cert group on fresh installs
		if [ -z "$2" ]; then
			if getent group ssl-cert > /dev/null 2>&1
			then
				adduser --quiet ${TRYTON_USER} ssl-cert
			fi
		fi
		;;

	abort-upgrade|abort-remove|abort-deconfigure)

		;;

	*)
		echo "postinst called with unknown argument \`{$1}'" >&2
		exit 1
		;;
esac

#DEBHELPER#

exit 0