X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=debian%2Fprerm;h=d27696131a79da273cf2ce953bb67c9e4236a89a;hb=ae7c1b33ddcc1bfb1f83f29b6164db5fe03dd0c7;hp=ce3ced3aeb579f2bdfa14008d4c6eea4a18c474c;hpb=eb37ec66b33ffb28c3a28fae57326403db609a25;p=apache2-cn.git diff --git a/debian/prerm b/debian/prerm index ce3ced3..d276961 100755 --- a/debian/prerm +++ b/debian/prerm @@ -2,77 +2,60 @@ set -e -# Include CARNet functions. -. /usr/share/carnet-tools/functions.sh - - -HOST=$(hostname -f) -DOMAIN=$(hostname -d) -sites="000-$HOST 001-ssl www.$DOMAIN" -sitesendir=/etc/apache2/sites-enabled - - -case "$1" in - remove|deconfigure) - - # Get CARNet config files in /etc/apache2/sites-enabled directory. - if [ -d "${sitesendir}" ] && [ -n "$(ls ${sitesendir}/)" ]; then - - sites="" - for file in ${sitesendir}/*; do - if [ -f "$file" ]; then - if egrep -q "^## Begin - Generated by CARNet package apache2-cn$" $file; then - site=`echo "$file" | sed 's/^\/.*\///'` - sites="$sites $site" - fi - fi - done - fi - - # Deconfigure our web sites, do nothing else - for site in $sites; do - - if [ -e "$sitesendir/$site" ]; then - - cp_echo "CN: Disabling $site site configuration." - a2dissite $site >/dev/null || true - fi - done - - cp_echo "CN: Enabling default site configuration for Apache2 web server." - a2ensite default >/dev/null || true - - # Restart Apache2 web server. - if apache2ctl configtest 2>/dev/null; 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 force-reload || true - else - /etc/init.d/apache2 force-reload || true - fi - fi - else - - # Something is broken. - cp_echo "CN: Your Apache2 configuration seem to be broken." - cp_echo "CN: Please, check the service configuration!" - fi - - # Mail root - cp_mail "apache2-cn" - - echo - ;; - upgrade) - ;; - failed-upgrade) - ;; - *) - echo "prerm called with unknown argument \`$1'" >&2 - exit 0 - ;; -esac +PKG=apache2-cn +CONFDIR="/etc/apache2" + +need_restart=0 + +# disable_conf() +# +# Disable Apache2 configuration files located in specified directory. +# +disable_conf () { + local ctype dir file + + ctype="$1" + dir="$2" + + case "$ctype" in + site|conf) + # continue below + ;; + *) + return 1 + ;; + esac + + if [ -d "${dir}" ] && [ -n "$(ls -A ${dir}/)" ]; then + for file in ${dir}/*.conf; do + if [ -f "$file" ]; then + if egrep -q "^## Begin - Generated by CARNet package apache2-cn$" "$file"; then + a2dis$ctype -m -f -q "`basename "$file" .conf`" + need_restart=1 + fi + fi + done + fi +} + +if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ]; then + + echo "CN: Disabling $PKG configuration for Apache2." + disable_conf site ${CONFDIR}/sites-enabled + disable_conf conf ${CONFDIR}/conf-enabled + + echo "CN: Enabling default site configuration for Apache2 web server." + a2ensite -m -q 000-default && need_restart=1 + + if [ $need_restart -eq 1 ]; then + if apache2ctl configtest 2>/dev/null; then + service apache2 reload || true + else + echo "Your Apache2 configuration seems to be broken." + fi + fi +fi + +#DEBHELPER# exit 0