Merge pull request #619 from billz/feature/upgrade

Adds upgrade option to installer
This commit is contained in:
Bill Zimmerman 2020-06-26 17:47:04 +02:00 committed by GitHub
commit 1ef2f10b8a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 120 additions and 87 deletions

View File

@ -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() {

View File

@ -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