X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?p=squirrelmail-cn.git;a=blobdiff_plain;f=debian%2Fpostinst;fp=debian%2Fpostinst;h=ac161dcce98a331a5e73c74e94adeac4cf5708f4;hp=1f77371fe89b197ea650d5f5fdff40dc8eee8237;hb=10e1b23107ae734fcaa2efa79eac426ddc9e9bd7;hpb=5c9cb61bd99bcc06acd6d775ce2ab28175f9fe09 diff --git a/debian/postinst b/debian/postinst index 1f77371..ac161dc 100644 --- a/debian/postinst +++ b/debian/postinst @@ -2,24 +2,24 @@ set -e -[ "$DEBIAN_SCRIPT_DEBUG" ] && set -x +[ "$DEBIAN_SCRIPT_DEBUG" ] && set -x # Source debconf library. . /usr/share/debconf/confmodule case "$1" in - configure) - # continue below - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - exit 0 - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 0 - ;; + configure) + # continue below + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + exit 0 + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 0 + ;; esac @@ -32,18 +32,17 @@ FQDN=`hostname --fqdn` unset CP_ECHO_RETURN mv_old_backups () { - - # Clean up /etc, nove old jun^H^H^Hbackups where they belong - glob="$1.old.*-*-*.*:*:*" - - # ${glob%/*} (dirname $glob) does not work for files in root - if [ -n "$(find ${glob%/*} -name ${glob##*/})" ]; then - for i in $(find ${glob%/*} -name ${glob##*/}) - do - cp_backup_conffile "$i" "$2" - rm -f "$i" - done - fi + # Clean up /etc, nove old jun^H^H^Hbackups where they belong + glob="$1.old.*-*-*.*:*:*" + + # ${glob%/*} (dirname $glob) does not work for files in root + if [ -n "$(find ${glob%/*} -name ${glob##*/})" ]; then + for i in $(find ${glob%/*} -name ${glob##*/}) + do + cp_backup_conffile "$i" "$2" + rm -f "$i" + done + fi } # listconffiles () @@ -52,15 +51,14 @@ mv_old_backups () { # Returns all configfiles so defined. # listconffiles () { - - local i incs - - incs=`awk 'tolower($1) == "include" { sub("/$","/*",$2); print $2; }' $1` - if [ -n "$incs" ]; then - for i in $incs; do - if [ -e "$i" ]; then echo "$i"; listconffiles "$i"; fi - done - fi + local i incs + + incs=`awk 'tolower($1) == "include" { sub("/$","/*",$2); print $2; }' $1` + if [ -n "$incs" ]; then + for i in $incs; do + if [ -e "$i" ]; then echo "$i"; listconffiles "$i"; fi + done + fi } # genlocales () @@ -69,12 +67,11 @@ listconffiles () { # is not installed. # genlocales () { - - if [ -f /usr/lib/locales-all/supported.tar.lzma ] ; then - cp_echo "CN: locales-all installed, skipping locales generation." - else - /usr/sbin/locale-gen - fi + if [ -f /usr/lib/locales-all/supported.tar.lzma ] ; then + cp_echo "CN: locales-all installed, skipping locales generation." + else + locale-gen + fi } @@ -90,50 +87,49 @@ mv_old_backups $CONF $backup_name # if [ -f "$CONF" ]; then - # Backup first. - if cp_check_and_backup "$CONF" "$backup_name"; then - cp_echo "CN: Old $CONF saved as \"/var/backups/$backup_name.bak\"." - fi - - # Check if we already modified apache.conf - if ! egrep -q "^[ ]+RewriteRule \. https" "$CONF"; then - - echo -n "CN: Updating Apache2 configuration for Squirrelmail" - perl -n -e 'print if ! m|^Alias\s*/webmail|' "$CONF" > $CONF.tmp - - cp-update -t squirrelmail-cn $CONF.tmp <<-EOF - # Force SSL for /webmail -> you can still use /squirrelmail - Alias /webmail /usr/share/squirrelmail - - - - - RewriteEngine on - RewriteCond %{HTTPS} !=on - RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [L] - - - - - # - # WARNING: This file is automatically included in each VirtualHost - # entry you might have. Do not enable the VirtualHost example provided - # in this file, it WILL break your Apache configuration. Copy the - # VirtualHost section to the standard webserver configuration file - # instead. - # - EOF - cp_mv $CONF.tmp $CONF - - # This will break if cp_backup_conffile ever changes destination path - if ! cmp -s "$CONF" "/var/backups/$backup_name.bak"; then - echo "." - cp_echo "CN: Updated Apache2 configuration for Squirrelmail." - need_restart=1 - else - echo "... no changes." - fi + # Backup first. + if cp_check_and_backup "$CONF" "$backup_name"; then + cp_echo "CN: Old $CONF saved as \"/var/backups/$backup_name.bak\"." + fi + + # Check if we already modified apache.conf + if ! egrep -q "^[ ]+RewriteRule \. https" "$CONF"; then + echo -n "CN: Updating Apache2 configuration for Squirrelmail" + perl -n -e 'print if ! m|^Alias\s*/webmail|' "$CONF" > $CONF.tmp + + cp-update -t squirrelmail-cn $CONF.tmp <<-EOF +# Force SSL for /webmail -> you can still use /squirrelmail +Alias /webmail /usr/share/squirrelmail + + + + + RewriteEngine on + RewriteCond %{HTTPS} !=on + RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [L] + + + + +# +# WARNING: This file is automatically included in each VirtualHost +# entry you might have. Do not enable the VirtualHost example provided +# in this file, it WILL break your Apache configuration. Copy the +# VirtualHost section to the standard webserver configuration file +# instead. +# +EOF + cp_mv $CONF.tmp $CONF + + # This will break if cp_backup_conffile ever changes destination path + if ! cmp -s "$CONF" "/var/backups/$backup_name.bak"; then + echo "." + cp_echo "CN: Updated Apache2 configuration for Squirrelmail." + need_restart=1 + else + echo "... no changes." fi + fi fi @@ -152,8 +148,8 @@ apache2listconf=`listconffiles "$hconf" | grep "$CONF"` || true apache2squirrel=`ls -l /etc/apache2/conf.d/ | grep "$CONF"` || true if [ -z "$apache2listconf" -a -z "$apache2squirrel" ]; then - ln -s "$CONF" /etc/apache2/conf.d/squirrelmail-cn.conf - need_restart=1 + ln -s "$CONF" /etc/apache2/conf.d/squirrelmail-cn.conf + need_restart=1 fi @@ -163,30 +159,30 @@ CONF="$CONFDIR/config.php" TMPL="$CONFDIR/config_default.php" mv_old_backups "$CONF" "`basename $CONF`" if cp_check_and_backup "$CONF"; then - cp_echo "CN: Old $CONF saved as \"/var/backups/${CONF##*/}.bak\"." + cp_echo "CN: Old $CONF saved as \"/var/backups/${CONF##*/}.bak\"." fi # We use sed to replace old defaults with ours. # Must escape \$ because of shell expansion. # seddef="/^[ ]*\\\$org_logo[ ]*=/s/sm_logo\.jpg/sm_carnet_logo.png/; - /^[ ]*\\\$org_logo[ ]*=/s/sm_logo\.png/sm_carnet_logo.png/; - /^[ ]*\\\$org_logo[ ]*=/s/sm_carnet_logo\.jpg/sm_carnet_logo.png/; - /^[ ]*\\\$domain[ ]*=/s/mydomain\.com/$domainname/; - /^[ ]*\\\$default_charset[ ]*=/s/iso-8859-1/iso-8859-2/; - /^[ ]*\\\$org_logo_width[ ]*=/s/308/0/; - /^[ ]*\\\$org_logo_height[ ]*=/s/111/0/; - /^[ ]*\\\$squirrelmail_default_language[ ]*=/s/en_US/hr_HR/; - /^[ ]*\\\$data_dir[ ]*=/s/\.\.\/data\//\/var\/lib\/squirrelmail\/data\//; - " + /^[ ]*\\\$org_logo[ ]*=/s/sm_logo\.png/sm_carnet_logo.png/; + /^[ ]*\\\$org_logo[ ]*=/s/sm_carnet_logo\.jpg/sm_carnet_logo.png/; + /^[ ]*\\\$domain[ ]*=/s/mydomain\.com/$domainname/; + /^[ ]*\\\$default_charset[ ]*=/s/iso-8859-1/iso-8859-2/; + /^[ ]*\\\$org_logo_width[ ]*=/s/308/0/; + /^[ ]*\\\$org_logo_height[ ]*=/s/111/0/; + /^[ ]*\\\$squirrelmail_default_language[ ]*=/s/en_US/hr_HR/; + /^[ ]*\\\$data_dir[ ]*=/s/\.\.\/data\//\/var\/lib\/squirrelmail\/data\//; + " # Left frame size to 220px. # $default_left_size = '220'; # db_get squirrelmail-cn/leftwidth || true if [ "$RET" = "true" ]; then - seddef="$seddef/^[ ]*\\\$default_left_size[ ]*=/s/'[0-9]*'/'220'/; - " + seddef="$seddef/^[ ]*\\\$default_left_size[ ]*=/s/'[0-9]*'/'220'/; + " fi # Change CSS file for Squirrelmail. @@ -194,8 +190,8 @@ fi # db_get squirrelmail-cn/themecss || true if [ "$RET" = "true" ]; then - seddef="$seddef/^[ ]*\\\$theme_css[ ]*=/s/=.*/= SM_PATH . 'themes\/css\/squirrelmail-cn.css';/; - " + seddef="$seddef/^[ ]*\\\$theme_css[ ]*=/s/=.*/= SM_PATH . 'themes\/css\/squirrelmail-cn.css';/; + " fi db_stop || true @@ -203,14 +199,14 @@ db_stop || true # Check for our dovecot package; if it is installed, assume it's used. # if dpkg -l dovecot-cn 2>/dev/null | grep -q '^ii'; then - seddef="$seddef/^[ ]*\\\$imap_server_type[ ]*=/ {s/cyrus/dovecot/;s/other/dovecot/;s/uw/dovecot/} - " + seddef="$seddef/^[ ]*\\\$imap_server_type[ ]*=/ {s/cyrus/dovecot/;s/other/dovecot/;s/uw/dovecot/} + " fi # Would there be any changes, perhaps? # if cp_check_and_sed '.' "$seddef" "$CONF"; then - need_restart=1 + need_restart=1 fi @@ -226,49 +222,50 @@ grep -q '\.' /etc/hostname || nodots=1 # Check for hr_HR locale. # if [ -f /etc/locale.gen ]; then - if ! egrep -q '^hr_HR ISO-8859-2\b' /etc/locale.gen; then - echo "hr_HR ISO-8859-2" >> /etc/locale.gen - cp_echo "CN: Added hr_HR locale to /etc/locale.gen." - genlocales - need_restart=1 - fi -else - echo "hr_HR ISO-8859-2" > /etc/locale.gen - cp_echo "CN: /etc/locale.gen created." + if ! egrep -q '^hr_HR ISO-8859-2\b' /etc/locale.gen; then + echo "hr_HR ISO-8859-2" >> /etc/locale.gen + cp_echo "CN: Added hr_HR locale to /etc/locale.gen." genlocales need_restart=1 + fi +else + echo "hr_HR ISO-8859-2" > /etc/locale.gen + cp_echo "CN: /etc/locale.gen created." + genlocales + need_restart=1 fi # Check Apache2 web server for restart. # if [ $need_restart -eq 1 ]; then - - # Restart Apache2 web server. - if [ -x "/etc/init.d/apache2" ]; then - if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then - invoke-rc.d apache2 restart || exit $? - else - /etc/init.d/apache2 restart || exit $? - fi - fi + if apache2ctl configtest 2>/dev/null; then + invoke-rc.d apache2 force-reload || true + else + cp_echo "CN: Your Apache2 configuration is either broken or nonexistant." + fi fi # Mailname info... # if [ "$nodots" -o "$nomailname" ]; then - cp_echo - cp_echo "CN: Make sure that /etc/mailname contains a fully qualified domain name" - cp_echo "CN of this machine! Sending mail via squirrelmail might fail if the FQDN" - cp_echo "CN cannot be found in either /etc/mailname or /etc/hostname." - cp_echo "CN Read mailname(5) man page for details." - cp_echo -mailonly "CN If this machine receives mail for both user@`hostname -f` and " - cp_echo -mailonly "CN user@`hostname -d`, you can also put just the domain in there." + cp_echo + cp_echo "CN: Make sure that /etc/mailname contains a fully qualified domain name" + cp_echo "CN of this machine! Sending mail via squirrelmail might fail if the FQDN" + cp_echo "CN cannot be found in either /etc/mailname or /etc/hostname." + cp_echo "CN Read mailname(5) man page for details." + cp_echo -mailonly "CN If this machine receives mail for both user@`hostname -f` and " + cp_echo -mailonly "CN user@`hostname -d`, you can also put just the domain in there." fi # Mail root # cp_mail "$PKG" +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + exit 0