2 # postinst script for roundcube
4 # see: dh_installdeb(1)
8 . /usr/share/debconf/confmodule
9 . /usr/share/dbconfig-common/dpkg/postinst
10 dbc_generate_include=php:/etc/roundcube/debian-db.php
11 dbc_generate_include_owner="www-data:www-data"
12 dbc_generate_include_perms="660"
13 dbc_dbfile_owner="www-data:www-data"
14 dbc_dbfile_perms="0660"
23 CONFFILE=/etc/roundcube/main.inc.php
24 touch $CONFFILE.ucftmp
25 chmod 640 $CONFFILE.ucftmp
27 db_get roundcube/hosts || true
29 if [ "$hosts" != "" ]; then
30 hosts="array(\"$(echo $hosts | sed 's/ /\",\"/g')\")"
35 db_get roundcube/language || true
38 # Get current 3DES key from /etc/roundcube/main.inc.php
39 [ -f /etc/roundcube/main.inc.php ] && {
40 deskey=$(sed -n "s+^\$rcmail_config\['des_key'\] = '\(.*\)';\$+\1+p" \
41 /etc/roundcube/main.inc.php)
43 # If this is the default key, forget it !
44 [ "$deskey" = "rcmail-!24ByteDESkey*Str" ] && unset deskey
46 while [ -z "$deskey" ]; do
47 deskey=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | \
48 tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p')
51 # Put hosts, language and key in main.inc.php
52 zcat /usr/share/doc/roundcube/main.inc.php.dist.gz | \
53 sed -e "s+^\(\$rcmail_config\['default_host'\] = \)''\(;\)\$+\1${hosts}\2+" \
54 -e "s+^\(\$rcmail_config\['des_key'\] = '\).*\(';\)\$+\1$deskey\2+" \
55 -e "s+^\(\$rcmail_config\['locale_string'\] = '\).*\(';\)\$+\1${language}\2+" >> $CONFFILE.ucftmp
57 ucf --debconf-ok $CONFFILE.ucftmp $CONFFILE
58 chown root:www-data $CONFFILE
59 rm -f $CONFFILE.ucftmp
61 # Handle webserver reconfiguration/restart ; stolen from zabbix package
62 db_get roundcube/reconfigure-webserver || true
66 for webserver in $webservers; do
67 webserver=${webserver%,}
68 test -x /usr/sbin/$webserver || continue
70 if [ ! -f /etc/$webserver/conf.d/roundcube ] && [ ! -h /etc/$webserver/conf.d/roundcube ]; then
71 ln -s /etc/roundcube/apache.conf /etc/$webserver/conf.d/roundcube
73 restart="$restart $webserver"
76 db_get roundcube/restart-webserver || true
79 if [ "$res" = "true" ]; then
80 for webserver in $restart; do
81 webserver=${webserver%,}
82 if [ -x /usr/sbin/invoke-rc.d ]; then
83 invoke-rc.d $webserver restart
85 /etc/init.d/$webserver restart
90 chown -R www-data:adm /var/log/roundcube
91 chmod -R 750 /var/log/roundcube
92 chown -R www-data:www-data /var/lib/roundcube/temp
93 chmod -R 750 /var/lib/roundcube/temp
94 chown www-data:adm /var/lib/roundcube/skins
98 abort-upgrade|abort-remove|abort-deconfigure)
102 echo "postinst called with unknown argument \`$1'" >&2