#!/usr/bin/bash
usage()
{
	cat <<EOF
Usage: $0 [options]

Options:
    -s       Show package name and version number.
    -n       Show numerical version number only.
    -l       List installed packages details (Default option).
EOF
}

deprc_msg() {
	case "26.07-0.7.7" in 26.07* | 26.10*) :;; *) return;; esac
	echo >&2 'Note: ofed_info is deprecated and will be removed in future versions'
}

if [ "X$1" == "X-s" ]; then echo OFED-internal-26.07-0.7.7:; deprc_msg; exit 0; fi
if [ "X$1" == "X-n" ]; then echo 26.07-0.7.7; deprc_msg; exit 0; fi
if [ "X$1" != "X-l" ] && [ "X$1" != "X" ]; then usage; deprc_msg; exit 1; fi

cat << EOF
OFED-internal-26.07-0.7.7:

dpcp:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/d/dpcp-1.1.65-1.src.rpm
ibarr:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/i/ibarr-2607.0.0-1.src.rpm
ibdump:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/i/ibdump-6.0.0-4.37.0.1.101.g1ed852f.src.rpm
ibsim:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/i/ibsim-0.12.1-5.src.rpm
ibutils2:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/i/ibutils2-2.1.1-0.22700.MLNX202607221814.gd8ddfe9f2.src.rpm
iser:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/i/iser-2607.0.100-1.src.rpm
isert:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/i/isert-2607.0.100-1.src.rpm
kernel-mft:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/k/kernel-mft-4.37.0-154.src.rpm
libvma:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/l/libvma-9.8.84-1.src.rpm
libxlio:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/l/libxlio-3.71.1-1.src.rpm
mlnx-ethtool:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/m/mlnx-ethtool-2607.0.2-1.src.rpm
mlnx-iproute2:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/m/mlnx-iproute2-2607.0.3-1.src.rpm
mlnx-nfsrdma:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/m/mlnx-nfsrdma-2607.0.100-1.src.rpm
mlnx-nvme:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/m/mlnx-nvme-2607.0.100-1.src.rpm
mlnx-ofa_kernel:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/m/mlnx-ofa_kernel-2607.0.100-1.src.rpm
mlnx-tools:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/m/mlnx-tools-2607.0.6-1.src.rpm
mlx-steering-dump:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/m/mlx-steering-dump-2604.0.2-1.src.rpm
multiperf:
https://git-nbu.nvidia.com/r/a/Performance/multiperf rdma-core-support
commit d3fad92dc6984e43cc5377ba0a3126808432ce2d

openmpi:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/o/openmpi-5.0.10rc2.2608140153-1.3c5e09e178.src.rpm
opensm:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/o/opensm-5.28.1-202607221814.3ae6a892.src.rpm
openvswitch:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/o/openvswitch-3.5.0052-1.src.rpm
perftest:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/p/perftest-26.07.7-1.src.rpm
rdma-core:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/r/rdma-core-2607.0.8-1.src.rpm
rshim:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/r/rshim-2.8.5-1.src.rpm
sockperf:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/s/sockperf-3.10-1.src.rpm
srp:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/s/srp-2607.0.100-1.src.rpm
ucx:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/u/ucx-1.22.0.2608140153-1.8a6b06fb8.src.rpm
virtiofs:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/v/virtiofs-2607.0.100-1.src.rpm
xpmem:
https://ubs-repo.nvidia.com/pulp/content/doca-3.5-host/archive/source-rpm/Packages/x/xpmem-2607.0.7-1.src.rpm
EOF

echo
echo Installed Packages:
echo -------------------

pkglist1=
pkglist2=

if [ -x /usr/bin/dpkg ]; then
    pkglist1=$(dpkg --list | grep -E "#DEB_PACKAGES_LIST#")
fi

if (which rpm >/dev/null 2>&1); then
    pkglist2=$(rpm -qa --queryformat "[%{NAME}]
" | grep -E "kernel-ib|dpcp|ibarr|ibdump|ibsim|ibutils2|^iser|kmod-iser|iser.*kmp|^isert|kmod-isert|isert.*kmp|kernel-mft|libvma|libxlio|mlnx-ethtool|mlnx-iproute2|mlnx-nfsrdma|mlnx-nvme|mlnx-ofa_kernel|mlnx-tools|mlx-steering-dump|multiperf|openmpi|opensm|openvswitch|perftest|rdma-core|ibacm|libibcm|libibumad|libibverbs|librdmacm|srp_daemon|infiniband-diags|python3-pyverbs|rshim|sockperf|^srp$|kmod-srp|srp.*kmp|ucx|^virtiofs$|kmod-virtiofs|virtiofs.*kmp|xpmem|neohost-backend|neohost-sdk")
fi

echo -e "$pkglist1"
echo -e "$pkglist2"
deprc_msg