package_manager=yum upgrade() { sudo "$package_manager" upgrade -y } install() { (($#)) || return 0 sudo "$package_manager" install -y "$@" } packages=( astyle-devel autoconf automake bc bison ceph clang-analyzer elfutils elfutils-libelf-devel fio flex gdb gdisk gflags-devel glib2-devel iptables iscsi-initiator-utils isns-utils-devel jq kernel-devel kernel-modules-extra libabigail libaio-devel libasan libibverbs-utils libmount-devel librdmacm-utils libtool libubsan llvm nvme-cli openssl pciutils perl-open perl-Switch pixman-devel pmempool python3 python3-pandas rpm-build rpmdevtools ruby-devel smartmontools socat sshfs systemd-devel targetcli valgrind wget xfsprogs ) if [[ $OSID != centos && $OSID != rocky ]]; then packages+=(btrfs-progs) packages+=(avahi) packages+=(avahi-tools) elif [[ $OSID == rocky ]]; then # 8 and 9 comes with a kernel which does not support btrfs packages+=(avahi) packages+=(avahi-tools) # from the devel repo elif [[ $OSID == centos ]]; then packages+=(avahi) # 8 comes with a kernel which does not support btrfs. # 8 does not come with any common repos that include avahi-tools. if [[ $OSVERSION == 7* ]]; then packages+=(avahi-tools) packages+=(btrfs-progs) fi fi if [[ $OSID == centos && $OSVERSION == 8* ]]; then packages+=("https://rpmfind.net/linux/centos/8-stream/AppStream/x86_64/os/Packages/sshpass-1.09-4.el8.x86_64.rpm") else packages+=(sshpass) fi if [[ $OSID == fedora ]] && ((OSVERSION == 34)); then packages+=(bpftrace) fi if [[ $OSID == fedora ]] && ((OSVERSION >= 37)); then packages+=(iproute-tc) fi pre_install() { :; }