#!/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.04-1.1.0" 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.04-1.1.0:; deprc_msg; exit 0; fi
if [ "X$1" == "X-n" ]; then echo 26.04-1.1.0; 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.04-1.1.0:

dpcp:
https://doca-repo-prod.nvidia.com/public-nsb/repo/doca/doca-3.4.0/generic-rpm/x86_64/dpcp/1.1.61-3/dpcp-1.1.61-3.src.rpm
ibarr:
https://doca-repo-prod.nvidia.com/public-nsb/repo/doca/doca-3.4.0/generic-rpm/x86_64/ibarr/2604.0.0-1/ibarr-2604.0.0-1.src.rpm
ibdump:
https://doca-repo-prod.nvidia.com/public-nsb/repo/doca/doca-3.4.0/generic-rpm/x86_64/ibdump/6.0.0-3/ibdump-6.0.0-3.src.rpm
ibsim:
https://doca-repo-prod.nvidia.com/public-nsb/repo/doca/doca-3.4.0/generic-rpm/x86_64/ibsim/0.12.1-4/ibsim-0.12.1-4.src.rpm
ibutils2:
https://doca-repo-prod.nvidia.com/public-nsb/repo/doca/doca-3.4.0/generic-rpm/x86_64/ibutils2/2.1.1-0.22600.MLNX202605051000.g86b0a70a2/ibutils2-2.1.1-0.22600.MLNX202605051000.g86b0a70a2.src.rpm
iser:
https://git-nbu.nvidia.com/r/a/mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_26_04
commit 93f93a85a40decb38fc2787e14cda1c76f8a318e

isert:
https://git-nbu.nvidia.com/r/a/mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_26_04
commit 93f93a85a40decb38fc2787e14cda1c76f8a318e

kernel-mft:
mlnx_ofed_mft/kernel-mft-4.36.0-147.src.rpm

libvma:
https://doca-repo-prod.nvidia.com/public-nsb/repo/doca/doca-3.4.0/generic-rpm/x86_64/libvma/9.8.84-1/libvma-9.8.84-1.src.rpm
libxlio:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-26.04-0.8.6/SRPMS/libxlio-3.70.3-1.src.rpm

mlnx-ethtool:
https://doca-repo-prod.nvidia.com/public-nsb/repo/doca/doca-3.4.0/generic-rpm/x86_64/mlnx-ethtool/2604.0.0-1/mlnx-ethtool-2604.0.0-1.src.rpm
mlnx-iproute2:
https://doca-repo-prod.nvidia.com/public-nsb/repo/doca/doca-3.4.0/generic-rpm/x86_64/mlnx-iproute2/2604.0.0-1/mlnx-iproute2-2604.0.0-1.src.rpm
mlnx-nfsrdma:
https://git-nbu.nvidia.com/r/a/mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_26_04
commit 93f93a85a40decb38fc2787e14cda1c76f8a318e

mlnx-nvme:
https://git-nbu.nvidia.com/r/a/mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_26_04
commit 93f93a85a40decb38fc2787e14cda1c76f8a318e

mlnx-ofa_kernel:
https://git-nbu.nvidia.com/r/a/mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_26_04
commit 93f93a85a40decb38fc2787e14cda1c76f8a318e

mlnx-tools:
https://doca-repo-prod.nvidia.com/public-nsb/repo/doca/doca-3.4.0/generic-rpm/x86_64/mlnx-tools/2604.0.13-1/mlnx-tools-2604.0.13-1.src.rpm
mlx-steering-dump:
https://doca-repo-prod.nvidia.com/public-nsb/repo/doca/doca-3.4.0/generic-rpm/x86_64/mlx-steering-dump/1.0.0-1/mlx-steering-dump-1.0.0-1.src.rpm
multiperf:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-26.04-0.8.6/SRPMS/multiperf-3.0-3.0.2604086.src.rpm

openmpi:
https://doca-repo-prod.nvidia.com/public-nsb/repo/doca/doca-3.4.0/generic-rpm/x86_64/openmpi/5.0.10rc2.2605121430-1.b99be7132e/openmpi-5.0.10rc2.2605121430-1.b99be7132e.src.rpm
opensm:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-26.04-0.8.6/SRPMS/opensm-5.27.1-202605051000.ee5d4a31.2604086.src.rpm

openvswitch:
https://git-nbu.nvidia.com/r/a/sdn/ovs.git 3.4_head
commit b4dd4cf0a3479157764aae7c90e66b5200e6faf8

perftest:
https://doca-repo-prod.nvidia.com/public-nsb/repo/doca/doca-3.4.0/generic-rpm/x86_64/perftest/26.04.16-1/perftest-26.04.16-1.src.rpm
rdma-core:
https://doca-repo-prod.nvidia.com/public-nsb/repo/doca/doca-3.4.0/generic-rpm/x86_64/rdma-core/2604.0.7-1/rdma-core-2604.0.7-1.src.rpm
rshim:
/sw_mc_soc_release/packages//rshim-2.7.4-0.ge657b2d.src.rpm

sockperf:
https://doca-repo-prod.nvidia.com/public-nsb/repo/doca/doca-3.4.0/generic-rpm/x86_64/sockperf/3.1-1/sockperf-3.1-1.src.rpm
srp:
https://git-nbu.nvidia.com/r/a/mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_26_04
commit 93f93a85a40decb38fc2787e14cda1c76f8a318e

ucx:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-26.04-0.8.6/SRPMS/ucx-1.21.0.20260504-1.65a1a71af.2604086.src.rpm

virtiofs:
https://git-nbu.nvidia.com/r/a/mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_26_04
commit 93f93a85a40decb38fc2787e14cda1c76f8a318e

xpmem:
https://doca-repo-prod.nvidia.com/public-nsb/repo/doca/doca-3.4.0/generic-rpm/x86_64/xpmem/2604.0.2-1/dkms/xpmem-2604.0.2-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