101 lines
1.9 KiB
Plaintext
101 lines
1.9 KiB
Plaintext
|
package_manager=apt-get
|
||
|
|
||
|
update() {
|
||
|
sudo "$package_manager" update
|
||
|
}
|
||
|
|
||
|
install() {
|
||
|
(( $# )) || return 0
|
||
|
|
||
|
sudo "$package_manager" install -y "$@"
|
||
|
}
|
||
|
|
||
|
upgrade() {
|
||
|
sudo "$package_manager" update
|
||
|
sudo "$package_manager" upgrade -y
|
||
|
}
|
||
|
|
||
|
|
||
|
pre_install() {
|
||
|
echo "Package perl-open is not available at Ubuntu repositories" >&2
|
||
|
|
||
|
update
|
||
|
|
||
|
if [[ $INSTALL_TSOCKS == true ]]; then
|
||
|
install tsocks
|
||
|
fi
|
||
|
|
||
|
# asan an ubsan have to be installed together to not mix up gcc versions
|
||
|
if install libasan5; then
|
||
|
install libubsan1
|
||
|
else
|
||
|
echo "Latest libasan5 is not available" >&2
|
||
|
echo " installing libasan2 and corresponding libubsan0" >&2
|
||
|
install libasan2
|
||
|
install libubsan0
|
||
|
fi
|
||
|
if ! install rdma-core; then
|
||
|
echo "Package rdma-core is avaliable at Ubuntu 18 [universe] repositorium" >&2
|
||
|
install rdmacm-utils
|
||
|
install ibverbs-utils
|
||
|
else
|
||
|
LIBRXE_INSTALL=false
|
||
|
fi
|
||
|
if ! install libpmempool1; then
|
||
|
echo "Package libpmempool1 is available at Ubuntu 18 [universe] repositorium" >&2
|
||
|
fi
|
||
|
if ! install clang-tools; then
|
||
|
echo "Package clang-tools is available at Ubuntu 18 [universe] repositorium" >&2
|
||
|
fi
|
||
|
if ! install --no-install-suggests --no-install-recommends open-isns-utils; then
|
||
|
echo "Package open-isns-utils is available at Ubuntu 18 [universe] repositorium" >&2
|
||
|
fi
|
||
|
|
||
|
# Package name for Ubuntu 18 is targetcli-fb but for Ubuntu 16 it's targetcli
|
||
|
if ! install targetcli-fb; then
|
||
|
install targetcli
|
||
|
fi
|
||
|
|
||
|
# On Ubuntu 20.04 (focal) btrfs-tools are available under different name - btrfs-progs
|
||
|
if ! install btrfs-tools; then
|
||
|
install btrfs-progs
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
packages=(
|
||
|
valgrind
|
||
|
jq
|
||
|
nvme-cli
|
||
|
ceph
|
||
|
gdb
|
||
|
fio
|
||
|
librbd-dev
|
||
|
linux-headers-generic
|
||
|
libgflags-dev
|
||
|
autoconf
|
||
|
automake
|
||
|
libtool
|
||
|
libmount-dev
|
||
|
open-iscsi
|
||
|
libglib2.0-dev
|
||
|
libpixman-1-dev
|
||
|
astyle
|
||
|
elfutils
|
||
|
libelf-dev
|
||
|
flex
|
||
|
bison
|
||
|
libswitch-perl
|
||
|
gdisk
|
||
|
socat
|
||
|
sshfs
|
||
|
sshpass
|
||
|
python3-pandas
|
||
|
bc
|
||
|
smartmontools
|
||
|
wget
|
||
|
)
|
||
|
|
||
|
if [[ $OSID != ubuntu ]]; then
|
||
|
echo "Located apt-get package manager, but it was tested for Ubuntu only"
|
||
|
fi
|