X-Git-Url: https://gerrit.linuxfoundation.org/infra/gitweb?a=blobdiff_plain;f=jenkins-init-scripts%2Flf-env.sh;h=7403a69f062e001ac9eed16b0b3868756096f50d;hb=a5fa8a32ab2f856fecc7505fdfd7a8e12df2c402;hp=bd9f7807890a2323164762b0afa5bb35b510af57;hpb=5f3d9b0c8343ee4dce1ed0d0c39f8677799b0c74;p=releng%2Fglobal-jjb.git diff --git a/jenkins-init-scripts/lf-env.sh b/jenkins-init-scripts/lf-env.sh index bd9f7807..7403a69f 100644 --- a/jenkins-init-scripts/lf-env.sh +++ b/jenkins-init-scripts/lf-env.sh @@ -209,6 +209,7 @@ lf-activate-venv () { pyenv versions if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init - --no-rehash)" + # shellcheck disable=SC2046 pyenv local $(lf-pyver "${python}") fi fi @@ -227,27 +228,32 @@ lf-activate-venv () { # 1. --venv-file as lf_venv # 2. default: "/tmp/.os_lf_venv" # - Create new venv when 1. and 2. is absent - if [ -f "$venv_file" ]; then + if [[ -f "$venv_file" ]]; then lf_venv=$(cat "$venv_file") echo "${FUNCNAME[0]}(): INFO: Reuse venv:$lf_venv from" \ "file:$venv_file" - elif [ ! -f "$venv_file" ]; then - $python -m venv "$install_args" "$lf_venv" || return 1 + elif [[ ! -f "$venv_file" ]]; then + if [[ -n "$install_args" ]]; then + $python -m venv "$install_args" "$lf_venv" || return 1 + else + $python -m venv "$lf_venv" || return 1 + fi echo "${FUNCNAME[0]}(): INFO: Creating $python venv at $lf_venv" echo "$lf_venv" > "$venv_file" echo "${FUNCNAME[0]}(): INFO: Save venv in file: $venv_file" fi - "$lf_venv/bin/pip" install --upgrade --quiet pip virtualenv || return 1 + "$lf_venv/bin/python3" -m pip install --upgrade --quiet pip \ + virtualenv || return 1 if [[ -z $pkg_list ]]; then echo "${FUNCNAME[0]}(): WARNING: No packages to install" - return 0 + else + echo "${FUNCNAME[0]}(): INFO: Installing: $pkg_list" + # $pkg_list is expected to be unquoted + # shellcheck disable=SC2086 + "$lf_venv/bin/python3" -m pip install --upgrade --quiet \ + --upgrade-strategy eager $pkg_list || return 1 fi - echo "${FUNCNAME[0]}(): INFO: Installing: $pkg_list" - # $pkg_list is expected to be unquoted - # shellcheck disable=SC2086 - "$lf_venv/bin/pip" install --upgrade --quiet --upgrade-strategy eager \ - $pkg_list || return 1 ;; *) lf-echo-stderr "${FUNCNAME[0]}(): ERROR: No support for: $python"