X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?p=webalizer-cn.git;a=blobdiff_plain;f=debian%2Fpostinst;h=93fc429902c474a7821429f79998cb495dbda0db;hp=a3b3604b7990cdfbc997b3c1ea52f3c09177b69e;hb=f7033eaa1824362d69465a9ca29c6fd180efb713;hpb=1f773c8396f4f908ebf57c8b20f5f627ae2b936d diff --git a/debian/postinst b/debian/postinst index a3b3604..93fc429 100755 --- a/debian/postinst +++ b/debian/postinst @@ -1,62 +1,106 @@ #!/bin/sh -[ "$1" = "configure" ] || exit 0 -[ "$DEBIAN_SCRIPT_DEBUG" ] && set -x +set -e + +[ "$DEBIAN_SCRIPT_DEBUG" ] && set -vx + +case "$1" in + configure) + # continue below + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + exit 0 + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac -# Load CARNet Tools -. /usr/share/carnet-tools/functions.sh -# Debconf +# Load debconf . /usr/share/debconf/confmodule -# Get some useful functions (apache-common) -. /usr/share/apache/postinst.common +# Include CARNet functions +. /usr/share/carnet-tools/functions.sh -dir=/var/www/webalizer -htpasswd=$dir/.htpasswd -CONF=/etc/webalizer/webalizer.conf -BACKUPDIR=/var/backups -CONFBAK=$BACKUPDIR/`basename $CONF`.bak +PKG="webalizer-cn" +WDIR="/var/www/webalizer" +WHTPASSWD="$WDIR/.htpasswd" +WCONF="/etc/webalizer/webalizer.conf" +WCONFBAK=`basename $WCONF` oldreporttitle="Usage Statistics for" reporttitle="Statistika pristupa za" -# Check if there is some old webalizer-cn.conf file in Apache 1.x conf.d directory -ddosen -if [ -f "/etc/apache/conf.d/webalizer-cn.conf" ]; then - if ! cmp -s "/etc/apache/conf.d/webalizer-cn.conf" "/etc/apache2/conf.d/webalizer-cn.conf"; then - mv /etc/apache/conf.d/webalizer-cn.conf /etc/apache2/conf.d/webalizer-cn.conf +if [ -f "$WCONF" ]; then + + # Backup first. + if cp_check_and_backup "$WCONFBAK"; then + cp_echo "CN: Old $WCONF saved as \"/var/backups/$WCONFBAK.bak\"." fi -fi -temp=`pget $CONF OutputDir |tail -n 1|awk '{print $NF}'` -if [ "$temp" != "$dir" ]; then - #cp_echo "CN: Found custom OutputDir value: $temp, not touching anything!" - db_set webalizer/directory "$temp" || true -fi + # Check for OutputDir + temp=`awk 'tolower($1) == "outputdir" { print $2; }' $WCONF | tail -n 1` + if [ "$temp" != "$WDIR" ]; then + db_set webalizer/directory "$temp" || true + fi -# Customise ReportTitle -temp=`pget $CONF ReportTitle |tail -n 1|perl -pe 's/(ReportTitle\s+?)(.*$)/$2/'` -if [ "$temp" = "$oldreporttitle" ]; then - pset $CONF ReportTitle "$reporttitle" - db_set webalizer/doc_title "$reporttitle" || true + # Check for ReportTitle + temp=`awk 'tolower($1) == "reporttitle" { for(i=2; i/dev/null; then + + # Reload Apache2 web server. + if [ -x "/etc/init.d/apache2" ]; then + if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then + invoke-rc.d apache2 reload || true + else + /etc/init.d/apache2 reload || true + fi + fi +else -# Reload Apache2 web server -if [ -x /etc/init.d/apache2 ]; then - /etc/init.d/apache2 reload || true + # Something is broken. + cp_echo "CN: Your Apache2 configuration is broken." + cp_echo "CN: Please, check the service after the installation finishes!" fi -# Send mail with informations -if [ ! -f $htpasswd ]; then - passwd=`makepasswd` - htpasswd -bc $htpasswd admin $passwd 2> /dev/null + +# Generate e-mail message with informations (username and password). +# +if [ ! -f "$WHTPASSWD" ]; then + passwd=`makepasswd --chars 8` + htpasswd -bcm $WHTPASSWD admin $passwd 2> /dev/null cp_echo "" cp_echo "CN: Webalizer URL is http://`hostname -f`/stats/" cp_echo "CN: User: admin" cp_echo "CN: Password: $passwd" cp_echo "" - cp_echo "CN: Use \"htpasswd $htpasswd admin\" to change it." - cp_mail "webalizer-cn" + cp_echo "CN: Use \"htpasswd -m $WHTPASSWD admin\" to change it." fi + + +# Mail root. +# +cp_mail "$PKG" + +exit 0