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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
#!/bin/sh
set -e
PACKAGE=launchpad-results-server
apache_install() {
webserver=$1
# Try to enable the alias and rewrite modules
a2enmod -q alias || true
a2enmod -q rewrite || true
# Link the apache configuration file
if [ -d /etc/$webserver/conf.d ] && [ ! -e /etc/$webserver/conf.d/lpresults ]; then
ln -s /etc/lpresults/apache.conf /etc/$webserver/conf.d/lpresults
fi
}
. /usr/share/debconf/confmodule
#DEBHELPER#
if [ -f /usr/share/dbconfig-common/dpkg/postinst.pgsql ]; then
. /usr/share/dbconfig-common/dpkg/postinst.pgsql
for dbc_dbname in \
lpresults-session \
lpresults-test-1 \
lpresults-tracker; do
dbc_go $dbc_dbname $@
done
fi
case "$1" in
configure)
# Create lpresults system user and group
if ! getent passwd lpresults >/dev/null; then
adduser --quiet --system --group --shell /bin/bash \
--home /var/lib/lpresults --no-create-home \
--gecos "Launchpad Results" lpresults
fi
if ! getent group lpresults >/dev/null; then
addgroup --quiet --system lpresults
fi
# Check validity of lpresults user and group
if [ "`id -u lpresults`" -eq 0 ]; then
echo "The lpresults user must not have uid 0 (root).
Please fix this and reinstall this package." >&2
exit 1
fi
if [ "`id -g lpresults`" -eq 0 ]; then
echo "The lpresults user must not have root as primary group.
Please fix this and reinstall this package." >&2
exit 1
fi
# Ensure home directory ownership
mkdir -p /var/lib/lpresults
chown lpresults:lpresults /var/lib/lpresults
# Handle webserver reconfiguration/restart
db_get $PACKAGE/reconfigure-webserver || true
webservers="$RET"
restart=""
for webserver in $webservers; do
webserver=${webserver%,}
if [ "$webserver" = "apache2" ]; then
apache_install $webserver
else
echo "Unsupported webserver $webserver"
fi
if [ -x /usr/sbin/$webserver ]; then
restart="$restart $webserver"
fi
done
db_get $PACKAGE/restart-webserver || true
res="$RET"
db_stop || true
if [ "$res" = "true" ]; then
for webserver in $restart; do
webserver=${webserver%,}
# Redirection of 3 is needed because Debconf uses it
# and it might be inherited by webserver.
if [ -x /usr/sbin/invoke-rc.d ]; then
invoke-rc.d $webserver restart 3>/dev/null || true
else
/etc/init.d/$webserver restart 3>/dev/null || true
fi
done
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
|