package_manager=dnf

upgrade() {
	sudo "$package_manager" upgrade -y
}

install() {
	(($#)) || return 0

	sudo "$package_manager" install -y "$@"
}

packages=(
	valgrind
	jq
	nvme-cli
	ceph
	gdb
	fio
	libaio-devel
	kernel-devel
	gflags-devel
	libasan
	libubsan
	autoconf
	automake
	libtool
	libmount-devel
	iscsi-initiator-utils
	isns-utils-devel
	pmempool
	perl-open
	glib2-devel
	pixman-devel
	astyle-devel
	elfutils
	libabigail
	elfutils-libelf-devel
	flex
	bison
	targetcli
	perl-Switch
	librdmacm-utils
	libibverbs-utils
	gdisk
	socat
	openssl
	sshfs
	python3-pandas
	rpm-build
	iptables
	clang-analyzer
	bc
	kernel-modules-extra
	systemd-devel
	smartmontools
	wget
	xfsprogs
	rpmdevtools
	ruby-devel
	llvm
)

if [[ $OSID != centos && $OSID != rocky ]] || [[ $OSVERSION != 8* ]]; then
	packages+=(btrfs-progs)
	packages+=(avahi)
	packages+=(avahi-tools)
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() { :; }

if [[ $OSID != fedora ]]; then
	echo "Located dnf package manager, but it was tested for Fedora only"
fi
