diff --git a/install_minimal/airtime-install b/install_minimal/airtime-install index f242b12a9..6d459c567 100755 --- a/install_minimal/airtime-install +++ b/install_minimal/airtime-install @@ -15,14 +15,17 @@ if [[ "$DEB" = "Status: install ok installed" ]]; then exit 1 fi -echo -e "\n******************************** Install 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 SCRIPTPATH=`dirname $SCRIPT` AIRTIMEROOT=$SCRIPTPATH/../ +# Check if airtime exists already +php --php-ini ${SCRIPTPATH}/airtime-php.ini ${SCRIPTPATH}/include/airtime-installed-check.php $@ + +echo -e "\n******************************** Install Begin *********************************" + rm -rf "/usr/lib/airtime" $AIRTIMEROOT/python_apps/python-virtualenv/virtualenv-install.sh python $AIRTIMEROOT/python_apps/create-pypo-user.py diff --git a/install_minimal/include/AirtimeInstall.php b/install_minimal/include/AirtimeInstall.php index e30daa569..07602939c 100644 --- a/install_minimal/include/AirtimeInstall.php +++ b/install_minimal/include/AirtimeInstall.php @@ -1,7 +1,9 @@ getUsageMessage(); + echo PHP_EOL."Usage: airtime-install [options]"; + echo substr($msg, strpos($msg, "\n")).PHP_EOL; + } + + public static function getOpts() + { + try { + $autoloader = Zend_Loader_Autoloader::getInstance(); + $opts = new Zend_Console_Getopt( + array( + 'help|h' => 'Displays usage information.', + 'overwrite|o' => 'Overwrite any existing config files.', + 'preserve|p' => 'Keep any existing config files.', + 'no-db|n' => 'Turn off database install.', + 'reinstall|r' => 'Force a fresh install of this Airtime Version' + ) + ); + $opts->parse(); + } catch (Zend_Console_Getopt_Exception $e) { + print $e->getMessage() .PHP_EOL; + AirtimeInstall::printUsage($opts); + return NULL; + } + return $opts; + } } diff --git a/install_minimal/include/airtime-install.php b/install_minimal/include/airtime-install.php index 5d133751d..30df10a4e 100644 --- a/install_minimal/include/airtime-install.php +++ b/install_minimal/include/airtime-install.php @@ -5,58 +5,19 @@ * @license http://www.gnu.org/licenses/gpl.txt * * Checks if a previous version of Airtime is currently installed and upgrades Airtime if so. - * Performs a new install (new configs, database install) if a version of Airtime is not found. - * If the current version is found to be installed the user is presented with the help menu and can - * choose -r to reinstall. + * Performs a new install (new configs, database install) otherwise. */ -set_include_path(__DIR__.'/../../airtime_mvc/library' . PATH_SEPARATOR . get_include_path()); - require_once(dirname(__FILE__).'/AirtimeIni.php'); require_once(dirname(__FILE__).'/AirtimeInstall.php'); require_once(__DIR__.'/airtime-constants.php'); - -AirtimeInstall::ExitIfNotRoot(); - -require_once('Zend/Loader/Autoloader.php'); -$autoloader = Zend_Loader_Autoloader::getInstance(); - -function printUsage($opts) -{ - $msg = $opts->getUsageMessage(); - echo PHP_EOL."Usage: airtime-install [options]"; - echo substr($msg, strpos($msg, "\n")).PHP_EOL; -} - -try { - $opts = new Zend_Console_Getopt( - array( - 'help|h' => 'Displays usage information.', - 'overwrite|o' => 'Overwrite any existing config files.', - 'preserve|p' => 'Keep any existing config files.', - 'no-db|n' => 'Turn off database install.', - 'reinstall|r' => 'Force a fresh install of this Airtime Version' - ) - ); - $opts->parse(); -} catch (Zend_Console_Getopt_Exception $e) { - print $e->getMessage() .PHP_EOL; - printUsage($opts); +$opts = AirtimeInstall::getOpts(); +if ($opts == NULL) { exit(1); } -if (isset($opts->h)) { - printUsage($opts); - exit(0); -} - $version = AirtimeInstall::GetVersionInstalled(); -// The current version is already installed. -if (isset($version) && ($version != false) && ($version == AIRTIME_VERSION) && !isset($opts->r)) { - echo "Airtime $version is already installed.".PHP_EOL; - printUsage($opts); - exit(1); -} + // A previous version exists - if so, upgrade. if (isset($version) && ($version != false) && ($version < AIRTIME_VERSION) && !isset($opts->r)) { echo "Airtime version $version found.".PHP_EOL; @@ -65,11 +26,6 @@ if (isset($version) && ($version != false) && ($version < AIRTIME_VERSION) && !i exit(0); } -if($version === false){ - echo "A version of Airtime older than 1.7.0 detected, please upgrade to 1.7.0 first.\n"; - echo "You will then be able to upgrade to 1.9.0 using this installer.\n"; - exit(3); -} // ------------------------------------------------------------------------- // The only way we get here is if we are doing a new install or a reinstall. // ------------------------------------------------------------------------- diff --git a/install_minimal/include/airtime-installed-check.php b/install_minimal/include/airtime-installed-check.php new file mode 100644 index 000000000..bc1264dcd --- /dev/null +++ b/install_minimal/include/airtime-installed-check.php @@ -0,0 +1,38 @@ +h)) { + AirtimeInstall::printUsage($opts); + exit(1); +} + +$version = AirtimeInstall::GetVersionInstalled(); +// The current version is already installed. +if (isset($version) && ($version != false) && ($version == AIRTIME_VERSION) && !isset($opts->r)) { + echo "Airtime $version is already installed.".PHP_EOL; + AirtimeInstall::printUsage($opts); + exit(1); +} + +if($version === false){ + echo "A version of Airtime older than 1.7.0 detected, please upgrade to 1.7.0 first.\n"; + echo "You will then be able to upgrade to 1.9.0 using this installer.\n"; + exit(3); +} \ No newline at end of file