X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=debian%2Fprerm;h=d4b99f12dd80e30afd7ad2ae4677cb896a143d5f;hb=efcba04e69e03fa428d417afac63b38073852eaf;hp=7bc72f15890b2bef42ed7ffff71a63eb7c654f98;hpb=3856ea6e5dfd3b51301b2e52bffb1c0557dbdeb7;p=apache2-cn.git diff --git a/debian/prerm b/debian/prerm index 7bc72f1..d4b99f1 100755 --- a/debian/prerm +++ b/debian/prerm @@ -2,78 +2,60 @@ set -e -# Include CARNet functions. -. /usr/share/carnet-tools/functions.sh - +PKG=apache2-cn CONFDIR="/etc/apache2" -sitesendir=${CONFDIR}/sites-enabled -sites= - - -case "$1" in - remove|deconfigure) - - # Get CARNet config files in /etc/apache2/sites-enabled directory. - if [ -d "${sitesendir}" ] && [ -n "$(ls ${sitesendir}/)" ]; then - - 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 - if [ -n "$sites" ]; then - for site in $sites; do - - if [ -e "$sitesendir/$site" ]; then - - cp_echo "CN: Disabling $site site configuration." - rm -f $sitesendir/$site - fi - done - fi - - if [ -f "${CONFDIR}/sites-available/default" ]; then - cp_echo "CN: Enabling default site configuration for Apache2 web server." - a2ensite default >/dev/null || true - fi - - # 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 restart || true - else - /etc/init.d/apache2 restart || 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 +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