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."
- a2dissite $site >/dev/null || true
- 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