X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=debian%2Froundcube-core.postinst;h=64bdf5d8a2192883e81cdefb693787177bc91af8;hb=1913cf4b7a24545621b1c1d0301bebe059ee14e7;hp=33d691264f9babc88cf8f1e86c472f189c36aa7f;hpb=41bb5e5480326673d34e7019e6561b06ddc5802d;p=roundcube.git diff --git a/debian/roundcube-core.postinst b/debian/roundcube-core.postinst index 33d6912..64bdf5d 100644 --- a/debian/roundcube-core.postinst +++ b/debian/roundcube-core.postinst @@ -9,7 +9,7 @@ set -e . /usr/share/dbconfig-common/dpkg/postinst dbc_generate_include=php:/etc/roundcube/debian-db.php dbc_generate_include_owner="www-data:www-data" -dbc_generate_include_perms="660" +dbc_generate_include_perms="640" dbc_dbfile_owner="www-data:www-data" dbc_dbfile_perms="0660" dbc_dbuser=roundcube @@ -17,60 +17,49 @@ dbc_dbname=roundcube dbc_go roundcube $@ +lighttpd_install() { + if [ ! -f /etc/lighttpd/conf-available/50-roundcube.conf ] ; then + if [ ! -x /usr/sbin/lighty-enable-mod ] ; then + echo "Lighttpd not installed, skipping" + else + ln -s /etc/roundcube/lighttpd.conf /etc/lighttpd/conf-available/50-roundcube.conf + lighty-enable-mod roundcube + fi + fi +} + +apache_install() { + webserver=$1 + if [ -d /etc/$webserver/conf.d ] && [ ! -e /etc/$webserver/conf.d/roundcube ]; then + ln -s /etc/roundcube/apache.conf /etc/$webserver/conf.d/roundcube + fi +} + + case "$1" in configure) - # From 0.1-beta2.2 to 0.1-rc1, a column was added to table - # `identities'. For MySQL and PostgreSQL, this is handled by - # dbconfig-common but for sqlite, there is no way to add a - # column to a table. Therefore, we dump here the table and add - # the column. - [ "$dbc_upgrade" = "true" ] && { - case "$dbc_dbtype" in - sqlite) - db="${dbc_basepath}/${dbc_dbname}" - # OK, we need to check if the table contains html_signature - if ! sqlite "$db" '.schema identities' | grep -q html_signature; then - # We need to add it - echo -n "Need to upgrade 'identities' table in $db... " - upgrade_tmp=$(mktemp -t roundcube.sqlite.XXXXXXXXXX) - ( - cat < $upgrade_tmp - sqlite "$db" < $upgrade_tmp - rm $upgrade_tmp - echo "OK" - fi - ;; - *) - # Do nothing - ;; - esac - } + fi + fi + fi CONFFILE=/etc/roundcube/main.inc.php touch $CONFFILE.ucftmp @@ -104,7 +93,7 @@ EOF cat /usr/share/roundcube/main.inc.php.dist | \ sed -e "s+^\(\$rcmail_config\['default_host'\] = \)''\(;\)\$+\1${hosts}\2+" \ -e "s+^\(\$rcmail_config\['des_key'\] = '\).*\(';\)\$+\1$deskey\2+" \ - -e "s+^\(\$rcmail_config\['locale_string'\] = '\).*\(';\)\$+\1${language}\2+" >> $CONFFILE.ucftmp + -e "s+^\(\$rcmail_config\['language'\] = \).*\(;\)\$+\1'${language}'\2+" >> $CONFFILE.ucftmp ucf --debconf-ok $CONFFILE.ucftmp $CONFFILE chown root:www-data $CONFFILE @@ -117,11 +106,12 @@ EOF for webserver in $webservers; do webserver=${webserver%,} + if [ "$webserver" = "lighttpd" ] ; then + lighttpd_install + else + apache_install $webserver + fi test -x /usr/sbin/$webserver || continue - - if [ ! -f /etc/$webserver/conf.d/roundcube ] && [ ! -h /etc/$webserver/conf.d/roundcube ]; then - ln -s /etc/roundcube/apache.conf /etc/$webserver/conf.d/roundcube - fi restart="$restart $webserver" done @@ -131,10 +121,12 @@ EOF 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. See bug #446324. if [ -x /usr/sbin/invoke-rc.d ]; then - invoke-rc.d $webserver restart + invoke-rc.d $webserver reload 3>/dev/null || true else - /etc/init.d/$webserver restart + /etc/init.d/$webserver reload 3>/dev/null || true fi done fi @@ -143,7 +135,6 @@ EOF chmod -R 750 /var/log/roundcube chown -R www-data:www-data /var/lib/roundcube/temp chmod -R 750 /var/lib/roundcube/temp - chown www-data:adm /var/lib/roundcube/skins ;;