From a78cb349def3ae27e508b591d05b952006de4b12 Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Sat, 13 Jul 2013 16:34:40 +0100 Subject: [PATCH] debian/tripe-peer-services.postinst: Retire the old `watch' service. Organization: Straylight/Edgeware From: Mark Wooding Stop the service, if necessary, and clear away its symbolic link. --- debian/tripe-peer-services.postinst | 40 +++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/debian/tripe-peer-services.postinst b/debian/tripe-peer-services.postinst index db937deb..1a4754c5 100644 --- a/debian/tripe-peer-services.postinst +++ b/debian/tripe-peer-services.postinst @@ -95,6 +95,46 @@ restart_services () { echo "." } +retire_service () { + name=$1 version=$2 + + ## If the service is currently running, then ask it to stop. + if tripectl >/dev/null 2>&1 svcensure $name && \ + ! tripectl >/dev/null 2>&1 svcensure $name $version~ + then + tripectl svcsubmit $name quit + fi + + ## Remove the symbolic link if it's there. + if [ -L /etc/tripe/services/$name ]; then + case $(readlink /etc/tripe/services/$name) in + /usr/lib/tripe/services/$name) + rm /etc/tripe/services/$name + ;; + esac + fi +} + +case "$1" in + configure) + v=$2 + + ## Apply upgrades iteratively until we catch up with reality. + while :; do + + ## Here, we killed the `watch' service. + if dpkg --compare-versions "$v" lt-nl 1.0.0pre14~; then + retire_service watch 1.0.0pre14 + v=1.0.0pre14 + + ## No more updates to apply. + else + break + fi + done + ;; +esac + restart_services conntrack connect #DEBHELPER# -- [mdw]