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 sshfs 66 sshpass 67 python3-pandas 68 bc 69 smartmontools 70 wget 71 xfsprogs 72 ibverbs-utils 73 rdmacm-utils 74 ruby-dev 75 llvm 76) 77 78install_vagrant_dependencies() { 79 local vagrant_packages 80 vagrant_packages=( 81 qemu 82 libvirt-bin 83 ebtables 84 dnsmasq-base 85 libxslt-dev 86 libxml2-dev 87 libvirt-dev 88 zlib1g-dev 89 ruby-dev 90 ) 91 92 install "${vagrant_packages[@]}" 93} 94 95if [[ $OSID != ubuntu ]]; then 96 echo "Located apt-get package manager, but it was tested for Ubuntu only" 97fi 98