#!/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
}
if [ "X$1" == "X-s" ]; then echo OFED-internal-5.4-1.0.3:; exit 0; fi
if [ "X$1" == "X-n" ]; then echo 5.4-1.0.3; exit 0; fi
if [ "X$1" != "X-l" ] && [ "X$1" != "X" ]; then usage; exit 1; fi

cat << EOF
OFED-internal-5.4-1.0.3:

ar_mgr:
osm_plugins/ar_mgr/ar_mgr-1.0-5.9.0.MLNX20210617.g5dd71ee.tar.gz

clusterkit:
mlnx_ofed_clusterkit/clusterkit-1.4.390-1.src.rpm

dapl:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.3-1.0.0.1/SRPMS/dapl-2.1.10.1.mlnx-OFED.4.9.0.1.4.53100.src.rpm

dpcp:
/sw/release/sw_acceleration/dpcp/dpcp-1.1.12-1.src.rpm

dump_pr:
osm_plugins/dump_pr//dump_pr-1.0-5.9.0.MLNX20210617.g5dd71ee.tar.gz

fabric-collector:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.3-1.0.0.1/SRPMS/fabric-collector-1.1.0.MLNX20170103.89bb2aa-0.1.53100.src.rpm

hcoll:
mlnx_ofed_hcol/hcoll-4.7.3199-1.src.rpm

ibdump:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.3-1.0.0.1/SRPMS/ibdump-6.0.0-1.53100.src.rpm

ibsim:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.3-1.0.0.1/SRPMS/ibsim-0.10-1.53100.src.rpm

ibutils2:
ibutils2/ibutils2-2.1.1-0.136.MLNX20210617.g4883fca.tar.gz

iser:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_5_4
commit 3952e7b230d34e7a128cd253ffdcb0ec47582906

isert:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_5_4
commit 3952e7b230d34e7a128cd253ffdcb0ec47582906

kernel-mft:
mlnx_ofed_mft/kernel-mft-4.17.0-106.src.rpm

knem:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.3-1.0.0.1/SRPMS/knem-1.1.4.90mlnx1-OFED.5.1.2.5.0.1.src.rpm

libvma:
vma/source_rpms//libvma-9.3.1-1.src.rpm

libxlio:
/sw/release/sw_acceleration/xlio/libxlio-1.0.6-1.src.rpm

mlnx-dpdk:
https://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@github.com/Mellanox/dpdk.org mlnx_dpdk_20.11_last_stable
commit 15cb7831152a62fe697623b8e25f3c9e444d5cc5
mlnx-en:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_5_4
commit 3952e7b230d34e7a128cd253ffdcb0ec47582906

mlnx-ethtool:
mlnx_ofed/ethtool.git mlnx_ofed_5_4
commit 92c3426ea618cb18c4d75f08aa39bf3f77b5a33f
mlnx-iproute2:
mlnx_ofed/iproute2.git mlnx_ofed_5_4
commit 6ddcefde87b9c83d7df4e0e14782c58b1f87b692
mlnx-nfsrdma:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_5_4
commit 3952e7b230d34e7a128cd253ffdcb0ec47582906

mlnx-nvme:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_5_4
commit 3952e7b230d34e7a128cd253ffdcb0ec47582906

mlnx-ofa_kernel:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_5_4
commit 3952e7b230d34e7a128cd253ffdcb0ec47582906

mlnx-tools:
https://github.com/Mellanox/mlnx-tools mlnx_ofed_5_4
commit 943183aa5a293202f259d659d46c986b1b670499
mpi-selector:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.3-1.0.0.1/SRPMS/mpi-selector-1.0.3-1.53100.src.rpm

mpitests:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.3-1.0.0.1/SRPMS/mpitests-3.2.20-5d20b49.53100.src.rpm

mstflint:
mlnx_ofed_mstflint/mstflint-4.16.0-1.tar.gz

multiperf:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.3-1.0.0.1/SRPMS/multiperf-3.0-0.14.g5f0fd0e.53100.src.rpm

ofed-docs:
docs.git mlnx_ofed-4.0
commit 3d1b0afb7bc190ae5f362223043f76b2b45971cc

openmpi:
mlnx_ofed_ompi_1.8/openmpi-4.1.2a1-1.src.rpm

opensm:
mlnx_ofed_opensm/opensm-5.9.0.MLNX20210617.c9f2ade.tar.gz

openvswitch:
openvswitch.git mlnx_ofed_5_4
commit bebdfcd37b0b33d62746e9a676426698562db65b
perftest:
mlnx_ofed_perftest/perftest-4.5-0.6.gbb9a707.tar.gz

rdma-core:
mlnx_ofed/rdma-core.git mlnx_ofed_5_4
commit 8d10f41959f099f6f03b732f0dae207f360f0d88
rshim:
mlnx_ofed_soc/rshim-2.0.6-1.ga97dc5d.src.rpm

sharp:
mlnx_ofed_sharp/sharp-2.5.0.MLNX20210613.83fe753.tar.gz

sockperf:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.3-1.0.0.1/SRPMS/sockperf-3.7-0.gita1e8e835a689.53100.src.rpm

srp:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_5_4
commit 3952e7b230d34e7a128cd253ffdcb0ec47582906

ucx:
mlnx_ofed_ucx/ucx-1.11.0-1.src.rpm

xpmem:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.3-1.0.0.1/SRPMS/xpmem-2.6.3-2.53100.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|ar_mgr|clusterkit|dapl|dpcp|dump_pr|fabric-collector|hcoll|ibdump|ibsim|ibutils2|^iser|kmod-iser|iser.*kmp|^isert|kmod-isert|isert.*kmp|kernel-mft|knem|libvma|libxlio|mlnx-dpdk|mlnx-en|mlnx-ethtool|mlnx-iproute2|mlnx-nfsrdma|mlnx-nvme|mlnx-ofa_kernel|mlnx-tools|mpi-selector|mpitests|mstflint|multiperf|ofed-docs|openmpi|opensm|openvswitch|perftest|rdma-core|ibacm|libibcm|libibumad|libibverbs|librdmacm|srp_daemon|infiniband-diags|python3-pyverbs|rshim|sharp|sockperf|^srp$|kmod-srp|srp.*kmp|ucx|xpmem|neohost-backend|neohost-sdk")
fi

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