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 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} 38 39packages=( 40 valgrind 41 jq 42 nvme-cli 43 ceph 44 gdb 45 fio 46 libaio-dev 47 libgflags-dev 48 autoconf 49 automake 50 libtool 51 libmount-dev 52 open-iscsi 53 libglib2.0-dev 54 libpixman-1-dev 55 astyle 56 elfutils 57 libelf-dev 58 flex 59 bison 60 libswitch-perl 61 gdisk 62 socat 63 openssl 64 sshfs 65 sshpass 66 python3-pandas 67 bc 68 smartmontools 69 wget 70 xfsprogs 71 ibverbs-utils 72 rdmacm-utils 73 ruby-dev 74 llvm 75 avahi-daemon 76 avahi-utils 77) 78 79install_vagrant_dependencies() { 80 local vagrant_packages 81 vagrant_packages=( 82 qemu 83 libvirt-bin 84 ebtables 85 dnsmasq-base 86 libxslt-dev 87 libxml2-dev 88 libvirt-dev 89 zlib1g-dev 90 ruby-dev 91 ) 92 93 install "${vagrant_packages[@]}" 94} 95 96if [[ $OSID == debian ]]; then 97 packages+=("linux-headers-$kernel_ver-*") 98else 99 packages+=(linux-headers-generic) 100fi 101 102export DEBIAN_FRONTEND=noninteractive 103