11780a098SMichal Bergerpackage_manager=yum 21780a098SMichal Berger 31780a098SMichal Bergerupgrade() { 41780a098SMichal Berger sudo "$package_manager" upgrade -y 51780a098SMichal Berger} 61780a098SMichal Berger 71780a098SMichal Bergerinstall() { 81780a098SMichal Berger (($#)) || return 0 91780a098SMichal Berger 101780a098SMichal Berger sudo "$package_manager" install -y "$@" 111780a098SMichal Berger} 121780a098SMichal Berger 131780a098SMichal Bergerpackages=( 1453c5691fSMichal Berger astyle-devel 151780a098SMichal Berger autoconf 161780a098SMichal Berger automake 1753c5691fSMichal Berger bc 1853c5691fSMichal Berger bison 1953c5691fSMichal Berger ceph 2053c5691fSMichal Berger clang-analyzer 211780a098SMichal Berger elfutils 221780a098SMichal Berger elfutils-libelf-devel 23*8cd576feSMichal Berger ethtool 2453c5691fSMichal Berger fio 251780a098SMichal Berger flex 2653c5691fSMichal Berger gdb 271780a098SMichal Berger gdisk 2853c5691fSMichal Berger gflags-devel 2953c5691fSMichal Berger glib2-devel 3053c5691fSMichal Berger iptables 3153c5691fSMichal Berger iscsi-initiator-utils 3253c5691fSMichal Berger jq 3353c5691fSMichal Berger kernel-devel 3453c5691fSMichal Berger kernel-modules-extra 3553c5691fSMichal Berger libabigail 3653c5691fSMichal Berger libaio-devel 3753c5691fSMichal Berger libasan 3853c5691fSMichal Berger libibverbs-utils 3953c5691fSMichal Berger libmount-devel 4053c5691fSMichal Berger librdmacm-utils 4153c5691fSMichal Berger libtool 4253c5691fSMichal Berger libubsan 4353c5691fSMichal Berger llvm 4453c5691fSMichal Berger nvme-cli 456a9eab7bSBoris Glimcher openssl 4653c5691fSMichal Berger pciutils 4753c5691fSMichal Berger perl-open 4853c5691fSMichal Berger perl-Switch 4953c5691fSMichal Berger pixman-devel 5053c5691fSMichal Berger pmempool 5153c5691fSMichal Berger python3 521780a098SMichal Berger rpm-build 53bfe83fd3SMichal Berger rpmdevtools 5424bfe0ddSwawryk ruby-devel 5553c5691fSMichal Berger smartmontools 5653c5691fSMichal Berger socat 5753c5691fSMichal Berger sshfs 5853c5691fSMichal Berger systemd-devel 5953c5691fSMichal Berger targetcli 6053c5691fSMichal Berger valgrind 6153c5691fSMichal Berger wget 6253c5691fSMichal Berger xfsprogs 631780a098SMichal Berger) 641780a098SMichal Berger 653a0fa0fbSMichal Bergerif [[ $OSID != centos && $OSID != rocky && $OSID != rhel ]]; then 6653c5691fSMichal Berger packages+=(btrfs-progs) 6753c5691fSMichal Berger packages+=(avahi) 6853c5691fSMichal Berger packages+=(avahi-tools) 69aadd13f4SMichal Bergerelif [[ $OSID == rocky ]]; then 70aadd13f4SMichal Berger # 8 and 9 comes with a kernel which does not support btrfs 71aadd13f4SMichal Berger packages+=(avahi) 72aadd13f4SMichal Berger packages+=(avahi-tools) # from the devel repo 73aadd13f4SMichal Bergerelif [[ $OSID == centos ]]; then 74aadd13f4SMichal Berger packages+=(avahi) 75aadd13f4SMichal Berger # 8 comes with a kernel which does not support btrfs. 76aadd13f4SMichal Berger # 8 does not come with any common repos that include avahi-tools. 77aadd13f4SMichal Berger if [[ $OSVERSION == 7* ]]; then 78aadd13f4SMichal Berger packages+=(avahi-tools) 79aadd13f4SMichal Berger packages+=(btrfs-progs) 80aadd13f4SMichal Berger fi 813a0fa0fbSMichal Bergerelif [[ $OSID == rhel ]]; then 823a0fa0fbSMichal Berger packages+=(avahi) 833a0fa0fbSMichal Berger if [[ $OSVERSION == 9* ]]; then 843a0fa0fbSMichal Berger packages+=("https://dl.rockylinux.org/pub/rocky/9/devel/x86_64/os/Packages/i/isns-utils-devel-0.101-4.el9.x86_64.rpm") 853a0fa0fbSMichal Berger elif [[ $OSVERSION == 8* ]]; then 863a0fa0fbSMichal Berger packages+=("https://dl.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os/Packages/isns-utils-devel-0.99-1.el8.x86_64.rpm") 873a0fa0fbSMichal Berger fi 883a0fa0fbSMichal Berger # FIXME: This does not fit here, but there's no sane alternative. Using RPMs from other sources will fail to meet 893a0fa0fbSMichal Berger # dependencies anyway. 903a0fa0fbSMichal Berger pip3 install pandas 913a0fa0fbSMichal Bergerfi 923a0fa0fbSMichal Berger 933a0fa0fbSMichal Bergerif [[ $OSID != rhel ]]; then 943a0fa0fbSMichal Berger packages+=(isns-utils-devel) 953a0fa0fbSMichal Berger packages+=(python3-pandas) 9653c5691fSMichal Bergerfi 9753c5691fSMichal Berger 9853c5691fSMichal Bergerif [[ $OSID == centos && $OSVERSION == 8* ]]; then 9953c5691fSMichal Berger packages+=("https://rpmfind.net/linux/centos/8-stream/AppStream/x86_64/os/Packages/sshpass-1.09-4.el8.x86_64.rpm") 10053c5691fSMichal Bergerelse 10153c5691fSMichal Berger packages+=(sshpass) 10253c5691fSMichal Bergerfi 10353c5691fSMichal Berger 10453c5691fSMichal Bergerif [[ $OSID == fedora ]] && ((OSVERSION == 34)); then 10553c5691fSMichal Berger packages+=(bpftrace) 10653c5691fSMichal Bergerfi 10753c5691fSMichal Berger 10853c5691fSMichal Bergerif [[ $OSID == fedora ]] && ((OSVERSION >= 37)); then 10953c5691fSMichal Berger packages+=(iproute-tc) 11053c5691fSMichal Bergerfi 11153c5691fSMichal Berger 1123fdfea7bSMichal Bergerpre_install() { :; } 113