X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fpackaging%2Finstall-rpm.sh;h=7c011ad646f46e7cc69a36448d2052e124e47169;hb=0abaee571f249a9da5396f5d44cae9350f2fbf2a;hp=7f72f0683a67badeff0f5b8f625e138b7bf3c888;hpb=26c20ade21e2629099602ca890b9a67f2b9a2586;p=releng%2Fbuilder.git diff --git a/jjb/packaging/install-rpm.sh b/jjb/packaging/install-rpm.sh index 7f72f0683..7c011ad64 100644 --- a/jjb/packaging/install-rpm.sh +++ b/jjb/packaging/install-rpm.sh @@ -6,20 +6,49 @@ # -o pipefail: Fail on errors in scripts this calls, give stacktrace set -ex -o pipefail -# Update mirror list to avoid slow/hung one -sudo yum update -y yum-plugin-fastestmirror +# Use local RPM in build-out dir if URL not passed +URL=${URL:-"$HOME/rpmbuild/RPMS/noarch/*.rpm"} -# Install ODL from .rpm link or .repo url -if [[ $URL == *.rpm ]] -then - sudo yum install -y "$URL" -elif [[ $URL == *.repo ]] -then - # shellcheck disable=SC2154 - repo_file="${{URL##*/}}" - sudo curl --silent -o /etc/yum.repos.d/"$repo_file" "$URL" - sudo yum install -y opendaylight +if [ -f /usr/bin/yum ]; then + # Update mirror list to avoid slow/hung one + sudo yum update -y yum-plugin-fastestmirror + + # Install ODL from RPM path, RPM URL or .repo file url + # NB: Paths must be anchored at root + if [[ $URL == /* ]]; then + # If path is globbed (/path/to/*.rpm), expand it + path=$(sudo find / -wholename "$URL") + sudo yum install -y "$path" + elif [[ $URL == *.rpm ]]; then + sudo yum install -y "$URL" + elif [[ $URL == *.repo ]]; then + # shellcheck disable=SC2154 + repo_file="${URL##*/}" + sudo curl --silent -o /etc/yum.repos.d/"$repo_file" "$URL" + sudo yum install -y opendaylight + else + echo "URL is not a link to .rpm or .repo" + exit 1 + fi +elif [ -f /usr/bin/zypper ]; then + # Install ODL from RPM path, RPM URL or .repo file url + # NB: Paths must be anchored at root + if [[ $URL == /* ]]; then + # If path is globbed (/path/to/*.rpm), expand it + path=$(sudo find /root -wholename "$URL") + sudo zypper -n --no-gpg-checks install "$path" + elif [[ $URL == *.rpm ]]; then + sudo zypper -n --no-gpg-checks install "$URL" + elif [[ $URL == *.repo ]]; then + # shellcheck disable=SC2154 + repo_file="${URL##*/}" + sudo curl --silent -o /etc/zypp/repos.d/"$repo_file" "$URL" + sudo zypper -n --no-gpg-checks install opendaylight + else + echo "URL is not a link to .rpm or .repo" + exit 1 + fi else - echo "URL is not a link to .rpm or .repo" + echo "The package manager is not supported (not yum or zypper)" exit 1 fi