scripts/pkgdep: Move distro independent parts to a common place
This will avoid adding similar components into multiple scripts instead of just one. Change-Id: I83cff1ad883f3a7054d0f21ec20210c81cb6b9c1 Signed-off-by: Michal Berger <michalx.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3525 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
parent
301b47e446
commit
20708f3531
@ -30,70 +30,6 @@ function install_all_dependencies() {
|
||||
INSTALL_LIBURING=true
|
||||
}
|
||||
|
||||
function install_liburing() {
|
||||
local GIT_REPO_LIBURING=https://github.com/axboe/liburing.git
|
||||
local liburing_dir=/usr/local/src/liburing
|
||||
|
||||
if [[ -e /usr/lib64/liburing.so ]]; then
|
||||
echo "liburing is already installed. skipping"
|
||||
else
|
||||
if [[ -d $liburing_dir ]]; then
|
||||
echo "liburing source already present, not cloning"
|
||||
else
|
||||
mkdir $liburing_dir
|
||||
git clone "${GIT_REPO_LIBURING}" "$liburing_dir"
|
||||
fi
|
||||
(cd "$liburing_dir" && ./configure --libdir=/usr/lib64 && make install)
|
||||
fi
|
||||
}
|
||||
|
||||
function install_shfmt() {
|
||||
# Fetch version that has been tested
|
||||
local shfmt_version=3.1.0
|
||||
local shfmt=shfmt-$shfmt_version
|
||||
local shfmt_dir=${SHFMT_DIR:-/opt/shfmt}
|
||||
local shfmt_dir_out=${SHFMT_DIR_OUT:-/usr/bin}
|
||||
local shfmt_url
|
||||
local os
|
||||
|
||||
if hash "$shfmt" && [[ $("$shfmt" --version) == "v$shfmt_version" ]]; then
|
||||
echo "$shfmt already installed"
|
||||
return 0
|
||||
fi 2> /dev/null
|
||||
|
||||
os=$(uname -s)
|
||||
|
||||
case "$os" in
|
||||
Linux) shfmt_url=https://github.com/mvdan/sh/releases/download/v$shfmt_version/shfmt_v${shfmt_version}_linux_amd64 ;;
|
||||
FreeBSD) shfmt_url=https://github.com/mvdan/sh/releases/download/v$shfmt_version/shfmt_v${shfmt_version}_freebsd_amd64 ;;
|
||||
*)
|
||||
echo "Not supported OS (${os:-Unknown}), skipping"
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
mkdir -p "$shfmt_dir"
|
||||
mkdir -p "$shfmt_dir_out"
|
||||
|
||||
echo "Fetching ${shfmt_url##*/}"...
|
||||
local err
|
||||
if err=$(curl -f -Lo"$shfmt_dir/$shfmt" "$shfmt_url" 2>&1); then
|
||||
chmod +x "$shfmt_dir/$shfmt"
|
||||
ln -sf "$shfmt_dir/$shfmt" "$shfmt_dir_out"
|
||||
else
|
||||
cat <<- CURL_ERR
|
||||
|
||||
* Fetching $shfmt_url failed, $shfmt will not be available for format check.
|
||||
* Error:
|
||||
|
||||
$err
|
||||
|
||||
CURL_ERR
|
||||
return 0
|
||||
fi
|
||||
echo "$shfmt installed"
|
||||
}
|
||||
|
||||
INSTALL_CRYPTO=false
|
||||
INSTALL_DEV_TOOLS=false
|
||||
INSTALL_PMEM=false
|
||||
@ -155,6 +91,7 @@ fi
|
||||
|
||||
if [[ -e $scriptsdir/pkgdep/$ID.sh ]]; then
|
||||
source "$scriptsdir/pkgdep/$ID.sh"
|
||||
source "$scriptsdir/pkgdep/common.sh"
|
||||
else
|
||||
printf 'Not supported platform detected (%s), aborting\n' "$ID" >&2
|
||||
fi
|
||||
|
@ -32,7 +32,6 @@ if [[ $INSTALL_DEV_TOOLS == "true" ]]; then
|
||||
makepkg -si --needed --noconfirm;
|
||||
cd .. && rm -rf lcov-git;
|
||||
popd"
|
||||
install_shfmt
|
||||
fi
|
||||
if [[ $INSTALL_PMEM == "true" ]]; then
|
||||
# Additional dependencies for building pmem based backends
|
||||
@ -72,6 +71,3 @@ if [[ $INSTALL_DOCS == "true" ]]; then
|
||||
cd .. && rm -rf mscgen;
|
||||
popd"
|
||||
fi
|
||||
if [[ $INSTALL_LIBURING == "true" ]]; then
|
||||
install_liburing
|
||||
fi
|
||||
|
@ -13,7 +13,6 @@ pip3 install pexpect
|
||||
pip3 install configshell_fb
|
||||
if [[ $INSTALL_DEV_TOOLS == "true" ]]; then
|
||||
swupd bundle-add -y git os-testsuite-0day
|
||||
install_shfmt
|
||||
fi
|
||||
if [[ $INSTALL_PMEM == "true" ]]; then
|
||||
# Additional dependencies for building pmem based backends
|
||||
|
73
scripts/pkgdep/common.sh
Executable file
73
scripts/pkgdep/common.sh
Executable file
@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
install_liburing() {
|
||||
local GIT_REPO_LIBURING=https://github.com/axboe/liburing.git
|
||||
local liburing_dir=/usr/local/src/liburing
|
||||
|
||||
if [[ -e /usr/lib64/liburing.so ]]; then
|
||||
echo "liburing is already installed. skipping"
|
||||
else
|
||||
if [[ -d $liburing_dir ]]; then
|
||||
echo "liburing source already present, not cloning"
|
||||
else
|
||||
mkdir $liburing_dir
|
||||
git clone "${GIT_REPO_LIBURING}" "$liburing_dir"
|
||||
fi
|
||||
(cd "$liburing_dir" && ./configure --libdir=/usr/lib64 && make install)
|
||||
fi
|
||||
}
|
||||
|
||||
install_shfmt() {
|
||||
# Fetch version that has been tested
|
||||
local shfmt_version=3.1.0
|
||||
local shfmt=shfmt-$shfmt_version
|
||||
local shfmt_dir=${SHFMT_DIR:-/opt/shfmt}
|
||||
local shfmt_dir_out=${SHFMT_DIR_OUT:-/usr/bin}
|
||||
local shfmt_url
|
||||
local os
|
||||
|
||||
if hash "$shfmt" && [[ $("$shfmt" --version) == "v$shfmt_version" ]]; then
|
||||
echo "$shfmt already installed"
|
||||
return 0
|
||||
fi 2> /dev/null
|
||||
|
||||
os=$(uname -s)
|
||||
|
||||
case "$os" in
|
||||
Linux) shfmt_url=https://github.com/mvdan/sh/releases/download/v$shfmt_version/shfmt_v${shfmt_version}_linux_amd64 ;;
|
||||
FreeBSD) shfmt_url=https://github.com/mvdan/sh/releases/download/v$shfmt_version/shfmt_v${shfmt_version}_freebsd_amd64 ;;
|
||||
*)
|
||||
echo "Not supported OS (${os:-Unknown}), skipping"
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
mkdir -p "$shfmt_dir"
|
||||
mkdir -p "$shfmt_dir_out"
|
||||
|
||||
echo "Fetching ${shfmt_url##*/}"...
|
||||
local err
|
||||
if err=$(curl -f -Lo"$shfmt_dir/$shfmt" "$shfmt_url" 2>&1); then
|
||||
chmod +x "$shfmt_dir/$shfmt"
|
||||
ln -sf "$shfmt_dir/$shfmt" "$shfmt_dir_out"
|
||||
else
|
||||
cat <<- CURL_ERR
|
||||
|
||||
* Fetching $shfmt_url failed, $shfmt will not be available for format check.
|
||||
* Error:
|
||||
|
||||
$err
|
||||
|
||||
CURL_ERR
|
||||
return 0
|
||||
fi
|
||||
echo "$shfmt installed"
|
||||
}
|
||||
|
||||
if [[ $INSTALL_DEV_TOOLS == true ]]; then
|
||||
install_shfmt
|
||||
fi
|
||||
|
||||
if [[ $INSTALL_LIBURING == true ]]; then
|
||||
install_liburing
|
||||
fi
|
@ -28,7 +28,6 @@ if [[ $INSTALL_DEV_TOOLS == "true" ]]; then
|
||||
apt-get install -y pycodestyle || true
|
||||
# Additional dependecies for nvmf performance test script
|
||||
apt-get install -y python3-paramiko
|
||||
install_shfmt
|
||||
fi
|
||||
if [[ $INSTALL_PMEM == "true" ]]; then
|
||||
# Additional dependencies for building pmem based backends
|
||||
@ -53,6 +52,3 @@ if [[ $INSTALL_DOCS == "true" ]]; then
|
||||
# Additional dependencies for building docs
|
||||
apt-get install -y doxygen mscgen graphviz
|
||||
fi
|
||||
if [[ $INSTALL_LIBURING == "true" ]]; then
|
||||
install_liburing
|
||||
fi
|
||||
|
@ -49,7 +49,6 @@ if [[ $INSTALL_DEV_TOOLS == "true" ]]; then
|
||||
yum install -y python-pycodestyle lcov ShellCheck
|
||||
fi
|
||||
yum install -y git astyle sg3_utils pciutils
|
||||
install_shfmt
|
||||
fi
|
||||
if [[ $INSTALL_PMEM == "true" ]]; then
|
||||
# Additional dependencies for building pmem based backends
|
||||
@ -68,6 +67,3 @@ if [[ $INSTALL_DOCS == "true" ]]; then
|
||||
yum install -y mscgen || echo "Warning: couldn't install mscgen via yum. Please install mscgen manually."
|
||||
yum install -y doxygen graphviz
|
||||
fi
|
||||
if [[ $INSTALL_LIBURING == "true" ]]; then
|
||||
install_liburing
|
||||
fi
|
||||
|
@ -11,7 +11,6 @@ if [[ $INSTALL_DEV_TOOLS == "true" ]]; then
|
||||
# Tools for developers
|
||||
zypper install -y git-core lcov python-pycodestyle sg3_utils \
|
||||
pciutils ShellCheck
|
||||
install_shfmt
|
||||
fi
|
||||
if [[ $INSTALL_PMEM == "true" ]]; then
|
||||
# Additional dependencies for building pmem based backends
|
||||
@ -29,6 +28,3 @@ if [[ $INSTALL_DOCS == "true" ]]; then
|
||||
# Additional dependencies for building docs
|
||||
zypper install -y doxygen mscgen graphviz
|
||||
fi
|
||||
if [[ $INSTALL_LIBURING == "true" ]]; then
|
||||
install_liburing
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user