Merge pull request #22083 from zmerlynn/take-out-apt-get

configure-vm.sh: Only "apt-get update" when we need to install a package
pull/6/head
Fabio Yeon 2016-02-26 14:53:28 -08:00
commit 30a9cb26bd
1 changed files with 16 additions and 2 deletions

View File

@ -165,6 +165,21 @@ validate-hash() {
} }
apt-get-install() { apt-get-install() {
local -r packages=( $@ )
installed=true
for package in "${packages[@]}"; do
if ! dpkg -s "${package}" &>/dev/null; then
installed=false
break
fi
done
if [[ "${installed}" == "true" ]]; then
echo "== ${packages[@]} already installed, skipped apt-get install ${packages[@]} =="
return
fi
apt-get-update
# Forcibly install packages (options borrowed from Salt logs). # Forcibly install packages (options borrowed from Salt logs).
until apt-get -q -y -o DPkg::Options::=--force-confold -o DPkg::Options::=--force-confdef install $@; do until apt-get -q -y -o DPkg::Options::=--force-confold -o DPkg::Options::=--force-confdef install $@; do
echo "== install of packages $@ failed, retrying ==" echo "== install of packages $@ failed, retrying =="
@ -176,7 +191,7 @@ apt-get-update() {
echo "== Refreshing package database ==" echo "== Refreshing package database =="
until apt-get update; do until apt-get update; do
echo "== apt-get update failed, retrying ==" echo "== apt-get update failed, retrying =="
echo sleep 5 sleep 5
done done
} }
@ -795,7 +810,6 @@ if [[ -z "${is_push}" ]]; then
set-broken-motd set-broken-motd
ensure-basic-networking ensure-basic-networking
fix-apt-sources fix-apt-sources
apt-get-update
ensure-install-dir ensure-install-dir
ensure-packages ensure-packages
set-kube-env set-kube-env