CC-2758: Make airtime-install script Debian/Ubuntu compatible

-uninstall script added
This commit is contained in:
Martin Konecny 2011-10-28 12:35:58 -04:00
parent 153e0df409
commit 56edfe4e68
15 changed files with 359 additions and 64 deletions

View file

@ -0,0 +1,53 @@
import os
import shutil
import sys
from configobj import ConfigObj
if os.geteuid() != 0:
print "Please run this as root."
sys.exit(1)
PATH_INI_FILE = '/etc/airtime/pypo.cfg'
def remove_file(path):
try:
os.remove(path)
except Exception, e:
pass
# load config file
try:
config = ConfigObj(PATH_INI_FILE)
except Exception, e:
print 'Error loading config file: ', e
sys.exit(1)
try:
#remove log rotate script
print "* Removing Pypo Log Rotate Script"
remove_file("/etc/logrotate.d/airtime-liquidsoap")
#remove init.d script
print "* Removing Pypo init.d Script"
remove_file("/etc/init.d/airtime-playout")
#remove bin, cache, tmp and file dir
print "* Removing Pypo Program directories"
shutil.rmtree(config['bin_dir'], ignore_errors=True)
shutil.rmtree(config['cache_dir'], ignore_errors=True)
shutil.rmtree(config['file_dir'], ignore_errors=True)
shutil.rmtree(config['tmp_dir'], ignore_errors=True)
#remove liquidsoap and pypo log dir
print "* Removing Pypo Log Directories"
shutil.rmtree(config['liquidsoap_log_dir'], ignore_errors=True)
shutil.rmtree(config['pypo_log_dir'], ignore_errors=True)
#remove monit files
print "* Removing Pypo Monit Files"
remove_file("/etc/monit/conf.d/monit-airtime-playout.cfg")
remove_file("/etc/monit/conf.d/monit-airtime-liquidsoap.cfg")
remove_file("/etc/monit/conf.d/monit-airtime-generic.cfg")
except Exception, e:
print e

View file

@ -0,0 +1,15 @@
from subprocess import Popen
import os
import sys
if os.geteuid() != 0:
print "Please run this as root."
sys.exit(1)
try:
#stop pypo and liquidsoap processes
print "Waiting for pypo processes to stop..."
p = Popen("/etc/init.d/airtime-playout stop", shell=True)
sts = os.waitpid(p.pid, 0)[1]
except Exception, e:
print e