2
2
# postinst script for lurker
6
5
. /usr/share/debconf/confmodule
12
# create the systemgroup 'lurker'
13
# sg lurker -c true 2> /dev/null || addgroup --system lurker
14
[ $LURKER_GROUP ] || LURKER_GROUP=lurker
15
if ! getent group | grep -q "^$LURKER_GROUP:"; then
16
echo -n "Adding group $LURKER_GROUP .."
17
addgroup --quiet --system $LURKER_GROUP
21
# adjust directory permissions
22
if ! dpkg-statoverride --list /var/lib/lurker >/dev/null; then
23
chown -R root:$LURKER_GROUP /var/lib/lurker
24
chmod u=rwx,g=rwxs,o=rx /var/lib/lurker
27
chown root:root /var/www/lurker
28
www_data_files="attach list lurker.docroot mbox message mindex search splash thread zap"
29
for f in $www_data_files; do
30
chown -R www-data:www-data /var/www/lurker/$f
11
33
# apache configuration section
34
apache_conf="/etc/lurker/apache.conf"
12
35
db_get lurker/apache_config
13
for server in $RET; do
15
# check for obsolete Include entry
16
if [ -f /etc/$server/httpd.conf ]; then
17
includefile=/etc/lurker/apache.conf
18
if grep -q "$includefile" /etc/$server/httpd.conf; then
19
echo "Moving obsolete include out of /etc/$server/httpd.conf."
20
mv -f /etc/$server/httpd.conf /etc/$server/httpd.conf.old.lurker
21
grep -v "$includefile" /etc/$server/httpd.conf.old.lurker \
22
> /etc/$server/httpd.conf
37
if [ -z "$RET" ] && [ "$RET" = "none" ]; then
38
echo "No servers selected to configure"
41
for server in $RET; do
44
if [ ! -f /etc/$server/conf.d/lurker ] && [ ! -h /etc/$server/conf.d/lurker ]; then
46
apache|apache-ssl|apache-perl)
47
if ! grep -q "^LoadModule rewrite_module " /etc/$server/modules.conf >/dev/null 2>&1; then
49
echo "ERROR: lurker requires the $server rewrite module."
50
echo "see README.Debian for more information."
55
if ! grep -q "^LoadModule rewrite_module" /etc/$server/mods-enabled/rewrite.load >/dev/null 2>&1; then
57
echo "ERROR: lurker requires the $server rewrite module."
58
echo "see README.Debian for more information."
63
echo -n "Automaticly configuring $server"
64
ln -s $apache_conf /etc/$server/conf.d/lurker
65
restart="$restart $server"
68
echo "$server already configured."
26
# support new apache config style
27
if [ -d /etc/$server/conf.d ]; then
30
if [ ! -f /etc/$server/conf.d/lurker -a ! -h /etc/$server/conf.d/lurker ]; then
31
echo "Automaticly configuring $server."
32
ln -s /etc/lurker/apache.conf /etc/$server/conf.d/lurker
35
if [ -x /usr/sbin/invoke-rc.d ]; then
36
invoke-rc.d $server restart
38
/etc/init.d/$server restart
41
echo "$server already configured."
46
if test ! $server; then
47
echo "not configured any webserver. you have to configue it manually."
72
for server in $restart; do
73
invoke-rc.d $server restart
77
db_get lurker/upgrade_db
78
if [ "$RET" = "automatic" ]; then
79
echo "Automaticly regenerating lurker database."
80
/usr/bin/lurker-regenerate
83
# lurker configuration section
85
db_get lurker/archive; archive=$RET
86
db_get lurker/admin_name; admin_name=$RET
87
db_get lurker/admin_address; admin_address=$RET
89
# safely create a temporary file
90
tempfile=`tempfile -m 644`
92
sed -e "s/^[[:space:]]*archive[[:space:]]*=.*/archive = $archive/" \
93
-e "s/^[[:space:]]*admin_name[[:space:]]*=.*/admin_name = $admin_name/" \
94
-e "s/^[[:space:]]*admin_address[[:space:]]*=.*/admin_address = $admin_address/" \
95
< /usr/share/lurker/lurker.conf.template > $tempfile
51
ucf --three-way "/usr/share/lurker/lurker.conf" "/etc/lurker/lurker.conf"
53
# lurker configuration section
55
sed -e "s/^[[:space:]]*archive[[:space:]]*=.*/archive = $RET/" < /etc/lurker/lurker.conf > /etc/lurker/lurker.conf.new
57
db_get lurker/admin_name
58
sed -e "s/^[[:space:]]*admin_name[[:space:]]*=.*/admin_name = $RET/" < /etc/lurker/lurker.conf.new > /etc/lurker/lurker.conf.new2
60
db_get lurker/admin_address
61
sed -e "s/^[[:space:]]*admin_address[[:space:]]*=.*/admin_address = $RET/" < /etc/lurker/lurker.conf.new2 > /etc/lurker/lurker.conf.new
63
mv -f /etc/lurker/lurker.conf.new /etc/lurker/lurker.conf
64
rm /etc/lurker/lurker.conf.new2
66
db_get lurker/upgrade_db
69
/usr/bin/lurker-regenerate /usr/bin/lurker-index /etc/lurker/lurker.conf
98
/usr/bin/ucf --three-way $tempfile /etc/lurker/lurker.conf
103
# set the lurker system group password
104
db_get lurker/group_passwd
105
echo "lurker:$RET" | /usr/sbin/chgpasswd
75
sg lurker -c true 2> /dev/null || addgroup --system lurker
76
chown root.lurker -R /var/lib/lurker
77
chmod g+ws /var/lib/lurker
78
chown www-data.www-data -R /var/www/lurker/attach /var/www/lurker/list /var/www/lurker/m* /var/www/lurker/s* /var/www/lurker/thread /var/www/lurker/lurker.docroot
79
chown root.root /var/www/lurker
111
if [ -x /usr/bin/lurker-prune ] && [ -f /etc/lurker/lurker.conf ] && [ -f /var/lib/lurker/db ]; then
112
echo "Pruning the lurker webserver cache."
113
su - www-data -c "/usr/bin/lurker-prune -p"
83
116
abort-upgrade|abort-remove|abort-deconfigure)
88
120
echo "postinst called with unknown argument \`$1'" >&2