diff options
author | Christian Rößler | 2014-07-07 16:48:47 +0200 |
---|---|---|
committer | Christian Rößler | 2014-07-07 16:48:47 +0200 |
commit | de40c6ba6e803932a87dd168bc46b02ff4cfb40b (patch) | |
tree | 9a6b5db0eccd8047a31501d31581b27ad0c50c4c /satellit_installer/includes/10-install_packages.inc | |
parent | [SSPS] satellit_installer, 90-set_directory_permissions.inc: Some more (diff) | |
download | setup-scripts-de40c6ba6e803932a87dd168bc46b02ff4cfb40b.tar.gz setup-scripts-de40c6ba6e803932a87dd168bc46b02ff4cfb40b.tar.xz setup-scripts-de40c6ba6e803932a87dd168bc46b02ff4cfb40b.zip |
[SSPS] Rudimentary package install retrying, bugfix
Diffstat (limited to 'satellit_installer/includes/10-install_packages.inc')
-rwxr-xr-x | satellit_installer/includes/10-install_packages.inc | 41 |
1 files changed, 32 insertions, 9 deletions
diff --git a/satellit_installer/includes/10-install_packages.inc b/satellit_installer/includes/10-install_packages.inc index 2201b64..5ec8e71 100755 --- a/satellit_installer/includes/10-install_packages.inc +++ b/satellit_installer/includes/10-install_packages.inc @@ -1,5 +1,36 @@ #!/bin/bash +install_package() { + # These stacked ifs are just a stopgap until proper trapping. + echo -n "# Installing package $PACKAGE... " + apt-get -qq -y install ${PACKAGE} 2>/dev/null 1>&2 + ERR=$? + if [ "$ERR" -ne 0 ]; then + echo + echo "# Could not install package $PACKAGE - Error number $ERR!" + echo -n "# Trying an apt-get update..." + apt-get update 2>/dev/null 1>&2 + ERR=$? + if [ "$ERR" -ne 0 ]; then + echo + echo "# apt-get update has thrown error number $ERR. You need to take care" + echo "# of this by hand. Commencing installation." + else + echo " ok." + echo -n "# Retrying installing package $PACKAGE... " + apt-get -qq -y install ${PACKAGE} 2>/dev/null 1>&2 + ERR=$? + if [ "$ERR" -ne 0 ]; then + echo "Could not install $PACKAGE. Giving up." + else + echo "ok." + fi + fi + else + echo "ok." + fi +} + install_packages() { local NEEDED_PACKAGES="$1" @@ -7,15 +38,7 @@ install_packages() { echo "# Installing packages. This may take a while." echo "#" for PACKAGE in $NEEDED_PACKAGES; do - echo -n "# Installing package $PACKAGE... " - apt-get -qq -y install ${PACKAGE} 2>/dev/null 1>&2 - ERR=$? - if [ "$ERR" -ne 0 ]; then - echo "# Could not install package $PACKAGE!" - # Weitere Fehlerbehandlung folgt - else - echo "ok." - fi + install_package done } |