mirror of
				https://github.com/billz/raspap-webgui.git
				synced 2025-03-01 10:31:47 +00:00 
			
		
		
		
	Merge pull request #619 from billz/feature/upgrade
Adds upgrade option to installer
This commit is contained in:
		| @@ -30,12 +30,17 @@ git_source_url="https://github.com/$repo"  # $repo from install.raspap.com | ||||
|  | ||||
| # Prompts user to set installation options | ||||
| function _config_installation() { | ||||
|     _install_log "Configure installation" | ||||
|     if [ "$upgrade" == 1 ]; then | ||||
|         opt=(Upgrade Upgrading upgrade) | ||||
|     else | ||||
|         opt=(Install Installing installation) | ||||
|     fi | ||||
|     _install_log "Configure ${opt[2]}" | ||||
|     _get_linux_distro | ||||
|     echo "Detected OS: ${DESC}" | ||||
|     echo "Using GitHub repository: ${repo} ${branch} branch" | ||||
|     echo "Install directory: ${raspap_dir}" | ||||
|     echo -n "Install to lighttpd root: ${webroot_dir}? [Y/n]: " | ||||
|     echo "Configuration directory: ${raspap_dir}" | ||||
|     echo -n "lighttpd root: ${webroot_dir}? [Y/n]: " | ||||
|     if [ "$assume_yes" == 0 ]; then | ||||
|         read answer < /dev/tty | ||||
|         if [ "$answer" != "${answer#[Nn]}" ]; then | ||||
| @@ -44,8 +49,12 @@ function _config_installation() { | ||||
|     else | ||||
|         echo -e | ||||
|     fi | ||||
|     echo "Installing to lighttpd directory: ${webroot_dir}" | ||||
|     echo -n "Complete installation with these values? [Y/n]: " | ||||
|     echo "${opt[1]} lighttpd directory: ${webroot_dir}" | ||||
|     if [ "$upgrade" == 1 ]; then | ||||
|         echo "This will upgrade your existing install to version ${RASPAP_LATEST}" | ||||
|         echo "Your configuration will NOT be changed" | ||||
|     fi | ||||
|     echo -n "Complete ${opt[2]} with these values? [Y/n]: " | ||||
|     if [ "$assume_yes" == 0 ]; then | ||||
|         read answer < /dev/tty | ||||
|         if [ "$answer" != "${answer#[Nn]}" ]; then | ||||
| @@ -290,6 +299,12 @@ function _download_latest_files() { | ||||
|     git clone --branch $branch --depth 1 $git_source_url /tmp/raspap-webgui || _install_status 1 "Unable to download files from github" | ||||
|  | ||||
|     sudo mv /tmp/raspap-webgui $webroot_dir || _install_status 1 "Unable to move raspap-webgui to web root" | ||||
|     if [ "$upgrade" == 1 ]; then | ||||
|         _install_log "Applying existing configuration to ${webroot_dir}/includes" | ||||
|         sudo mv /tmp/config.php $webroot_dir/includes  || _install_status 1 "Unable to move config.php to ${webroot_dir}/includes" | ||||
|         sudo mv /tmp/defaults.php $webroot_dir/includes || _install_status 1 "Unable to move defaults.php to ${webroot_dir}/includes" | ||||
|     fi | ||||
|  | ||||
|     _install_status 0 | ||||
| } | ||||
|  | ||||
| @@ -305,6 +320,12 @@ function _change_file_ownership() { | ||||
|  | ||||
| # Check for existing configuration files | ||||
| function _check_for_old_configs() { | ||||
|     if [ "$upgrade" == 1 ]; then | ||||
|         _install_log "Moving existing configuration to /tmp" | ||||
|         sudo mv $webroot_dir/includes/config.php /tmp || _install_status 1 "Unable to move config.php to /tmp" | ||||
|         sudo mv $webroot_dir/includes/defaults.php /tmp || _install_status 1 "Unable to move defaults.php to /tmp" | ||||
|     else | ||||
|         _install_log "Backing up existing configs to ${raspap_dir}/backups" | ||||
|         if [ -f /etc/network/interfaces ]; then | ||||
|             sudo cp /etc/network/interfaces "$raspap_dir/backups/interfaces.`date +%F-%R`" | ||||
|             sudo ln -sf "$raspap_dir/backups/interfaces.`date +%F-%R`" "$raspap_dir/backups/interfaces" | ||||
| @@ -332,6 +353,7 @@ function _check_for_old_configs() { | ||||
|                 sudo ln -sf "${raspap_dir}/backups/${filename}.`date +%F-%R`" "${raspap_dir}/backups/${filename}" | ||||
|             fi | ||||
|         done | ||||
|     fi | ||||
|     _install_status 0 | ||||
| } | ||||
|  | ||||
| @@ -348,6 +370,7 @@ function _move_config_file() { | ||||
|  | ||||
| # Set up default configuration | ||||
| function _default_configuration() { | ||||
|     if [ "$upgrade" == 0 ]; then | ||||
|         _install_log "Applying default configuration to installed services" | ||||
|         if [ -f /etc/default/hostapd ]; then | ||||
|             sudo mv /etc/default/hostapd /tmp/default_hostapd.old || _install_status 1 "Unable to remove old /etc/default/hostapd file" | ||||
| @@ -371,6 +394,7 @@ function _default_configuration() { | ||||
|             sudo cp "$webroot_dir/config/config.php" "$webroot_dir/includes/config.php" | ||||
|         fi | ||||
|         _install_status 0 | ||||
|     fi | ||||
| } | ||||
|  | ||||
| # Install and enable RaspAP daemon | ||||
| @@ -453,6 +477,7 @@ function _patch_system_files() { | ||||
|  | ||||
| # Optimize configuration of php-cgi. | ||||
| function _optimize_php() { | ||||
|     if [ "$upgrade" == 0 ]; then | ||||
|         _install_log "Optimize PHP configuration" | ||||
|         if [ ! -f "$phpcgiconf" ]; then | ||||
|             _install_warning "PHP configuration could not be found." | ||||
| @@ -501,6 +526,7 @@ function _optimize_php() { | ||||
|                 fi | ||||
|             fi | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
|  | ||||
| function _install_complete() { | ||||
|   | ||||
| @@ -20,6 +20,8 @@ | ||||
| #    Overrides the default git branch (master) | ||||
| # -h, --help | ||||
| #    Outputs usage notes and exits | ||||
| # -u, --upgrade | ||||
| #    Upgrades an existing installation to the latest release version | ||||
| # -v, --version | ||||
| #    Outputs release info and exits | ||||
| # | ||||
| @@ -37,6 +39,7 @@ | ||||
| repo="billz/raspap-webgui" | ||||
| branch="master" | ||||
| assume_yes=0 | ||||
| upgrade=0 | ||||
| ovpn_option=1 | ||||
| adblock_option=1 | ||||
|  | ||||
| @@ -61,6 +64,7 @@ Usage: raspbian.sh [OPTION]\n | ||||
| -r, --repo, --repository <name>\n\tOverrides the default GitHub repo (billz/raspap-webgui) | ||||
| -b, --branch <name>\n\tOverrides the default git branch (master) | ||||
| -h, --help\n\tOutputs usage notes and exits | ||||
| -u, --upgrade\n\tUpgrades an existing installation to the latest release version | ||||
| -v, --version\n\tOutputs release info and exits\n | ||||
| EOF | ||||
| ) | ||||
| @@ -95,6 +99,9 @@ while :; do | ||||
|         printf "$usage" | ||||
|         exit 1 | ||||
|         ;; | ||||
|         -u|--upgrade) | ||||
|         upgrade=1 | ||||
|         ;; | ||||
|         -v|--version) | ||||
|         printf "RaspAP v${RASPAP_LATEST} - Simple AP setup & WiFi management for Debian-based devices\n" | ||||
|         exit 1 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user