Bug#862693: unblock: postfix/3.1.4-5
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package postfix
This upload fixes two significant bugs and makes it possible for a user to
recover from a third without hand editing configuration files:
1. Postfix-cdb will no longer fail to work after upgrade from jessie due to
upgrade ordering issues.
2. Postfix should wait to start until the network and DNS are actually
available, so it won't fail to start on boot.
3. If an upgrade is performed from a not fully updated system and the
dynamic maps locations are incorred in dynamicmaps.cf, dpkg-reconfigure
postfix (and whatever postfix map types are installed) will fix it.
Note: The last one will be followed by a bug to release-notes to mention this
(it seems way better than a release note explaining how to hand edit files).
unblock postfix/3.1.4-5
diff -Nru postfix-3.1.4/debian/changelog postfix-3.1.4/debian/changelog
--- postfix-3.1.4/debian/changelog 2017-01-25 10:03:04.000000000 -0500
+++ postfix-3.1.4/debian/changelog 2017-05-15 16:03:38.000000000 -0400
@@ -1,3 +1,15 @@
+postfix (3.1.4-5) unstable; urgency=medium
+
+ * Add postfix-cdb Breaks: postfix << 3.1.3-7~ so that the incorrect addmap
+ function will not be used when postfix-cdb is configured. Closes: #861593
+ * Make sure to call delmap on upgrade as well as remove and purge so
+ dpkg-reconfigure will fix broken upgrades. Closes: #859805
+ * Drop ineffective service override generated in postinst and use correct
+ service file dependencies in postfix@.service instead. Closes: #854475
+ * Clean up left-over /etc/systemd/system/postfix.service.d directory
+
+ -- Scott Kitterman <scott@kitterman.com> Mon, 15 May 2017 16:03:17 -0400
+
postfix (3.1.4-4) unstable; urgency=medium
[Scott Kitterman]
diff -Nru postfix-3.1.4/debian/control postfix-3.1.4/debian/control
--- postfix-3.1.4/debian/control 2017-01-06 13:04:11.000000000 -0500
+++ postfix-3.1.4/debian/control 2017-05-15 08:01:31.000000000 -0400
@@ -46,6 +46,7 @@
Package: postfix-cdb
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, postfix (= ${binary:Version})
+Breaks: postfix (<< 3.1.3-7~)
Description: CDB map support for Postfix
${Description}
.
diff -Nru postfix-3.1.4/debian/postfix-cdb.prerm postfix-3.1.4/debian/postfix-cdb.prerm
--- postfix-3.1.4/debian/postfix-cdb.prerm 2016-12-06 17:04:03.000000000 -0500
+++ postfix-3.1.4/debian/postfix-cdb.prerm 2017-05-15 09:43:57.000000000 -0400
@@ -18,11 +18,11 @@
. /usr/share/postfix/postinst.functions
case "$1" in
- remove|purge)
+ remove|purge|upgrade)
delmap cdb
# install-info --quiet --remove /usr/info/#PACKAGE#.info.gz
;;
- upgrade|deconfigure|failed-upgrade)
+ deconfigure|failed-upgrade)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
diff -Nru postfix-3.1.4/debian/postfix-ldap.prerm postfix-3.1.4/debian/postfix-ldap.prerm
--- postfix-3.1.4/debian/postfix-ldap.prerm 2016-12-06 16:59:58.000000000 -0500
+++ postfix-3.1.4/debian/postfix-ldap.prerm 2017-05-15 09:44:25.000000000 -0400
@@ -18,11 +18,11 @@
. /usr/share/postfix/postinst.functions
case "$1" in
- remove|purge)
+ remove|purge|upgrade)
delmap ldap
# install-info --quiet --remove /usr/info/#PACKAGE#.info.gz
;;
- upgrade|deconfigure|failed-upgrade)
+ deconfigure|failed-upgrade)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
diff -Nru postfix-3.1.4/debian/postfix-lmdb.prerm postfix-3.1.4/debian/postfix-lmdb.prerm
--- postfix-3.1.4/debian/postfix-lmdb.prerm 2016-12-06 16:56:01.000000000 -0500
+++ postfix-3.1.4/debian/postfix-lmdb.prerm 2017-05-15 09:44:54.000000000 -0400
@@ -18,11 +18,11 @@
. /usr/share/postfix/postinst.functions
case "$1" in
- remove|purge)
+ remove|purge|upgrade)
delmap lmdb
# install-info --quiet --remove /usr/info/#PACKAGE#.info.gz
;;
- upgrade|deconfigure|failed-upgrade)
+ deconfigure|failed-upgrade)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
diff -Nru postfix-3.1.4/debian/postfix-mysql.prerm postfix-3.1.4/debian/postfix-mysql.prerm
--- postfix-3.1.4/debian/postfix-mysql.prerm 2016-12-06 17:00:26.000000000 -0500
+++ postfix-3.1.4/debian/postfix-mysql.prerm 2017-05-15 09:45:22.000000000 -0400
@@ -18,11 +18,11 @@
. /usr/share/postfix/postinst.functions
case "$1" in
- remove|purge)
+ remove|purge|upgrade)
delmap mysql
# install-info --quiet --remove /usr/info/#PACKAGE#.info.gz
;;
- upgrade|deconfigure|failed-upgrade)
+ deconfigure|failed-upgrade)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
diff -Nru postfix-3.1.4/debian/postfix-pcre.prerm postfix-3.1.4/debian/postfix-pcre.prerm
--- postfix-3.1.4/debian/postfix-pcre.prerm 2016-12-06 17:00:56.000000000 -0500
+++ postfix-3.1.4/debian/postfix-pcre.prerm 2017-05-15 09:45:47.000000000 -0400
@@ -18,11 +18,11 @@
. /usr/share/postfix/postinst.functions
case "$1" in
- remove|purge)
+ remove|purge|upgrade)
delmap pcre
# install-info --quiet --remove /usr/info/#PACKAGE#.info.gz
;;
- upgrade|deconfigure|failed-upgrade)
+ deconfigure|failed-upgrade)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
diff -Nru postfix-3.1.4/debian/postfix-pgsql.prerm postfix-3.1.4/debian/postfix-pgsql.prerm
--- postfix-3.1.4/debian/postfix-pgsql.prerm 2016-12-06 17:01:24.000000000 -0500
+++ postfix-3.1.4/debian/postfix-pgsql.prerm 2017-05-15 09:46:08.000000000 -0400
@@ -18,11 +18,11 @@
. /usr/share/postfix/postinst.functions
case "$1" in
- remove|purge)
+ remove|purge|upgrade)
delmap pgsql
# install-info --quiet --remove /usr/info/#PACKAGE#.info.gz
;;
- upgrade|deconfigure|failed-upgrade)
+ deconfigure|failed-upgrade)
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
diff -Nru postfix-3.1.4/debian/postfix.postinst postfix-3.1.4/debian/postfix.postinst
--- postfix-3.1.4/debian/postfix.postinst 2017-01-20 23:32:04.000000000 -0500
+++ postfix-3.1.4/debian/postfix.postinst 2017-05-15 15:49:12.000000000 -0400
@@ -10,6 +10,8 @@
CHROOT=/var/spool/postfix
config_directory="/etc/postfix" # make variable expansion easier...
+new=$2 # get new version
+
. /usr/share/postfix/postinst.functions
set_maildrop_perms() {
@@ -182,17 +184,6 @@
fi
}
-add_service_override() {
- NAME=postfix
- # Generate service override file
- SERVICE=$(mktemp $NAME.service.XXXXXXXXXX)
- echo "[Unit]" >> $SERVICE
- echo "After=network-online.target" >> $SERVICE
- echo "After=systemd-resolved.service" >> $SERVICE
- mkdir -p /etc/systemd/system/$NAME.service.d
- install -m 644 $SERVICE /etc/systemd/system/$NAME.service.d/override.conf
- rm -f $SERVICE
-}
umask 022
# postinst processing
@@ -297,7 +288,10 @@
# Remove from postfix postinst after stretch and uncomment in postfix-sqlite.postinst
addmap sqlite
-
+if dpkg --compare-versions $new lt 3.1.4-5~; then
+ # This turned out to be the wrong way to solve the problem.
+ rm -rf /etc/systemd/system/postfix.service.d
+fi
db_get postfix/main_mailer_type && mailer="$RET"
[ -f master.cf ] || cp /usr/share/postfix/master.cf.dist master.cf
@@ -647,18 +641,6 @@
fi
fi
- # If we are not Local only and using systemd, then make sure we wait until
- # the network is actually there and we have DNS: #844277 and LP #1649453
- # for starters. If using systemd without systemd-resolved, you're on your
- # own.
- if [ -f /lib/systemd/systemd-resolved ] && \
- [ ! -f /etc/systemd/system/postfix.service.d/override.conf ] ; then
- if [ "$mailer" != "No configuration" ] && [ "$mailer" != "Local only" ]; then
- echo "Adding systemd overrides to ensure network and name services available."
- add_service_override
- fi
- fi
-
[ -x /usr/sbin/invoke-rc.d ] && \
INIT="invoke-rc.d postfix" || \
INIT="/etc/init.d/postfix"
diff -Nru postfix-3.1.4/debian/postfix.prerm postfix-3.1.4/debian/postfix.prerm
--- postfix-3.1.4/debian/postfix.prerm 2016-10-30 08:17:46.000000000 -0400
+++ postfix-3.1.4/debian/postfix.prerm 2017-05-15 14:46:43.000000000 -0400
@@ -3,6 +3,8 @@
# Debian Postfix prerm
# LaMont Jones <lamont@debian.org>
+. /usr/share/postfix/postinst.functions
+
case "$1" in
upgrade)
new=$2 # get new version
@@ -19,6 +21,8 @@
mv ${MASTER}.$$ ${MASTER}
fi
fi
+ delmap sqlite #remove after stretch
+ delmap tcp # remove after stretch
;;
deconfigure)
diff -Nru postfix-3.1.4/debian/postfix.service postfix-3.1.4/debian/postfix.service
--- postfix-3.1.4/debian/postfix.service 2016-10-30 08:17:46.000000000 -0400
+++ postfix-3.1.4/debian/postfix.service 2017-05-15 10:01:48.000000000 -0400
@@ -1,6 +1,5 @@
[Unit]
Description=Postfix Mail Transport Agent
-After=network.target
Conflicts=sendmail.service exim4.service
ConditionPathExists=/etc/postfix/main.cf
diff -Nru postfix-3.1.4/debian/postfix@.service postfix-3.1.4/debian/postfix@.service
--- postfix-3.1.4/debian/postfix@.service 2016-10-30 08:17:46.000000000 -0400
+++ postfix-3.1.4/debian/postfix@.service 2017-05-15 10:02:59.000000000 -0400
@@ -2,7 +2,10 @@
Description=Postfix Mail Transport Agent (instance %i)
Documentation=man:postfix(1)
PartOf=postfix.service
+Before=postfix.service
ReloadPropagatedFrom=postfix.service
+After=network-online.target nss-lookup.target
+Wants=network-online.target
[Service]
Type=forking
diff -Nru postfix-3.1.4/debian/postfix-sqlite.prerm postfix-3.1.4/debian/postfix-sqlite.prerm
--- postfix-3.1.4/debian/postfix-sqlite.prerm 2017-01-06 13:04:11.000000000 -0500
+++ postfix-3.1.4/debian/postfix-sqlite.prerm 2017-05-15 09:47:25.000000000 -0400
@@ -23,7 +23,7 @@
fi
case "$1" in
- remove|upgrade|deconfigure)
+ remove|purge|upgrade|deconfigure)
[ n = "$HAVE_FUNC" ] || delmap sqlite
;;
failed-upgrade)
Reply to: