1package_manager=apt-get 2 3update() { 4 sudo "$package_manager" update 5} 6 7install() { 8 (( $# )) || return 0 9 10 sudo "$package_manager" install -y "$@" 11} 12 13upgrade() { 14 sudo "$package_manager" update 15 sudo "$package_manager" upgrade -y 16} 17 18 19pre_install() { 20 echo "Package perl-open is not available at Ubuntu repositories" >&2 21 22 update 23 24 if [[ $INSTALL_TSOCKS == true ]]; then 25 install tsocks 26 fi 27 28 # asan an ubsan have to be installed together to not mix up gcc versions 29 if install libasan5; then 30 install libubsan1 31 else 32 echo "Latest libasan5 is not available" >&2 33 echo " installing libasan2 and corresponding libubsan0" >&2 34 install libasan2 35 install libubsan0 36 fi 37 if ! install rdma-core; then 38 echo "Package rdma-core is avaliable at Ubuntu 18 [universe] repositorium" >&2 39 install rdmacm-utils 40 install ibverbs-utils 41 else 42 LIBRXE_INSTALL=false 43 fi 44 if ! install libpmempool1; then 45 echo "Package libpmempool1 is available at Ubuntu 18 [universe] repositorium" >&2 46 fi 47 if ! install clang-tools; then 48 echo "Package clang-tools is available at Ubuntu 18 [universe] repositorium" >&2 49 fi 50 if ! install --no-install-suggests --no-install-recommends open-isns-utils; then 51 echo "Package open-isns-utils is available at Ubuntu 18 [universe] repositorium" >&2 52 fi 53 54 # Package name for Ubuntu 18 is targetcli-fb but for Ubuntu 16 it's targetcli 55 if ! install targetcli-fb; then 56 install targetcli 57 fi 58 59 # On Ubuntu 20.04 (focal) btrfs-tools are available under different name - btrfs-progs 60 if ! install btrfs-tools; then 61 install btrfs-progs 62 fi 63} 64 65packages=( 66 valgrind 67 jq 68 nvme-cli 69 ceph 70 gdb 71 fio 72 librbd-dev 73 linux-headers-generic 74 libgflags-dev 75 autoconf 76 automake 77 libtool 78 libmount-dev 79 open-iscsi 80 libglib2.0-dev 81 libpixman-1-dev 82 astyle 83 elfutils 84 libelf-dev 85 flex 86 bison 87 libswitch-perl 88 gdisk 89 socat 90 sshfs 91 sshpass 92 python3-pandas 93 bc 94 smartmontools 95 wget 96) 97 98if [[ $OSID != ubuntu ]]; then 99 echo "Located apt-get package manager, but it was tested for Ubuntu only" 100fi 101