+ ctype="$1"
+ adir="$2"
+ edir="$3"
+
+ case "$ctype" in
+ site|conf)
+ # continue below
+ ;;
+ *)
+ return 1
+ ;;
+ esac
+
+ if [ -d "${edir}" ] && [ -n "$(ls -A ${edir}/)" ]; then
+ mkdir -p "$adir"
+ for efile in ${edir}/*; do
+ [ -z "$(echo "$efile" | egrep '^/.*(~|(\.(old|staro|bkp|bak|swp|tmp|dpkg-.+|cn-.+)))$')" ] || continue
+
+ [ ! -e "${edir}/$(basename "$efile" .conf).conf" ] || continue
+
+ afile="$(readlink -q -m "$efile")"
+
+ [ "$(dirname "$afile")" = "$adir" ] || continue
+ [ "$(basename "$afile" .conf)" = "$(basename "$efile" .conf)" ] || continue
+
+ newfile="${adir}/$(basename "$afile" .conf).conf"
+ [ ! -e "$newfile" ] || continue
+
+ cp_echo "CN: Preserving changes to $newfile (renamed from $afile)."
+ cp_mv "$afile" "$newfile"
+
+ cp_echo "CN: Removing obsolete symlink $efile"
+ rm -f "$efile"
+
+ cp_echo "CN: Enabling configuration $newfile"
+ a2en$ctype -m -q "$(basename "$newfile" .conf)" || true
+ need_restart=1
+ done
+ fi
+}
+
+# listconffiles()
+#
+# Recursively walks /etc/apache2/apache2.conf for Include and
+# IncludeOptional directives.
+# Prints all configfiles so defined.
+#
+listconffiles () {
+ local i incs
+ local base_dir="`dirname $1`"
+
+ incs=`awk 'tolower($1) ~ /include(optional)?/ { sub("/$","/*",$2); print $2; }' $1`
+ incs=`echo "$incs" | sed -r "s#^([^/])#${base_dir}/\1#"`
+ if [ -n "$incs" ]; then
+ for i in $incs; do
+ if [ -e "$i" ]; then echo "`readlink -m -q $i`"; listconffiles "$i"; fi
+ done
+ fi