diff --git a/functions/openhab.bash b/functions/openhab.bash index 28b50c808..6f1fa9d49 100644 --- a/functions/openhab.bash +++ b/functions/openhab.bash @@ -49,6 +49,7 @@ openhab_setup() { local introText local keyName="openhab" local openhabVersion + local installVersion local repo local successText @@ -92,7 +93,10 @@ openhab_setup() { if ! apt-get clean --yes -o DPkg::Lock::Timeout="$APTTIMEOUT"; then echo "FAILED (apt cache clean)"; return 1; fi if ! cond_redirect apt-get update; then echo "FAILED (update apt lists)"; return 1; fi openhabVersion="${3:-$(apt-cache madison ${ohPkgName} | head -n 1 | cut -d'|' -f2 | xargs)}" - if cond_redirect apt-get install --allow-downgrades --yes -o DPkg::Lock::Timeout="$APTTIMEOUT" --option Dpkg::Options::="--force-confnew" "${ohPkgName}=${openhabVersion}" "${ohPkgName}-addons=${openhabVersion}"; then echo "OK"; else echo "FAILED"; return 1; fi + if [[ -n $openhabVersion ]]; then + installVersion="${ohPkgName}=${openhabVersion}" "${ohPkgName}-addons=${openhabVersion}" + fi + if cond_redirect apt-get install --allow-downgrades --yes -o DPkg::Lock::Timeout="$APTTIMEOUT" --option Dpkg::Options::="--force-confnew" "$installVersion"; then echo "OK"; else echo "FAILED"; return 1; fi else echo -n "$(timestamp) [openHABian] Installing cached openHAB version... " if cond_redirect apt-get install --yes -o DPkg::Lock::Timeout="$APTTIMEOUT" --option Dpkg::Options::="--force-confnew" ${ohPkgName} ${ohPkgName}-addons; then echo "OK"; else echo "FAILED"; return 1; fi