summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Fritsch <sf@sfritsch.de>2016-08-10 16:32:27 +0200
committerStefan Fritsch <sf@sfritsch.de>2016-08-11 21:38:11 +0200
commit473f1bb409c11b19d09e6b10439ba29f1c13b994 (patch)
treee189922c0b5d6e27dca1502af9c6754cddfef57e
parent69646082f7de080ed26ea1137678d0cb3525247d (diff)
downloadapache2-473f1bb409c11b19d09e6b10439ba29f1c13b994.tar.gz
Also restore re-introduced *.load files
These may have gone missing due to dpkg thinking they still belong to apache2.2-common. dpkg really should offer an explicit API to make it forget about removed obsolete conffiles.
-rw-r--r--debian/apache2.preinst.in15
-rw-r--r--debian/changelog3
-rwxr-xr-xdebian/rules5
3 files changed, 22 insertions, 1 deletions
diff --git a/debian/apache2.preinst.in b/debian/apache2.preinst.in
index 1139f9b6..301eab7e 100644
--- a/debian/apache2.preinst.in
+++ b/debian/apache2.preinst.in
@@ -16,6 +16,15 @@ set -e
FIXUP_TEMPFILE=
+# During the migration of conffiles from apache2.2-common to apache2,
+# some things may have gone wrong.
+# * Some conffiles may have been left with obsolete content. These
+# have an md5sum in this list.
+# * Some other conffiles may have been removed but dpkg still thinks that
+# they belong to apache2.2-common. A few of these have been re-introduced,
+# but dpkg being confused about their state causes dpkg to think the
+# admin has removed them and to not create the new content.
+# These have a 'restore' instead of a md5 in the list.
list_fixup_conffiles () {
cat <<- EOF
/etc/bash_completion.d/apache2 6a5f85e62655f6b5c8fa0f95c7c35c9c removed
@@ -25,6 +34,9 @@ list_fixup_conffiles () {
/etc/apache2/conf-available/localized-error-pages.conf 844ba27ddb794fc6967bfb56b950e6a8
/etc/apache2/conf-available/other-vhosts-access-log.conf 2cad303fc4221d6b0068a8b37597b9fb
/etc/apache2/conf-available/security.conf 0f644d9d04ad556f44f1e65674bc07dc
+ /etc/apache2/mods-available/cern_meta.load restore
+ /etc/apache2/mods-available/ident.load restore
+ /etc/apache2/mods-available/imagemap.load restore
EOF
}
@@ -52,6 +64,9 @@ replace_broken_conffiles () {
if [ -z "$REMOVED" ] ; then
extract_fixup_conffile "$FILE"
fi
+ elif [ ! -e "$FILE" ] && [ "$MD5" = "restore" ] ; then
+ echo "Restoring lost conffile ${FILE}."
+ extract_fixup_conffile "$FILE"
fi
done
rm -f "$FIXUP_TEMPFILE"
diff --git a/debian/changelog b/debian/changelog
index f88c4b52..d9d2f4f0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,9 @@ apache2 (2.4.23-3) UNRELEASED; urgency=low
* Fix conffiles that may have got the wrong content during upgrade from
wheezy to early jessie versions. Closes: #794933
+ * Also restore re-introduced *.load files for mod_ident, mod_imagemap, and
+ mod_cern_meta. These may have gone missing due to dpkg thinking they still
+ belong to apache2.2-common. Reported by Markus Waldeck.
* Make mod_proxy_html depend on mod_xml2enc.
-- Stefan Fritsch <sf@debian.org> Wed, 10 Aug 2016 11:25:02 +0200
diff --git a/debian/rules b/debian/rules
index f68de5bd..709623d0 100755
--- a/debian/rules
+++ b/debian/rules
@@ -51,7 +51,10 @@ debian/fixup_conffiles.tgz: \
debian/config-dir/conf-available/charset.conf \
debian/config-dir/conf-available/localized-error-pages.conf \
debian/config-dir/conf-available/other-vhosts-access-log.conf \
- debian/config-dir/conf-available/security.conf
+ debian/config-dir/conf-available/security.conf \
+ debian/config-dir/mods-available/cern_meta.load \
+ debian/config-dir/mods-available/ident.load \
+ debian/config-dir/mods-available/imagemap.load
tar --transform 's,.*/,,' -cz -f $@ $^
debian/fixup_conffiles.b64: debian/fixup_conffiles.tgz