* Andreas Henriksson [Sun Jan 24, 2016 at 04:08:31AM +0100]: > On Sat, Jan 23, 2016 at 10:07:03PM +0100, Andreas Henriksson wrote:
> > There's one question on my mind though, shouldn't the upgrade case > > be versioned? eg. so in additional future releases you don't try to > > divert when you've already diverted. You only want the diversion to > > happen once when upgrading to this exact version you're preparing now. > One minor correction, we should ofcourse not check which version > we're upgrading *to*. The check should be if we're upgrading *from* > a version << $FIRSTFIXED~. I think the example in policy has this right > so check that out instead of listening to me. ;) Indeed, thanks. I've updated the patch accordingly, see attached file. I'd upload this as file-rc 0.8.17 if there are no objections. regards, -mika-
From 6711c468d0cd5d90159d5c115c9385c917e87eae Mon Sep 17 00:00:00 2001 From: Michael Prokop <m...@debian.org> Date: Sat, 23 Jan 2016 00:01:20 +0100 Subject: [PATCH] divert update-rc.d + invoke-rc.d files to cooperate with init-system-helpers >=1.25 Closes: #285835, #812337 --- debian/postrm | 28 +++++++++++++++++++++++++++- debian/preinst | 19 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/debian/postrm b/debian/postrm index 018fd04..3e1b56e 100644 --- a/debian/postrm +++ b/debian/postrm @@ -17,12 +17,38 @@ set -e # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package +# see #812337 + #285835, #805487 +undivert() { + dpkg-divert --package file-rc --remove --rename \ + --divert /usr/sbin/update-rc.d.real /usr/sbin/update-rc.d + + dpkg-divert --package file-rc --remove --rename \ + --divert /usr/sbin/invoke-rc.d.real /usr/sbin/invoke-rc.d + + dpkg-divert --package file-rc --remove --rename \ + --divert /usr/share/man/man8/update-rc.d.8.gz.real /usr/share/man/man8/update-rc.d.8.gz + + dpkg-divert --package file-rc --remove --rename \ + --divert /usr/share/man/man8/invoke-rc.d.8.gz.real /usr/share/man/man8/invoke-rc.d.8.gz +} case "$1" in - upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + upgrade|failed-upgrade) + ;; + + abort-upgrade) + if dpkg --compare-versions "$2" lt 0.8.17 ; then + undivert + fi + ;; + + abort-install|disappear) + undivert ;; remove) + undivert + if [ ! -e /usr/sbin/update-rc.d ] ; then ln -sf /usr/share/sysvinit/update-rc.d /usr/sbin/update-rc.d fi diff --git a/debian/preinst b/debian/preinst index 9b3a1f0..5bf082e 100644 --- a/debian/preinst +++ b/debian/preinst @@ -14,12 +14,31 @@ set -e # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package +# see #812337 + #285835, #805487 +divert() { + + dpkg-divert --package file-rc --add --rename \ + --divert /usr/sbin/update-rc.d.real /usr/sbin/update-rc.d + + dpkg-divert --package file-rc --add --rename \ + --divert /usr/sbin/invoke-rc.d.real /usr/sbin/invoke-rc.d + + dpkg-divert --package file-rc --add --rename \ + --divert /usr/share/man/man8/update-rc.d.8.gz.real /usr/share/man/man8/update-rc.d.8.gz + + dpkg-divert --package file-rc --add --rename \ + --divert /usr/share/man/man8/invoke-rc.d.8.gz.real /usr/share/man/man8/invoke-rc.d.8.gz +} case "$1" in install) + divert ;; upgrade) + if dpkg --compare-versions "$2" lt 0.8.17 ; then + divert + fi ;; abort-upgrade) -- 2.1.4
signature.asc
Description: Digital signature