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} 38 39packages=( 40 valgrind 41 jq 42 nvme-cli 43 ceph 44 gdb 45 fio 46 libaio-dev 47 librbd-dev 48 linux-headers-generic 49 libgflags-dev 50 autoconf 51 automake 52 libtool 53 libmount-dev 54 open-iscsi 55 libglib2.0-dev 56 libpixman-1-dev 57 astyle 58 elfutils 59 libelf-dev 60 flex 61 bison 62 libswitch-perl 63 gdisk 64 socat 65 openssl 66 sshfs 67 sshpass 68 python3-pandas 69 bc 70 smartmontools 71 wget 72 xfsprogs 73 ibverbs-utils 74 rdmacm-utils 75 ruby-dev 76 llvm 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 != ubuntu ]]; then 97 echo "Located apt-get package manager, but it was tested for Ubuntu only" 98fi 99