Fixed shellcheck (#14882)

This commit is contained in:
Ilya Lavrenov 2023-01-02 11:30:54 +04:00 committed by GitHub
parent 19fde3fee6
commit b9df7793fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 125 additions and 132 deletions

View File

@ -13,15 +13,12 @@ set(shellcheck_skip_list
"${OpenVINO_SOURCE_DIR}/src/plugins/intel_cpu/thirdparty"
"${OpenVINO_SOURCE_DIR}/src/plugins/intel_gpu/thirdparty"
"${OpenVINO_SOURCE_DIR}/src/bindings/python/thirdparty/pybind11"
"${OpenVINO_SOURCE_DIR}/tools/pot/thirdparty"
"${TEMP}")
# TODO fix and enable back
list(APPEND shellcheck_skip_list
"${OpenVINO_SOURCE_DIR}/scripts/install_dependencies/install_NEO_OCL_driver.sh"
"${OpenVINO_SOURCE_DIR}/scripts/install_dependencies/install_openvino_dependencies.sh"
"${OpenVINO_SOURCE_DIR}/src/bindings/python/tests/test_onnx/model_zoo_preprocess.sh"
"${OpenVINO_SOURCE_DIR}/src/bindings/python/tests_compatibility/test_onnx/model_zoo_preprocess.sh")
"${OpenVINO_SOURCE_DIR}/scripts/install_dependencies/install_openvino_dependencies.sh")
if(shellcheck_VERSION VERSION_GREATER_EQUAL 0.7.0)
list(APPEND shellcheck_skip_list

View File

@ -8,8 +8,8 @@ set -e
#===================================================================================================
# Option parsing
default_comp=(core dev python myriad cl_compiler)
all_comp=(${default_comp[@]} opencv_req opencv_opt)
default_comp=(core dev python)
all_comp=("${default_comp[@]}" opencv_req opencv_opt)
os=${os:-auto}
# public options
@ -30,7 +30,7 @@ while :; do
echo " -y non-interactive run (off)"
echo " -n dry-run, assume no (off)"
echo " -c=<name> install component <name>, can be repeated (${all_comp[*]})"
echo " -e add extra repositories (RHEL 8) (off)"
echo " -e add extra repositories (RHEL 7, 8, 9) (off)"
echo " -p print package list and exit (off)"
exit
;;
@ -48,26 +48,32 @@ done
# No components selected - install default
if [ ${#comp[@]} -eq 0 ]; then
comp=(${default_comp[@]})
comp=("${default_comp[@]}")
fi
#===================================================================================================
# Selftest
if [ -n "$selftest" ] ; then
for image in ubuntu:18.04 ubuntu:20.04 ubuntu:21.10 ubuntu:22.04 redhat/ubi8 ; do
for image in centos7 centos8 rhel8 rhel9.1 \
almalinux8.7 amzn2 \
fedora34 fedora35 fedora36 fedora37 fedora38 \
raspbian9 debian9 ubuntu18.04 \
raspbian10 debian10 ubuntu20.04 ubuntu20.10 ubuntu21.04 \
raspbian11 debian11 ubuntu21.10 ubuntu22.04 \
raspbian12 debian12 ubuntu22.10 ; do
for opt in "-h" "-p" "-e -p" "-n" "-n -e" "-y" "-y -e" ; do
echo "||"
echo "|| Test $image / '$opt'"
echo "||"
SCRIPT_DIR="$( cd "$( dirname "$(realpath "${BASH_SOURCE[0]}")" )" >/dev/null 2>&1 && pwd )"
docker run -it --rm \
--volume ${SCRIPT_DIR}:/scripts:ro,Z \
--volume "${SCRIPT_DIR}":/scripts:ro,Z \
--volume yum-cache:/var/cache/yum \
--volume apt-cache:/var/cache/apt/archives \
-e DEBIAN_FRONTEND=noninteractive \
$image \
bash /scripts/${0##*/} $opt --keepcache
bash "/scripts/${0##*/}" "$opt" --keepcache
echo "||"
echo "|| Completed: $image / '$opt'"
echo "||"
@ -82,6 +88,7 @@ fi
# OS detection
if [ "$os" == "auto" ] ; then
# shellcheck source=/dev/null
os=$( . /etc/os-release ; echo "${ID}${VERSION_ID}" )
if [[ "$os" =~ "rhel8".* ]] ; then
os="rhel8"
@ -113,8 +120,6 @@ if [ "$os" == "raspbian9" ] || [ "$os" == "debian9" ] ; then
pkgs_core=(libpugixml1v5)
pkgs_python=()
pkgs_dev=(pkg-config g++ gcc libc6-dev libgflags-dev zlib1g-dev nlohmann-json-dev make curl sudo)
pkgs_myriad=(libusb-1.0-0)
pkgs_cl_compiler=()
elif [ "$os" == "ubuntu18.04" ] ; then
@ -122,8 +127,6 @@ elif [ "$os" == "ubuntu18.04" ] ; then
pkgs_opencv_req=(libgtk-3-0 libgl1)
pkgs_python=(python3.8 libpython3.8 python3.8-venv python3-pip)
pkgs_dev=(cmake pkg-config g++ gcc libc6-dev libgflags-dev zlib1g-dev nlohmann-json-dev make curl sudo)
pkgs_myriad=(libusb-1.0-0)
pkgs_cl_compiler=(libtinfo5)
pkgs_opencv_opt=(
gstreamer1.0-plugins-bad
gstreamer1.0-plugins-base
@ -146,8 +149,6 @@ elif [ "$os" == "ubuntu20.04" ] || [ "$os" == "debian10" ] || [ "$os" == "raspbi
pkgs_opencv_req=(libgtk-3-0 libgl1)
pkgs_python=(python3 python3-venv python3-pip)
pkgs_dev=(cmake pkg-config g++ gcc libc6-dev libgflags-dev zlib1g-dev nlohmann-json3-dev make curl sudo)
pkgs_myriad=(libusb-1.0-0)
pkgs_cl_compiler=(libtinfo5)
pkgs_opencv_opt=(
gstreamer1.0-plugins-bad
gstreamer1.0-plugins-base
@ -162,20 +163,20 @@ elif [ "$os" == "ubuntu20.04" ] || [ "$os" == "debian10" ] || [ "$os" == "raspbi
)
if [ "$os" == "debian10" ] || [ "$os" == "raspbian10" ] ; then
pkgs_core=(${pkgs_core[@]} libtbb2)
pkgs_python=(${pkgs_python[@]} libpython3.7)
pkgs_core=("${pkgs_core[@]}" libtbb2)
pkgs_python=("${pkgs_python[@]}" libpython3.7)
elif [ "$os" == "ubuntu20.04" ] || [ "$os" == "ubuntu20.10" ] || [ "$os" == "ubuntu21.04" ] ; then
pkgs_core=(${pkgs_core[@]} libtbb2)
pkgs_python=(${pkgs_python[@]} libpython3.8)
pkgs_opencv_opt=(${pkgs_opencv_opt[@]} libavresample4)
pkgs_core=("${pkgs_core[@]}" libtbb2)
pkgs_python=("${pkgs_python[@]}" libpython3.8)
pkgs_opencv_opt=("${pkgs_opencv_opt[@]}" libavresample4)
elif [ "$os" == "ubuntu21.10" ] ||
[ "$os" == "debian11" ] || [ "$os" == "raspbian11" ] ; then
pkgs_core=(${pkgs_core[@]} libtbb2)
pkgs_python=(${pkgs_python[@]} libpython3.9)
pkgs_core=("${pkgs_core[@]}" libtbb2)
pkgs_python=("${pkgs_python[@]}" libpython3.9)
elif [ "$os" == "ubuntu22.04" ] || [ "$os" == "ubuntu22.10" ] ||
[ "$os" == "debian12" ] || [ "$os" == "raspbian12" ] ; then
pkgs_core=(${pkgs_core[@]} libtbb12)
pkgs_python=(${pkgs_python[@]} libpython3.10)
pkgs_core=("${pkgs_core[@]}" libtbb12)
pkgs_python=("${pkgs_python[@]}" libpython3.10)
fi
elif [ "$os" == "centos7" ] || [ "$os" == "centos8" ] ||
@ -190,7 +191,7 @@ elif [ "$os" == "centos7" ] || [ "$os" == "centos8" ] ||
amazon-linux-extras install epel python3.8
fi
pkgs_dev=(gcc gcc-c++ make glibc libstdc++ libgcc cmake3 json-devel.$arch zlib-devel.$arch sudo)
pkgs_dev=(gcc gcc-c++ make glibc libstdc++ libgcc cmake3 "json-devel.$arch" "zlib-devel.$arch" sudo)
if [ "$os" == "centos7" ] || [ "$os" == "amzn2" ] ; then
pkgs_dev+=(pkgconfig)
@ -206,81 +207,78 @@ elif [ "$os" == "centos7" ] || [ "$os" == "centos8" ] ||
if [ "$os" == "fedora35" ] || [ "$os" == "fedora35" ] || [ "$os" == "fedora36" ] ||
[ "$os" == "fedora36" ] || [ "$os" == "fedora38" ] ; then
pkgs_core=(tbb.$arch pugixml.$arch gflags.$arch)
pkgs_core=("tbb.$arch" "pugixml.$arch" "gflags.$arch")
pkgs_python=(python3 python3-pip)
pkgs_dev+=(gflags-devel.$arch)
pkgs_myriad=(libusb1.$arch)
else
pkgs_myriad=(libusbx.$arch)
pkgs_dev+=("gflags-devel.$arch")
fi
if [ "$os" == "centos7" ] || [ "$os" == "amzn2" ] ; then
pkgs_core=(tbb.$arch pugixml.$arch gflags.$arch)
pkgs_dev+=(gflags-devel.$arch)
pkgs_core=("tbb.$arch" "pugixml.$arch" "gflags.$arch")
pkgs_dev+=("gflags-devel.$arch")
pkgs_opencv_opt=(
gstreamer1.$arch
gstreamer1-plugins-ugly-free.$arch
gstreamer1-plugins-good.$arch
gstreamer1-plugins-bad-free.$arch
"gstreamer1.$arch"
"gstreamer1-plugins-ugly-free.$arch"
"gstreamer1-plugins-good.$arch"
"gstreamer1-plugins-bad-free.$arch"
)
extra_repos+=(https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm)
extra_repos+=("https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm")
elif [ "$os" == "centos8" ] || [ "$os" == "rhel8" ] || [ "$os" == "almalinux8.7" ] ; then
pkgs_core+=(
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/tbb-2018.2-9.el8.$arch.rpm
https://download-ib01.fedoraproject.org/pub/epel/8/Everything/$arch/Packages/p/pugixml-1.13-1.el8.$arch.rpm
https://vault.centos.org/centos/8/PowerTools/$arch/os/Packages/gflags-2.1.2-6.el8.$arch.rpm
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/tbb-2018.2-9.el8.$arch.rpm"
"https://download-ib01.fedoraproject.org/pub/epel/8/Everything/$arch/Packages/p/pugixml-1.13-1.el8.$arch.rpm"
"https://vault.centos.org/centos/8/PowerTools/$arch/os/Packages/gflags-2.1.2-6.el8.$arch.rpm"
)
pkgs_python+=(python38 python38-pip)
pkgs_dev+=(
https://vault.centos.org/centos/8/PowerTools/$arch/os/Packages/gflags-devel-2.1.2-6.el8.$arch.rpm
https://download-ib01.fedoraproject.org/pub/epel/8/Everything/$arch/Packages/j/json-devel-3.6.1-2.el8.$arch.rpm
"https://vault.centos.org/centos/8/PowerTools/$arch/os/Packages/gflags-devel-2.1.2-6.el8.$arch.rpm"
"https://download-ib01.fedoraproject.org/pub/epel/8/Everything/$arch/Packages/j/json-devel-3.6.1-2.el8.$arch.rpm"
)
pkgs_opencv_req=(gtk3)
pkgs_opencv_opt=(
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libcdio-2.0.0-3.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libtheora-1.1.1-21.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/opus-1.3-0.4.beta.el8.$arch.rpm
http://mirror.centos.org/centos/8-stream/AppStream/$arch/os/Packages/orc-0.4.28-3.el8.$arch.rpm
http://mirror.centos.org/centos/8-stream/AppStream/$arch/os/Packages/libglvnd-gles-1.3.4-1.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libdvdread-5.0.3-9.el8.$arch.rpm
http://mirror.centos.org/centos/8-stream/AppStream/$arch/os/Packages/libvisual-0.4.0-25.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/liba52-0.7.4-32.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libdvdread-5.0.3-9.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libXv-1.0.11-7.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/taglib-1.11.1-8.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/mpg123-libs-1.25.10-2.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/lame-libs-3.100-6.el8.$arch.rpm
https://vault.centos.org/centos/8/BaseOS/$arch/os/Packages/libgudev-232-4.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libv4l-1.14.2-3.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/speex-1.2.0-1.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libraw1394-2.1.2-5.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libsrtp-1.5.4-8.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libvpx-1.7.0-8.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/wavpack-5.1.0-15.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libiec61883-1.2.0-18.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libshout-2.2.2-19.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/twolame-libs-0.3.13-12.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libavc1394-0.5.4-7.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libdv-1.0.0-27.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libdvdnav-5.0.3-8.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/webrtc-audio-processing-0.3-9.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/gstreamer1-plugins-base-1.16.1-2.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/gstreamer1-1.16.1-2.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/gstreamer1-plugins-bad-free-1.16.1-1.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/gstreamer1-plugins-good-1.16.1-2.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/gstreamer1-plugins-ugly-free-1.16.1-1.el8.$arch.rpm
https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/soundtouch-2.0.0-3.el8.$arch.rpm
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libcdio-2.0.0-3.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libtheora-1.1.1-21.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/opus-1.3-0.4.beta.el8.$arch.rpm"
"http://mirror.centos.org/centos/8-stream/AppStream/$arch/os/Packages/orc-0.4.28-3.el8.$arch.rpm"
"http://mirror.centos.org/centos/8-stream/AppStream/$arch/os/Packages/libglvnd-gles-1.3.4-1.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libdvdread-5.0.3-9.el8.$arch.rpm"
"http://mirror.centos.org/centos/8-stream/AppStream/$arch/os/Packages/libvisual-0.4.0-25.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/liba52-0.7.4-32.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libdvdread-5.0.3-9.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libXv-1.0.11-7.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/taglib-1.11.1-8.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/mpg123-libs-1.25.10-2.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/lame-libs-3.100-6.el8.$arch.rpm"
"https://vault.centos.org/centos/8/BaseOS/$arch/os/Packages/libgudev-232-4.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libv4l-1.14.2-3.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/speex-1.2.0-1.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libraw1394-2.1.2-5.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libsrtp-1.5.4-8.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libvpx-1.7.0-8.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/wavpack-5.1.0-15.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libiec61883-1.2.0-18.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libshout-2.2.2-19.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/twolame-libs-0.3.13-12.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libavc1394-0.5.4-7.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libdv-1.0.0-27.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libdvdnav-5.0.3-8.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/webrtc-audio-processing-0.3-9.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/gstreamer1-plugins-base-1.16.1-2.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/gstreamer1-1.16.1-2.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/gstreamer1-plugins-bad-free-1.16.1-1.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/gstreamer1-plugins-good-1.16.1-2.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/gstreamer1-plugins-ugly-free-1.16.1-1.el8.$arch.rpm"
"https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/soundtouch-2.0.0-3.el8.$arch.rpm"
)
extra_repos+=(https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm)
extra_repos+=("https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm")
elif [ "$os" == "rhel9.1" ] ; then
pkgs_core=(
http://mirror.stream.centos.org/9-stream/AppStream/$arch/os/Packages/tbb-2020.3-8.el9.$arch.rpm
https://download-ib01.fedoraproject.org/pub/epel/9/Everything/$arch/Packages/p/pugixml-1.13-1.el9.$arch.rpm
https://download-ib01.fedoraproject.org/pub/epel/9/Everything/$arch/Packages/g/gflags-2.2.2-9.el9.$arch.rpm
"http://mirror.stream.centos.org/9-stream/AppStream/$arch/os/Packages/tbb-2020.3-8.el9.$arch.rpm"
"https://download-ib01.fedoraproject.org/pub/epel/9/Everything/$arch/Packages/p/pugixml-1.13-1.el9.$arch.rpm"
"https://download-ib01.fedoraproject.org/pub/epel/9/Everything/$arch/Packages/g/gflags-2.2.2-9.el9.$arch.rpm"
)
pkgs_python=(python3 python3-pip)
pkgs_dev+=(https://download-ib01.fedoraproject.org/pub/epel/9/Everything/$arch/Packages/g/gflags-devel-2.2.2-9.el9.$arch.rpm)
extra_repos+=(https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm)
pkgs_dev+=("https://download-ib01.fedoraproject.org/pub/epel/9/Everything/$arch/Packages/g/gflags-devel-2.2.2-9.el9.$arch.rpm")
extra_repos+=("https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm")
fi
else
echo "Internal script error: invalid OS (${os}) after check (package selection)" >&2
@ -291,9 +289,9 @@ fi
# Gather packages and print list
pkgs=()
for comp in ${comp[@]} ; do
var=pkgs_${comp}[@]
pkgs+=(${!var})
for comp in "${comp[@]}" ; do
var="pkgs_${comp}[@]"
pkgs+=("${!var}")
done
if [ ${#pkgs[@]} -eq 0 ]; then
@ -331,7 +329,7 @@ if [ "$os" == "debian9" ] || [ "$os" == "raspbian9" ] || [ "$os" == "ubuntu18.04
[ -n "$dry" ] && iopt="--dry-run"
[ -n "$keepcache" ] && rm -f /etc/apt/apt.conf.d/docker-clean
apt-get update && apt-get install -y --no-install-recommends $iopt ${pkgs[@]}
apt-get update && apt-get install -y --no-install-recommends "$iopt" "${pkgs[@]}"
elif [ "$os" == "centos7" ] || [ "$os" == "centos8" ] ||
[ "$os" == "rhel8" ] || [ "$os" == "rhel9.1" ] ||
@ -342,9 +340,9 @@ elif [ "$os" == "centos7" ] || [ "$os" == "centos8" ] ||
[ -z "$interactive" ] && iopt="--assumeyes"
[ -n "$dry" ] && iopt="--downloadonly"
[ -n "$keepcache" ] && iopt="$iopt --setopt=keepcache=1"
[ ${#extra_repos[@]} -ne 0 ] && yum localinstall $iopt --nogpgcheck ${extra_repos[@]}
[ -n "$extra" ] && [ ${#extra_repos[@]} -ne 0 ] && yum localinstall "$iopt" --nogpgcheck "${extra_repos[@]}"
yum install $iopt ${pkgs[@]}
yum install "$iopt" "${pkgs[@]}"
else
echo "Internal script error: invalid OS (${os}) after check (package installation)" >&2

View File

@ -9,7 +9,6 @@ set -e
ONNX_SHA=d58213534f2a4d1c4b19ba62b3bb5f544353256e
MODELS_DIR="$HOME/.onnx/model_zoo"
ENABLE_MSFT=false
ENABLE_ONNX_MODELS_ZOO=false
ENABLE_MSFT_MODELS=false
FORCE_MODE=false
@ -18,7 +17,7 @@ function print_help {
echo "Model preprocessing options:"
echo " -h display this help message"
echo " -d <DIR> set location of the models (for onnx model ZOO and MSFT models)"
printf " By default the models location is: %s\n" "$HOME/.onnx/model_zoo"
echo " By default the models location is: $HOME/.onnx/model_zoo"
echo " -o update Onnx Model Zoo models"
echo " -s Onnx Model Zoo commit SHA"
echo " -m update MSFT models"
@ -65,32 +64,32 @@ function pull_and_postprocess_onnx_model_zoo() {
git fetch
git reset HEAD --hard
git checkout -f $ONNX_SHA
git checkout -f "$ONNX_SHA"
echo "Pulling models data via Git LFS for onnx model zoo repository"
git lfs pull --include="*" --exclude="*.onnx"
find "$ONNX_MODELS_DIR" -name "*.onnx" | while read filename; do rm "$filename"; done;
find "$ONNX_MODELS_DIR" -name "*.onnx" | while read -r filename; do rm "$filename"; done;
printf "Extracting tar.gz archives into %s\n" "$ONNX_MODELS_DIR"
find "$ONNX_MODELS_DIR" -name '*.tar.gz' \
-execdir sh -c 'BASEDIR=$(basename "{}" .tar.gz) && rm -rf $BASEDIR && mkdir -p $BASEDIR' \; \
-execdir sh -c 'BASEDIR=$(basename "{}" .tar.gz) && tar --warning=no-unknown-keyword -xvzf "{}" -C $BASEDIR' \;
-execdir sh -c 'BASEDIR=$(basename "{$1}" .tar.gz) && rm -rf $BASEDIR && mkdir -p $BASEDIR' shell {} \; \
-execdir sh -c 'BASEDIR=$(basename "{$1}" .tar.gz) && tar --warning=no-unknown-keyword -xvzf "{$1}" -C $BASEDIR' shell {} \;
echo "Postprocessing of ONNX Model Zoo models:"
echo "Fix roberta model"
cd "$ONNX_MODELS_DIR/text/machine_comprehension/roberta/model/roberta-sequence-classification-9/roberta-sequence-classification-9"
mkdir -p test_data_set_0
mv *.pb test_data_set_0/
mv ./*.pb test_data_set_0/
rm -f $MODEL_ZOO_DIR/executing_$ONNX_SHA
rm -f "$MODEL_ZOO_DIR/executing_$ONNX_SHA"
}
function update_onnx_models() {
if test `find $MODEL_ZOO_DIR/executing_$ONNX_SHA -mmin +60 2>/dev/null`;then
rm -rf $ONNX_MODELS_DIR
rm -f $MODEL_ZOO_DIR/executing_$ONNX_SHA
fi
if test "$(find "$MODEL_ZOO_DIR/executing_$ONNX_SHA" -mmin +60 2>/dev/null)" ; then
rm -rf "$ONNX_MODELS_DIR"
rm -f "$MODEL_ZOO_DIR/executing_$ONNX_SHA"
fi
while [[ -f $MODEL_ZOO_DIR/executing_$ONNX_SHA ]];
do
@ -98,16 +97,16 @@ function update_onnx_models() {
sleep 300
done
if [[ ! -d $ONNX_MODELS_DIR ]] ; then
touch $MODEL_ZOO_DIR/executing_$ONNX_SHA
trap "rm -f $MODEL_ZOO_DIR/executing_$ONNX_SHA" EXIT INT TERM
if [[ ! -d "$ONNX_MODELS_DIR" ]] ; then
touch "$MODEL_ZOO_DIR/executing_$ONNX_SHA"
trap 'rm -f "$MODEL_ZOO_DIR/executing_$ONNX_SHA"' EXIT INT TERM
echo "The ONNX Model Zoo repository doesn't exist on your filesystem then will be cloned"
git clone https://github.com/onnx/models.git "$ONNX_MODELS_DIR"
cd "$ONNX_MODELS_DIR"
pull_and_postprocess_onnx_model_zoo
else
# Check if ONNX Model Zoo directory consists of proper git repo
export git_remote_url=`git -C $ONNX_MODELS_DIR config --local remote.origin.url 2> /dev/null 2>&1`
git_remote_url=$(git -C "$ONNX_MODELS_DIR" config --local remote.origin.url 2> /dev/null 2>&1)
printf "ONNX Model Zoo repository exists: %s\n" "$ONNX_MODELS_DIR"
if [[ $git_remote_url = "https://github.com/onnx/models.git" ]]; then
printf "The proper github repository detected: %s\n" "$git_remote_url"
@ -128,8 +127,8 @@ function postprocess_msft_models() {
echo "Postprocessing of MSFT models:"
echo "Fix LSTM_Seq_lens_unpacked"
mv $MSFT_MODELS_DIR/opset9/LSTM_Seq_lens_unpacked/seq_lens_sorted $MSFT_MODELS_DIR/opset9/LSTM_Seq_lens_unpacked/test_data_set_0
mv $MSFT_MODELS_DIR/opset9/LSTM_Seq_lens_unpacked/seq_lens_unsorted $MSFT_MODELS_DIR/opset9/LSTM_Seq_lens_unpacked/test_data_set_1
mv "$MSFT_MODELS_DIR"/opset9/LSTM_Seq_lens_unpacked/seq_lens_sorted "$MSFT_MODELS_DIR"/opset9/LSTM_Seq_lens_unpacked/test_data_set_0
mv "$MSFT_MODELS_DIR"/opset9/LSTM_Seq_lens_unpacked/seq_lens_unsorted "$MSFT_MODELS_DIR"/opset9/LSTM_Seq_lens_unpacked/test_data_set_1
}
if [[ $ENABLE_ONNX_MODELS_ZOO = false ]] && [[ $ENABLE_MSFT_MODELS = false ]] ; then
@ -147,23 +146,23 @@ fi
# check if general model zoo directory exists (directory to store ONNX model zoo and MSFT models)
if [[ ! -d $MODEL_ZOO_DIR ]] ; then
if [[ ! -d "$MODEL_ZOO_DIR" ]] ; then
printf "The general model directory: %s doesn't exist on your filesystem, it will be created \n" "$MODEL_ZOO_DIR"
mkdir -p $MODEL_ZOO_DIR
mkdir -p "$MODEL_ZOO_DIR"
else
printf "The general model directory: %s found\n" "$MODEL_ZOO_DIR"
fi
if [[ $ENABLE_ONNX_MODELS_ZOO = true ]] ; then
if [[ $FORCE_MODE = true ]]; then
rm -rf $ONNX_MODELS_DIR
rm -rf "$ONNX_MODELS_DIR"
fi
update_onnx_models
fi
if [[ $ENABLE_MSFT_MODELS = true ]] ; then
if [[ $FORCE_MODE = true ]]; then
rm -rf $MSFT_MODELS_DIR
rm -rf "$MSFT_MODELS_DIR"
fi
update_msft_models
postprocess_msft_models

View File

@ -9,7 +9,6 @@ set -e
ONNX_SHA=d58213534f2a4d1c4b19ba62b3bb5f544353256e
MODELS_DIR="$HOME/.onnx/model_zoo"
ENABLE_MSFT=false
ENABLE_ONNX_MODELS_ZOO=false
ENABLE_MSFT_MODELS=false
FORCE_MODE=false
@ -18,7 +17,7 @@ function print_help {
echo "Model preprocessing options:"
echo " -h display this help message"
echo " -d <DIR> set location of the models (for onnx model ZOO and MSFT models)"
printf " By default the models location is: %s\n" "$HOME/.onnx/model_zoo"
echo " By default the models location is: $HOME/.onnx/model_zoo"
echo " -o update Onnx Model Zoo models"
echo " -s Onnx Model Zoo commit SHA"
echo " -m update MSFT models"
@ -65,32 +64,32 @@ function pull_and_postprocess_onnx_model_zoo() {
git fetch
git reset HEAD --hard
git checkout -f $ONNX_SHA
git checkout -f "$ONNX_SHA"
echo "Pulling models data via Git LFS for onnx model zoo repository"
git lfs pull --include="*" --exclude="*.onnx"
find "$ONNX_MODELS_DIR" -name "*.onnx" | while read filename; do rm "$filename"; done;
find "$ONNX_MODELS_DIR" -name "*.onnx" | while read -r filename; do rm "$filename"; done;
printf "Extracting tar.gz archives into %s\n" "$ONNX_MODELS_DIR"
find "$ONNX_MODELS_DIR" -name '*.tar.gz' \
-execdir sh -c 'BASEDIR=$(basename "{}" .tar.gz) && rm -rf $BASEDIR && mkdir -p $BASEDIR' \; \
-execdir sh -c 'BASEDIR=$(basename "{}" .tar.gz) && tar --warning=no-unknown-keyword -xvzf "{}" -C $BASEDIR' \;
-execdir sh -c 'BASEDIR=$(basename "{$1}" .tar.gz) && rm -rf $BASEDIR && mkdir -p $BASEDIR' shell {} \; \
-execdir sh -c 'BASEDIR=$(basename "{$1}" .tar.gz) && tar --warning=no-unknown-keyword -xvzf "{$1}" -C $BASEDIR' shell {} \;
echo "Postprocessing of ONNX Model Zoo models:"
echo "Fix roberta model"
cd "$ONNX_MODELS_DIR/text/machine_comprehension/roberta/model/roberta-sequence-classification-9/roberta-sequence-classification-9"
mkdir -p test_data_set_0
mv *.pb test_data_set_0/
mv ./*.pb test_data_set_0/
rm -f $MODEL_ZOO_DIR/executing_$ONNX_SHA
rm -f "$MODEL_ZOO_DIR/executing_$ONNX_SHA"
}
function update_onnx_models() {
if test `find $MODEL_ZOO_DIR/executing_$ONNX_SHA -mmin +60 2>/dev/null`;then
rm -rf $ONNX_MODELS_DIR
rm -f $MODEL_ZOO_DIR/executing_$ONNX_SHA
fi
if test "$(find "$MODEL_ZOO_DIR/executing_$ONNX_SHA" -mmin +60 2>/dev/null)" ; then
rm -rf "$ONNX_MODELS_DIR"
rm -f "$MODEL_ZOO_DIR/executing_$ONNX_SHA"
fi
while [[ -f $MODEL_ZOO_DIR/executing_$ONNX_SHA ]];
do
@ -99,15 +98,15 @@ function update_onnx_models() {
done
if [[ ! -d $ONNX_MODELS_DIR ]] ; then
touch $MODEL_ZOO_DIR/executing_$ONNX_SHA
trap "rm -f $MODEL_ZOO_DIR/executing_$ONNX_SHA" EXIT INT TERM
touch "$MODEL_ZOO_DIR/executing_$ONNX_SHA"
trap 'rm -f "$MODEL_ZOO_DIR/executing_$ONNX_SHA"' EXIT INT TERM
echo "The ONNX Model Zoo repository doesn't exist on your filesystem then will be cloned"
git clone https://github.com/onnx/models.git "$ONNX_MODELS_DIR"
cd "$ONNX_MODELS_DIR"
pull_and_postprocess_onnx_model_zoo
else
# Check if ONNX Model Zoo directory consists of proper git repo
export git_remote_url=`git -C $ONNX_MODELS_DIR config --local remote.origin.url 2> /dev/null 2>&1`
git_remote_url=$(git -C "$ONNX_MODELS_DIR" config --local remote.origin.url 2> /dev/null 2>&1)
printf "ONNX Model Zoo repository exists: %s\n" "$ONNX_MODELS_DIR"
if [[ $git_remote_url = "https://github.com/onnx/models.git" ]]; then
printf "The proper github repository detected: %s\n" "$git_remote_url"
@ -128,8 +127,8 @@ function postprocess_msft_models() {
echo "Postprocessing of MSFT models:"
echo "Fix LSTM_Seq_lens_unpacked"
mv $MSFT_MODELS_DIR/opset9/LSTM_Seq_lens_unpacked/seq_lens_sorted $MSFT_MODELS_DIR/opset9/LSTM_Seq_lens_unpacked/test_data_set_0
mv $MSFT_MODELS_DIR/opset9/LSTM_Seq_lens_unpacked/seq_lens_unsorted $MSFT_MODELS_DIR/opset9/LSTM_Seq_lens_unpacked/test_data_set_1
mv "$MSFT_MODELS_DIR"/opset9/LSTM_Seq_lens_unpacked/seq_lens_sorted "$MSFT_MODELS_DIR"/opset9/LSTM_Seq_lens_unpacked/test_data_set_0
mv "$MSFT_MODELS_DIR"/opset9/LSTM_Seq_lens_unpacked/seq_lens_unsorted "$MSFT_MODELS_DIR"/opset9/LSTM_Seq_lens_unpacked/test_data_set_1
}
if [[ $ENABLE_ONNX_MODELS_ZOO = false ]] && [[ $ENABLE_MSFT_MODELS = false ]] ; then
@ -149,21 +148,21 @@ fi
# check if general model zoo directory exists (directory to store ONNX model zoo and MSFT models)
if [[ ! -d $MODEL_ZOO_DIR ]] ; then
printf "The general model directory: %s doesn't exist on your filesystem, it will be created \n" "$MODEL_ZOO_DIR"
mkdir -p $MODEL_ZOO_DIR
mkdir -p "$MODEL_ZOO_DIR"
else
printf "The general model directory: %s found\n" "$MODEL_ZOO_DIR"
fi
if [[ $ENABLE_ONNX_MODELS_ZOO = true ]] ; then
if [[ $FORCE_MODE = true ]]; then
rm -rf $ONNX_MODELS_DIR
rm -rf "$ONNX_MODELS_DIR"
fi
update_onnx_models
fi
if [[ $ENABLE_MSFT_MODELS = true ]] ; then
if [[ $FORCE_MODE = true ]]; then
rm -rf $MSFT_MODELS_DIR
rm -rf "$MSFT_MODELS_DIR"
fi
update_msft_models
postprocess_msft_models

View File

@ -33,7 +33,7 @@ else
fi
echo "Test directory: ${TEST_DIR}"
cd "${TEST_DIR}"
cd "${TEST_DIR}" || exit
export IE_VPU_MYRIADX=1