refactor: dedupe apt update & install functions

This commit is contained in:
Cameron Ryder
2023-06-04 23:01:48 -04:00
parent 2d177e0219
commit 4160c4aa77
7 changed files with 73 additions and 125 deletions

View File

@@ -197,7 +197,7 @@ function compare_crowsnest_versions() {
}
function install_crowsnest_dependencies() {
local packages
local packages log_name="Crowsnest"
local install_script="${CROWSNEST_DIR}/tools/install.sh"
### read PKGLIST from official install-script
@@ -208,25 +208,11 @@ function install_crowsnest_dependencies() {
echo "${cyan}${packages}${white}" | tr '[:space:]' '\n'
read -r -a packages <<< "${packages}"
### Update system package info if lists > 3 days old
status_msg "Updating package lists..."
if [[ -z "$(find -H /var/lib/apt/lists -maxdepth 0 -mtime -3)" ]]; then
if ! sudo apt-get update --allow-releaseinfo-change; then
log_error "failure while updating package lists"
error_msg "Updating package lists failed!"
exit 1
fi
else
status_msg "Package lists updated recently, skipping..."
fi
### Update system package lists if stale
update_system_package_lists
### Install required packages
status_msg "Installing required packages..."
if ! sudo apt-get install --yes "${packages[@]}"; then
log_error "failure while installing required crowsnest packages"
error_msg "Installing required packages failed!"
exit 1
fi
install_system_packages "$log_name" "packages[@]"
}
function update_crowsnest() {