From a874e9fff78195ff2de076b4a872b7fcda36145a Mon Sep 17 00:00:00 2001
From: Martin Konecny <martin.konecny@gmail.com>
Date: Mon, 20 Aug 2012 16:54:01 -0400
Subject: [PATCH] CC-4114: use liquidsoap shutdown() command to restart
 liquidsoap

-tying up loose ends
---
 install_minimal/airtime-install               | 2 +-
 install_minimal/include/airtime-initialize.sh | 1 +
 python_apps/pypo/airtime-liquidsoap-init-d    | 2 +-
 python_apps/pypo/install/pypo-initialize.py   | 3 ++-
 python_apps/pypo/install/pypo-remove-files.py | 1 +
 python_apps/pypo/install/pypo-uninitialize.py | 9 ++++++++-
 python_apps/pypo/install/pypo-uninstall.py    | 7 ++++++-
 python_apps/pypo/monit-airtime-liquidsoap.cfg | 2 +-
 utils/airtime-nuke.sh                         | 1 +
 9 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/install_minimal/airtime-install b/install_minimal/airtime-install
index c7629c7dc..14f713296 100755
--- a/install_minimal/airtime-install
+++ b/install_minimal/airtime-install
@@ -178,7 +178,7 @@ fi
 if [ -e /etc/init.d/airtime-playout ]; then
     invoke-rc.d airtime-playout stop > /dev/null 2>&1
 fi
-if [ -e /etc/init.d/airtime-playout ]; then
+if [ -e /etc/init.d/airtime-liquidsoap ]; then
     invoke-rc.d airtime-liquidsoap stop > /dev/null 2>&1
 fi
 
diff --git a/install_minimal/include/airtime-initialize.sh b/install_minimal/include/airtime-initialize.sh
index 0651643d3..d38e20874 100755
--- a/install_minimal/include/airtime-initialize.sh
+++ b/install_minimal/include/airtime-initialize.sh
@@ -25,6 +25,7 @@ chmod 600 /etc/monit/conf.d/monit-airtime-generic.cfg
 chmod 600 /etc/monit/conf.d/monit-airtime-liquidsoap.cfg
 chmod 600 /etc/monit/conf.d/monit-airtime-media-monitor.cfg
 chmod 600 /etc/monit/conf.d/monit-airtime-playout.cfg
+chmod 600 /etc/monit/conf.d/monit-airtime-liquidsoap.cfg
 chmod 600 /etc/monit/conf.d/monit-airtime-rabbitmq-server.cfg
 
 # Start monit if it is not running, or restart if it is.
diff --git a/python_apps/pypo/airtime-liquidsoap-init-d b/python_apps/pypo/airtime-liquidsoap-init-d
index cb3f0d675..26ac2d104 100755
--- a/python_apps/pypo/airtime-liquidsoap-init-d
+++ b/python_apps/pypo/airtime-liquidsoap-init-d
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 ### BEGIN INIT INFO
-# Provides:          airtime-playout
+# Provides:          airtime-liquidsoap
 # Required-Start:    $local_fs $remote_fs $network $syslog
 # Required-Stop:     $local_fs $remote_fs $network $syslog
 # Default-Start:     2 3 4 5
diff --git a/python_apps/pypo/install/pypo-initialize.py b/python_apps/pypo/install/pypo-initialize.py
index 579fc7b1c..b2a36d96e 100644
--- a/python_apps/pypo/install/pypo-initialize.py
+++ b/python_apps/pypo/install/pypo-initialize.py
@@ -102,6 +102,7 @@ try:
 
     #initialize init.d scripts
     subprocess.call("update-rc.d airtime-playout defaults >/dev/null 2>&1", shell=True)
+    subprocess.call("update-rc.d airtime-liquidsoap defaults >/dev/null 2>&1", shell=True)
 
     #clear out an previous pypo cache
     print "* Clearing previous pypo cache"
@@ -109,8 +110,8 @@ try:
 
     if "airtime_service_start" in os.environ and os.environ["airtime_service_start"] == "t":
         print "* Waiting for pypo processes to start..."
-        subprocess.call("invoke-rc.d airtime-liquidsoap start-no-monit  > /dev/null 2>&1", shell=True)
         subprocess.call("invoke-rc.d airtime-playout start-no-monit  > /dev/null 2>&1", shell=True)
+        subprocess.call("invoke-rc.d airtime-liquidsoap start-no-monit  > /dev/null 2>&1", shell=True)
 
 except Exception, e:
     print e
diff --git a/python_apps/pypo/install/pypo-remove-files.py b/python_apps/pypo/install/pypo-remove-files.py
index 12622c3b5..6b26d7484 100644
--- a/python_apps/pypo/install/pypo-remove-files.py
+++ b/python_apps/pypo/install/pypo-remove-files.py
@@ -30,6 +30,7 @@ try:
     #remove init.d script
     print " * Removing Pypo init.d Script"
     remove_file("/etc/init.d/airtime-playout")
+    remove_file("/etc/init.d/airtime-liquidsoap")
 
     #remove bin, cache, tmp and file dir
     print " * Removing Pypo Program Directory"
diff --git a/python_apps/pypo/install/pypo-uninitialize.py b/python_apps/pypo/install/pypo-uninitialize.py
index 08210ff1f..8765e5a18 100644
--- a/python_apps/pypo/install/pypo-uninitialize.py
+++ b/python_apps/pypo/install/pypo-uninitialize.py
@@ -8,7 +8,7 @@ if os.geteuid() != 0:
 
 try:      
     #stop pypo and liquidsoap processes
-    print "Waiting for pypo processes to stop...",
+    print "Waiting for Pypo process to stop...",
     try:
         os.remove("/usr/bin/airtime-liquidsoap")
     except Exception, e:
@@ -18,5 +18,12 @@ try:
         print "OK"
     else:
         print "Wasn't running"
+        
+    print "Waiting for Liquidsoap process to stop...",
+    if (os.path.exists('/etc/init.d/airtime-liquidsoap')):
+        subprocess.call("invoke-rc.d airtime-liquidsoap stop", shell=True)
+        print "OK"
+    else:
+        print "Wasn't running"
 except Exception, e:
     print e
diff --git a/python_apps/pypo/install/pypo-uninstall.py b/python_apps/pypo/install/pypo-uninstall.py
index f3306d9c7..7bc01ca4b 100644
--- a/python_apps/pypo/install/pypo-uninstall.py
+++ b/python_apps/pypo/install/pypo-uninstall.py
@@ -31,8 +31,13 @@ try:
         sys.exit(1)
         
     os.system("invoke-rc.d airtime-playout stop")
+    os.system("invoke-rc.d airtime-liquidsoap stop")
+    
     os.system("rm -f /etc/init.d/airtime-playout")
+    os.system("rm -f /etc/init.d/airtime-liquidsoap")
+    
     os.system("update-rc.d -f airtime-playout remove >/dev/null 2>&1")
+    os.system("update-rc.d -f airtime-liquidsoap remove >/dev/null 2>&1")
 
     #remove logrotate script
     os.system("rm -f /etc/logrotate.d/airtime-liquidsoap")
@@ -44,7 +49,7 @@ try:
     remove_path(config["cache_base_dir"])
     
     print "Removing symlinks"
-    os.system("rm -f /usr/bin/airtime-playout")
+    os.system("rm -f /usr/bin/airtime-liquidsoap")
     
     print "Removing pypo files"
     remove_path(config["bin_dir"])
diff --git a/python_apps/pypo/monit-airtime-liquidsoap.cfg b/python_apps/pypo/monit-airtime-liquidsoap.cfg
index 963f73800..f8efcaf18 100644
--- a/python_apps/pypo/monit-airtime-liquidsoap.cfg
+++ b/python_apps/pypo/monit-airtime-liquidsoap.cfg
@@ -6,4 +6,4 @@
  check process airtime-liquidsoap
     with pidfile "/var/run/airtime-liquidsoap.pid"
     start program = "/etc/init.d/airtime-liquidsoap start" with timeout 5 seconds
-    stop program = "/etc/init.d/airtime-playout stop"
+    stop program = "/etc/init.d/airtime-liquidsoap stop"
diff --git a/utils/airtime-nuke.sh b/utils/airtime-nuke.sh
index 9befaad38..3ed1a14b1 100755
--- a/utils/airtime-nuke.sh
+++ b/utils/airtime-nuke.sh
@@ -13,6 +13,7 @@ echo "Are you sure you want to do this? Press Enter to continue..."
 read
 
 service airtime-playout stop >/dev/null 2>&1
+service airtime-liquidsoap stop >/dev/null 2>&1
 service airtime-media-monitor stop >/dev/null 2>&1
 service airtime-show-recorder stop >/dev/null 2>&1