scripts/vm_setup: add Arch Linux test dependencies install
Dependencies install with -i option works OK. Additional dependencies with -t option: - rocksdb - OK - librxe - OK - iscsi - OK - ocf - OK - flamegraph - OK - tsocks - OK - nvmecli - OK - fio - compilation errors on version 3.3 OK if updated to 3.15 - qemu - OK, but need to disable some error warnings: -Wno-error=stringop-truncation -Wno-error=deprecated-declarations -Wno-error=incompatible-pointer-types -Wno-error=format-truncation - qat - not run - vpp - not run - libiscsi - compilation errors Change-Id: Ifde26c1f1d35c8fe06e18ddba33fe2d054b6d2cf Signed-off-by: Karol Latecki <karol.latecki@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/466948 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Seth Howell <seth.howell@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
579d44b0ee
commit
03578a3d25
@ -150,6 +150,14 @@ function install_fio()
|
|||||||
if echo $CONF | grep -q fio; then
|
if echo $CONF | grep -q fio; then
|
||||||
# This version of fio is installed in /usr/src/fio to enable
|
# This version of fio is installed in /usr/src/fio to enable
|
||||||
# building the spdk fio plugin.
|
# building the spdk fio plugin.
|
||||||
|
local fio_version="fio-3.3"
|
||||||
|
|
||||||
|
# Change version on Arch Linux, 3.3 does not compile
|
||||||
|
# with gcc 9
|
||||||
|
if [ $PACKAGEMNG == 'pacman' ]; then
|
||||||
|
fio_version="fio-3.15"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ ! -d /usr/src/fio ]; then
|
if [ ! -d /usr/src/fio ]; then
|
||||||
if [ ! -d fio ]; then
|
if [ ! -d fio ]; then
|
||||||
git clone "${GIT_REPO_FIO}"
|
git clone "${GIT_REPO_FIO}"
|
||||||
@ -160,7 +168,7 @@ function install_fio()
|
|||||||
(
|
(
|
||||||
git -C /usr/src/fio checkout master &&
|
git -C /usr/src/fio checkout master &&
|
||||||
git -C /usr/src/fio pull &&
|
git -C /usr/src/fio pull &&
|
||||||
git -C /usr/src/fio checkout fio-3.3 &&
|
git -C /usr/src/fio checkout $fio_version &&
|
||||||
make -C /usr/src/fio -j${jobs} &&
|
make -C /usr/src/fio -j${jobs} &&
|
||||||
sudo make -C /usr/src/fio install
|
sudo make -C /usr/src/fio install
|
||||||
)
|
)
|
||||||
@ -196,6 +204,8 @@ function install_qemu()
|
|||||||
sudo dnf install -y qemu-system-x86 qemu-img
|
sudo dnf install -y qemu-system-x86 qemu-img
|
||||||
elif [ "$PACKAGEMNG" = "apt-get" ]; then
|
elif [ "$PACKAGEMNG" = "apt-get" ]; then
|
||||||
sudo apt-get install -y qemu-system-x86 qemu-img
|
sudo apt-get install -y qemu-system-x86 qemu-img
|
||||||
|
elif [ "$PACKAGEMNG" = "pacman" ]; then
|
||||||
|
sudo pacman -Sy --needed --noconfirm qemu
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Forked QEMU
|
# Forked QEMU
|
||||||
@ -208,6 +218,11 @@ function install_qemu()
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
declare -a opt_params=("--prefix=/usr/local/qemu/$SPDK_QEMU_BRANCH")
|
declare -a opt_params=("--prefix=/usr/local/qemu/$SPDK_QEMU_BRANCH")
|
||||||
|
if [ "$PACKAGEMNG" = "pacman" ]; then
|
||||||
|
# GCC 9 on ArchLinux fails to compile Qemu due to some old warnings which were not detected by older versions.
|
||||||
|
opt_params+=("--extra-cflags='-Wno-error=stringop-truncation -Wno-error=deprecated-declarations -Wno-error=incompatible-pointer-types -Wno-error=format-truncation'")
|
||||||
|
opt_params+=("--disable-glusterfs")
|
||||||
|
fi
|
||||||
|
|
||||||
# Most tsocks proxies rely on a configuration file in /etc/tsocks.conf.
|
# Most tsocks proxies rely on a configuration file in /etc/tsocks.conf.
|
||||||
# If using tsocks, please make sure to complete this config before trying to build qemu.
|
# If using tsocks, please make sure to complete this config before trying to build qemu.
|
||||||
@ -319,6 +334,8 @@ if hash dnf &>/dev/null; then
|
|||||||
PACKAGEMNG=dnf
|
PACKAGEMNG=dnf
|
||||||
elif hash apt-get &>/dev/null; then
|
elif hash apt-get &>/dev/null; then
|
||||||
PACKAGEMNG=apt-get
|
PACKAGEMNG=apt-get
|
||||||
|
elif hash pacman &>/dev/null; then
|
||||||
|
PACKAGEMNG=pacman
|
||||||
else
|
else
|
||||||
echo 'Supported package manager not found. Script supports "dnf" and "apt-get".'
|
echo 'Supported package manager not found. Script supports "dnf" and "apt-get".'
|
||||||
fi
|
fi
|
||||||
@ -383,14 +400,22 @@ cd ~
|
|||||||
jobs=$(($(nproc)*2))
|
jobs=$(($(nproc)*2))
|
||||||
|
|
||||||
if $UPGRADE; then
|
if $UPGRADE; then
|
||||||
if [ $PACKAGEMNG == 'apt-get' ]; then
|
if [ $PACKAGEMNG == 'dnf' ]; then
|
||||||
|
sudo $PACKAGEMNG upgrade -y
|
||||||
|
elif [ $PACKAGEMNG == 'apt-get' ]; then
|
||||||
sudo $PACKAGEMNG update
|
sudo $PACKAGEMNG update
|
||||||
|
sudo $PACKAGEMNG upgrade -y
|
||||||
|
elif [ $PACKAGEMNG == 'pacman' ]; then
|
||||||
|
sudo $PACKAGEMNG -Syu --noconfirm --needed
|
||||||
fi
|
fi
|
||||||
sudo $PACKAGEMNG upgrade -y
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if $INSTALL; then
|
if $INSTALL; then
|
||||||
sudo $PACKAGEMNG install -y git
|
if [ $PACKAGEMNG == 'pacman' ]; then
|
||||||
|
sudo $PACKAGEMNG -Sy --needed --noconfirm git
|
||||||
|
else
|
||||||
|
sudo $PACKAGEMNG install -y git
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p spdk_repo/output
|
mkdir -p spdk_repo/output
|
||||||
@ -526,6 +551,52 @@ if $INSTALL; then
|
|||||||
# rpm-build is not used
|
# rpm-build is not used
|
||||||
# iptables installed by default
|
# iptables installed by default
|
||||||
|
|
||||||
|
elif [ $PACKAGEMNG == 'pacman' ]; then
|
||||||
|
if echo $CONF | grep -q tsocks; then
|
||||||
|
sudo pacman -Sy --noconfirm --needed tsocks
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo pacman -Sy --noconfirm --needed valgrind \
|
||||||
|
jq \
|
||||||
|
nvme-cli \
|
||||||
|
ceph \
|
||||||
|
gdb \
|
||||||
|
fio \
|
||||||
|
linux-headers \
|
||||||
|
gflags \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
libtool \
|
||||||
|
libutil-linux \
|
||||||
|
libiscsi \
|
||||||
|
open-isns \
|
||||||
|
glib2 \
|
||||||
|
pixman \
|
||||||
|
flex \
|
||||||
|
bison \
|
||||||
|
elfutils \
|
||||||
|
libelf \
|
||||||
|
astyle \
|
||||||
|
gptfdisk \
|
||||||
|
socat \
|
||||||
|
sshfs \
|
||||||
|
sshpass \
|
||||||
|
python-pandas \
|
||||||
|
btrfs-progs \
|
||||||
|
iptables \
|
||||||
|
clang \
|
||||||
|
bc \
|
||||||
|
perl-switch \
|
||||||
|
open-iscsi
|
||||||
|
|
||||||
|
# TODO:
|
||||||
|
# These are either missing or require some other installation method
|
||||||
|
# than pacman:
|
||||||
|
|
||||||
|
# librbd-devel
|
||||||
|
# perl-open
|
||||||
|
# targetcli
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "Package manager is undefined, skipping INSTALL step"
|
echo "Package manager is undefined, skipping INSTALL step"
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user