diff --git a/install_minimal/airtime-install b/install_minimal/airtime-install index 426ec0087..c144362e1 100755 --- a/install_minimal/airtime-install +++ b/install_minimal/airtime-install @@ -44,6 +44,10 @@ python $AIRTIMEROOT/python_apps/create-pypo-user.py $SCRIPTPATH/include/airtime-copy-files.sh $SCRIPTPATH/include/airtime-initialize.sh $@ +#Hack to parse rabbitmq pid and place it into the correct directory. This is also +#done in our rabbitmq init.d script, but placing it here so that monit recognizes +# it faster (in time for the airtime-check-system) +sed "s/.*,\(.*\)\}.*/\1/" /var/lib/rabbitmq/pids > /var/run/rabbitmq.pid echo -e "\n*** Verifying your system environment, running airtime-check-system ***" sleep 10 diff --git a/install_minimal/airtime-uninstall b/install_minimal/airtime-uninstall index 5a7c1ada2..a33c7bde2 100755 --- a/install_minimal/airtime-uninstall +++ b/install_minimal/airtime-uninstall @@ -6,6 +6,8 @@ if [ `whoami` != 'root' ]; then exit 1 fi +echo -e "\n******************************* Uninstall Begin ********************************" + # Absolute path to this script, e.g. /home/user/bin/foo.sh SCRIPT=`readlink -f $0` # Absolute path this script is in, thus /home/user/bin @@ -19,3 +21,5 @@ $SCRIPTPATH/include/airtime-remove-files.sh #Remove pypo user python $SCRIPTPATH/../python_apps/remove-pypo-user.py + +echo -e "\n****************************** Uninstall Complete *******************************" diff --git a/install_minimal/include/AirtimeInstall.php b/install_minimal/include/AirtimeInstall.php index 24189f057..e30daa569 100644 --- a/install_minimal/include/AirtimeInstall.php +++ b/install_minimal/include/AirtimeInstall.php @@ -43,7 +43,7 @@ class AirtimeInstall $values = parse_ini_file('/etc/airtime/airtime.conf', true); } else { - echo "New Airtime Install.".PHP_EOL; + //echo "New Airtime Install.".PHP_EOL; return null; } @@ -56,7 +56,7 @@ class AirtimeInstall $CC_DBC = DB::connect($CC_CONFIG['dsn'], FALSE); if (PEAR::isError($CC_DBC)) { - echo "New Airtime Install.".PHP_EOL; + //echo "New Airtime Install.".PHP_EOL; return null; } else { @@ -170,7 +170,7 @@ class AirtimeInstall { global $CC_CONFIG; - echo "* Creating Airtime database user".PHP_EOL; + echo " * Creating Airtime database user".PHP_EOL; $username = $CC_CONFIG['dsn']['username']; $password = $CC_CONFIG['dsn']['password']; @@ -178,14 +178,14 @@ class AirtimeInstall @exec($command, $output, $results); if ($results == 0) { - echo "* Database user '{$CC_CONFIG['dsn']['username']}' created.".PHP_EOL; + echo " * Database user '{$CC_CONFIG['dsn']['username']}' created.".PHP_EOL; } else { if (count($output) > 0) { - echo "* Could not create user '{$CC_CONFIG['dsn']['username']}': ".PHP_EOL; + echo " * Could not create user '{$CC_CONFIG['dsn']['username']}': ".PHP_EOL; echo implode(PHP_EOL, $output); } else { - echo "* Database user '{$CC_CONFIG['dsn']['username']}' already exists.".PHP_EOL; + echo " * Database user '{$CC_CONFIG['dsn']['username']}' already exists.".PHP_EOL; } } } @@ -195,7 +195,7 @@ class AirtimeInstall { global $CC_CONFIG; - echo "* Creating Airtime database".PHP_EOL; + echo " * Creating Airtime database".PHP_EOL; $database = $CC_CONFIG['dsn']['database']; $username = $CC_CONFIG['dsn']['username']; @@ -204,14 +204,14 @@ class AirtimeInstall @exec($command, $output, $results); if ($results == 0) { - echo "* Database '{$CC_CONFIG['dsn']['database']}' created.".PHP_EOL; + echo " * Database '{$CC_CONFIG['dsn']['database']}' created.".PHP_EOL; } else { if (count($output) > 0) { - echo "* Could not create database '{$CC_CONFIG['dsn']['database']}': ".PHP_EOL; + echo " * Could not create database '{$CC_CONFIG['dsn']['database']}': ".PHP_EOL; echo implode(PHP_EOL, $output); } else { - echo "* Database '{$CC_CONFIG['dsn']['database']}' already exists.".PHP_EOL; + echo " * Database '{$CC_CONFIG['dsn']['database']}' already exists.".PHP_EOL; } } @@ -227,17 +227,17 @@ class AirtimeInstall // Install postgres scripting language $langIsInstalled = $CC_DBC->GetOne('SELECT COUNT(*) FROM pg_language WHERE lanname = \'plpgsql\''); if ($langIsInstalled == '0') { - echo "* Installing Postgres scripting language".PHP_EOL; + echo " * Installing Postgres scripting language".PHP_EOL; $sql = "CREATE LANGUAGE 'plpgsql'"; AirtimeInstall::InstallQuery($sql, false); } else { - echo "* Postgres scripting language already installed".PHP_EOL; + echo " * Postgres scripting language already installed".PHP_EOL; } } public static function CreateDatabaseTables() { - echo "* Creating database tables".PHP_EOL; + echo " * Creating database tables".PHP_EOL; // Put Propel sql files in Database //$command = AirtimeInstall::CONF_DIR_WWW."/library/propel/generator/bin/propel-gen ".AirtimeInstall::CONF_DIR_WWW."/build/ insert-sql"; @@ -431,8 +431,6 @@ class AirtimeInstall public static function CreateZendPhpLogFile(){ global $CC_CONFIG; - echo "* Creating logs directory ".AirtimeInstall::CONF_DIR_LOG.PHP_EOL; - $path = AirtimeInstall::CONF_DIR_LOG; $file = $path.'/zendphp.log'; if (!file_exists($path)){ diff --git a/install_minimal/include/airtime-copy-files.sh b/install_minimal/include/airtime-copy-files.sh index 2967ef64a..da73dd061 100755 --- a/install_minimal/include/airtime-copy-files.sh +++ b/install_minimal/include/airtime-copy-files.sh @@ -33,6 +33,7 @@ SCRIPTPATH=`dirname $SCRIPT` AIRTIMEROOT=$SCRIPTPATH/../../ +echo "* Creating /etc/airtime" mkdir -p /etc/airtime cp $AIRTIMEROOT/airtime_mvc/build/airtime.conf /etc/airtime cp $AIRTIMEROOT/python_apps/api_clients/api_client.cfg /etc/airtime @@ -41,6 +42,7 @@ cp $AIRTIMEROOT/python_apps/media-monitor/media-monitor.cfg /etc/airtime cp $AIRTIMEROOT/python_apps/pypo/pypo.cfg /etc/airtime cp $AIRTIMEROOT/python_apps/pypo/liquidsoap_scripts/liquidsoap.cfg /etc/airtime +echo "* Creating /etc/cron.d/airtime-crons" HOUR=$(($RANDOM%24)) MIN=$(($RANDOM%60)) echo "$MIN $HOUR * * * root /usr/lib/airtime/utils/phone_home_stat" > /etc/cron.d/airtime-crons @@ -48,6 +50,7 @@ echo "$MIN $HOUR * * * root /usr/lib/airtime/utils/phone_home_stat" > /etc/cron. virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" . ${virtualenv_bin}activate +echo "* Creating /usr/lib/airtime" python $AIRTIMEROOT/python_apps/api_clients/install/api_client_install.py python $AIRTIMEROOT/python_apps/pypo/install/pypo-install-files.py python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-install-files.py @@ -55,16 +58,21 @@ python $AIRTIMEROOT/python_apps/show-recorder/install/recorder-install-files.py cp -R $AIRTIMEROOT/utils /usr/lib/airtime +echo "* Creating symbolic links in /usr/bin" #create symbolic links ln -sf /usr/lib/airtime/utils/airtime-import/airtime-import /usr/bin/airtime-import ln -sf /usr/lib/airtime/utils/airtime-update-db-settings /usr/bin/airtime-update-db-settings ln -sf /usr/lib/airtime/utils/airtime-check-system /usr/bin/airtime-check-system ln -sf /usr/lib/airtime/utils/airtime-log /usr/bin/airtime-log +echo "* Creating /usr/share/airtime" mkdir -p /usr/share/airtime cp -R $AIRTIMEROOT/airtime_mvc/* /usr/share/airtime/ +echo "* Creating /var/log/airtime" mkdir -p /var/log/airtime + +echo "* Creating /var/tmp/airtime" mkdir -p /var/tmp/airtime #Finished copying files diff --git a/install_minimal/include/airtime-db-install.php b/install_minimal/include/airtime-db-install.php index 70261d796..47162aa47 100644 --- a/install_minimal/include/airtime-db-install.php +++ b/install_minimal/include/airtime-db-install.php @@ -13,7 +13,7 @@ require_once(__DIR__.'/airtime-constants.php'); require_once(AirtimeInstall::GetAirtimeSrcDir().'/application/configs/conf.php'); -echo PHP_EOL."*** Database Installation ***".PHP_EOL; +echo PHP_EOL."* Database Installation".PHP_EOL; AirtimeInstall::CreateDatabaseUser(); @@ -44,7 +44,7 @@ if (isset($argv[1]) && $argv[1] == 'y') { AirtimeInstall::CreateDatabaseTables(); } -echo "* Setting Airtime version".PHP_EOL; +echo " * Setting Airtime version".PHP_EOL; AirtimeInstall::SetAirtimeVersion(AIRTIME_VERSION); @@ -57,13 +57,13 @@ if (AirtimeInstall::$databaseTablesCreated) { $ini = parse_ini_file(__DIR__."/airtime-install.ini"); $stor_dir = realpath($ini["storage_dir"])."/"; - echo "* Inserting stor directory location $stor_dir into music_dirs table".PHP_EOL; + echo " * Inserting stor directory location $stor_dir into music_dirs table".PHP_EOL; $sql = "INSERT INTO cc_music_dirs (directory, type) VALUES ('$stor_dir', 'stor')"; $result = $CC_DBC->query($sql); if (PEAR::isError($result)) { - echo "* Failed inserting {$stor_dir} in cc_music_dirs".PHP_EOL; - echo "* Message {$result->getMessage()}".PHP_EOL; + echo " * Failed inserting {$stor_dir} in cc_music_dirs".PHP_EOL; + echo " * Message {$result->getMessage()}".PHP_EOL; exit(1); } } diff --git a/python_apps/api_clients/install/api_client_install.py b/python_apps/api_clients/install/api_client_install.py index 157032fc2..ad31bb271 100644 --- a/python_apps/api_clients/install/api_client_install.py +++ b/python_apps/api_clients/install/api_client_install.py @@ -10,7 +10,7 @@ def copy_dir(src_dir, dest_dir): if (os.path.exists(dest_dir)) and (dest_dir != "/"): shutil.rmtree(dest_dir) if not (os.path.exists(dest_dir)): - print "Copying directory "+os.path.realpath(src_dir)+" to "+os.path.realpath(dest_dir) + #print "Copying directory "+os.path.realpath(src_dir)+" to "+os.path.realpath(dest_dir) shutil.copytree(src_dir, dest_dir) current_script_dir = get_current_script_dir() diff --git a/python_apps/api_clients/install/api_client_uninstall.py b/python_apps/api_clients/install/api_client_uninstall.py index b662add19..5ecb2b036 100644 --- a/python_apps/api_clients/install/api_client_uninstall.py +++ b/python_apps/api_clients/install/api_client_uninstall.py @@ -17,5 +17,5 @@ except Exception, e: print 'Error loading config file: ', e sys.exit(1) -print "Removing API Client files" +print " * Removing API Client files" remove_path(config["bin_dir"]) diff --git a/python_apps/create-pypo-user.py b/python_apps/create-pypo-user.py index c11bd08c2..a071213cd 100644 --- a/python_apps/create-pypo-user.py +++ b/python_apps/create-pypo-user.py @@ -3,14 +3,14 @@ import sys from subprocess import Popen, PIPE, STDOUT def create_user(username): - print "Checking for user "+username + print "* Checking for user "+username p = Popen('id '+username, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True) output = p.stdout.read() if (output[0:3] != "uid"): # Make the pypo user - print "Creating user "+username + print " * Creating user "+username os.system("adduser --system --quiet --group --shell /bin/bash "+username) #set pypo password diff --git a/python_apps/media-monitor/install/media-monitor-initialize.py b/python_apps/media-monitor/install/media-monitor-initialize.py index a40c47b7e..638ab06e1 100644 --- a/python_apps/media-monitor/install/media-monitor-initialize.py +++ b/python_apps/media-monitor/install/media-monitor-initialize.py @@ -11,7 +11,7 @@ try: sts = os.waitpid(p.pid, 0)[1] #Start media-monitor daemon - print "Waiting for media-monitor processes to start..." + print "* Waiting for media-monitor processes to start..." p = Popen("/etc/init.d/airtime-media-monitor stop", shell=True) sts = os.waitpid(p.pid, 0)[1] p = Popen("/etc/init.d/airtime-media-monitor start-no-monit", shell=True) diff --git a/python_apps/media-monitor/install/media-monitor-install-files.py b/python_apps/media-monitor/install/media-monitor-install-files.py index 1f6c4de4d..6d0282bd4 100644 --- a/python_apps/media-monitor/install/media-monitor-install-files.py +++ b/python_apps/media-monitor/install/media-monitor-install-files.py @@ -16,7 +16,7 @@ def copy_dir(src_dir, dest_dir): if (os.path.exists(dest_dir)) and (dest_dir != "/"): shutil.rmtree(dest_dir) if not (os.path.exists(dest_dir)): - print "Copying directory "+os.path.realpath(src_dir)+" to "+os.path.realpath(dest_dir) + #print "Copying directory "+os.path.realpath(src_dir)+" to "+os.path.realpath(dest_dir) shutil.copytree(src_dir, dest_dir) def create_dir(path): diff --git a/python_apps/media-monitor/install/media-monitor-remove-files.py b/python_apps/media-monitor/install/media-monitor-remove-files.py index 549d0f3d3..cf2e2729e 100644 --- a/python_apps/media-monitor/install/media-monitor-remove-files.py +++ b/python_apps/media-monitor/install/media-monitor-remove-files.py @@ -24,19 +24,19 @@ except Exception, e: try: #remove init.d script - print "* Removing Media-Monitor init.d Script" + print " * Removing Media-Monitor init.d Script" remove_file("/etc/init.d/airtime-media-monitor") #remove bin dir - print "* Removing Media-Monitor Program Directory" + print " * Removing Media-Monitor Program Directory" shutil.rmtree(config['bin_dir'], ignore_errors=True) #remove log dir - print "* Removing Media-Monitor Log Directory" + print " * Removing Media-Monitor Log Directory" shutil.rmtree(config['log_dir'], ignore_errors=True) #remove monit files - print "* Removing Media-Monitor Monit Files" + print " * Removing Media-Monitor Monit Files" remove_file("/etc/monit/conf.d/monit-airtime-media-monitor.cfg") remove_file("/etc/monit/conf.d/monit-airtime-generic.cfg") diff --git a/python_apps/pypo/install/pypo-initialize.py b/python_apps/pypo/install/pypo-initialize.py index 6fcaebb34..4f2a6ae21 100644 --- a/python_apps/pypo/install/pypo-initialize.py +++ b/python_apps/pypo/install/pypo-initialize.py @@ -70,17 +70,19 @@ try: architecture = platform.architecture()[0] natty = is_natty() + print "* Detecting system architecture for Liquidsoap" + if architecture == '64bit' and natty: - print "Installing 64-bit liquidsoap binary (Natty)" + print " * Installing 64-bit liquidsoap binary (Natty)" shutil.copy("%s/../liquidsoap_bin/liquidsoap-natty-amd64"%current_script_dir, "%s/../liquidsoap_bin/liquidsoap"%current_script_dir) elif architecture == '32bit' and natty: - print "Installing 32-bit liquidsoap binary (Natty)" + print " * Installing 32-bit liquidsoap binary (Natty)" shutil.copy("%s/../liquidsoap_bin/liquidsoap-natty-i386"%current_script_dir, "%s/../liquidsoap_bin/liquidsoap"%current_script_dir) elif architecture == '64bit' and not natty: - print "Installing 64-bit liquidsoap binary" + print " * Installing 64-bit liquidsoap binary" shutil.copy("%s/../liquidsoap_bin/liquidsoap-amd64"%current_script_dir, "%s/../liquidsoap_bin/liquidsoap"%current_script_dir) elif architecture == '32bit' and not natty: - print "Installing 32-bit liquidsoap binary" + print " * Installing 32-bit liquidsoap binary" shutil.copy("%s/../liquidsoap_bin/liquidsoap-i386"%current_script_dir, "%s/../liquidsoap_bin/liquidsoap"%current_script_dir) else: print "Unknown system architecture." @@ -101,7 +103,7 @@ try: print "Unable to connect to the Airtime server." #restart airtime-playout - print "Waiting for pypo processes to start..." + print "* Waiting for pypo processes to start..." p = Popen("/etc/init.d/airtime-playout stop", shell=True) sts = os.waitpid(p.pid, 0)[1] p = Popen("/etc/init.d/airtime-playout start-no-monit", shell=True) diff --git a/python_apps/pypo/install/pypo-install-files.py b/python_apps/pypo/install/pypo-install-files.py index 05b30676a..681544a24 100644 --- a/python_apps/pypo/install/pypo-install-files.py +++ b/python_apps/pypo/install/pypo-install-files.py @@ -16,7 +16,7 @@ def copy_dir(src_dir, dest_dir): if (os.path.exists(dest_dir)) and (dest_dir != "/"): shutil.rmtree(dest_dir) if not (os.path.exists(dest_dir)): - print "Copying directory "+os.path.realpath(src_dir)+" to "+os.path.realpath(dest_dir) + #print "Copying directory "+os.path.realpath(src_dir)+" to "+os.path.realpath(dest_dir) shutil.copytree(src_dir, dest_dir) def create_dir(path): diff --git a/python_apps/pypo/install/pypo-remove-files.py b/python_apps/pypo/install/pypo-remove-files.py index 8d5cc3d71..185c37dae 100644 --- a/python_apps/pypo/install/pypo-remove-files.py +++ b/python_apps/pypo/install/pypo-remove-files.py @@ -24,27 +24,27 @@ except Exception, e: try: #remove log rotate script - print "* Removing Pypo 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" + 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" + 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" + 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" + 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") diff --git a/python_apps/show-recorder/install/recorder-initialize.py b/python_apps/show-recorder/install/recorder-initialize.py index 2027bb06b..caefa436a 100644 --- a/python_apps/show-recorder/install/recorder-initialize.py +++ b/python_apps/show-recorder/install/recorder-initialize.py @@ -12,7 +12,7 @@ try: sts = os.waitpid(p.pid, 0)[1] #start daemon - print "Waiting for show-recorder processes to start..." + print "* Waiting for show-recorder processes to start..." p = Popen("/etc/init.d/airtime-show-recorder stop", shell=True) sts = os.waitpid(p.pid, 0)[1] p = Popen("/etc/init.d/airtime-show-recorder start-no-monit", shell=True) diff --git a/python_apps/show-recorder/install/recorder-install-files.py b/python_apps/show-recorder/install/recorder-install-files.py index 12af8c68e..7765d9799 100644 --- a/python_apps/show-recorder/install/recorder-install-files.py +++ b/python_apps/show-recorder/install/recorder-install-files.py @@ -16,7 +16,7 @@ def copy_dir(src_dir, dest_dir): if (os.path.exists(dest_dir)) and (dest_dir != "/"): shutil.rmtree(dest_dir) if not (os.path.exists(dest_dir)): - print "Copying directory "+os.path.realpath(src_dir)+" to "+os.path.realpath(dest_dir) + #print "Copying directory "+os.path.realpath(src_dir)+" to "+os.path.realpath(dest_dir) shutil.copytree(src_dir, dest_dir) def create_dir(path): @@ -43,13 +43,13 @@ try: shutil.copy('%s/../../monit/monit-airtime-generic.cfg'%current_script_dir, '/etc/monit/conf.d/') #create temporary media-storage directory - print "Creating temporary media storage directory" + #print "Creating temporary media storage directory" create_dir(config["base_recorded_files"]) #os.system("chmod -R 755 "+config["base_recorded_files"]) os.system("chown -R pypo:pypo "+config["base_recorded_files"]) #create log directories - print "Creating log directories" + #print "Creating log directories" create_dir(config["log_dir"]) os.system("chmod -R 755 " + config["log_dir"]) os.system("chown -R pypo:pypo "+config["log_dir"]) @@ -58,7 +58,7 @@ try: copy_dir("%s/.."%current_script_dir, config["bin_dir"]) #set python file permissions - print "Setting permissions" + #print "Setting permissions" os.system("chmod -R 755 "+config["bin_dir"]) os.system("chown -R pypo:pypo "+config["bin_dir"]) diff --git a/python_apps/show-recorder/install/recorder-remove-files.py b/python_apps/show-recorder/install/recorder-remove-files.py index abe4ca15f..f2801bba6 100644 --- a/python_apps/show-recorder/install/recorder-remove-files.py +++ b/python_apps/show-recorder/install/recorder-remove-files.py @@ -24,23 +24,23 @@ except Exception, e: try: #remove init.d script - print "* Removing Show-Recorder init.d script" + print " * Removing Show-Recorder init.d script" remove_file('/etc/init.d/airtime-show-recorder') #remove bin dir - print "* Removing Show-Recorder Program Directories" + print " * Removing Show-Recorder Program Directories" shutil.rmtree(config["bin_dir"], ignore_errors=True) #remove log dir - print "* Removing Show-Recorder Log Directory" + print " * Removing Show-Recorder Log Directory" shutil.rmtree(config["log_dir"], ignore_errors=True) #remove temporary media-storage dir - print "* Removing Show-Recorder Temporary Directory" + print " * Removing Show-Recorder Temporary Directory" shutil.rmtree(config["base_recorded_files"], ignore_errors=True) #remove monit files - print "* Removing Show-Recorder Monit Files" + print " * Removing Show-Recorder Monit Files" remove_file("/etc/monit/conf.d/monit-airtime-show-recorder.cfg") remove_file("/etc/monit/conf.d/monit-airtime-generic.cfg")