#!/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.1-1.0.4:; exit 0; fi
if [ "X$1" == "X-n" ]; then echo 5.1-1.0.4; exit 0; fi
if [ "X$1" != "X-l" ] && [ "X$1" != "X" ]; then usage; exit 1; fi

cat << EOF
OFED-internal-5.1-1.0.4:

ar_mgr:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/ar_mgr-1.0-0.2.MLNX20200630.g8577618.51066.src.rpm

dpcp:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/dpcp-1.0.0-1.51066.src.rpm

dump_pr:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/dump_pr-1.0-0.2.MLNX20200630.g8577618.51066.src.rpm

fabric-collector:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/fabric-collector-1.1.0.MLNX20170103.89bb2aa-0.1.51066.src.rpm

hcoll:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/hcoll-4.6.3125-1.51066.src.rpm

ibdump:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/ibdump-6.0.0-1.51066.src.rpm

ibsim:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/ibsim-0.9-1.51066.src.rpm

ibutils2:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/ibutils2-2.1.1-0.126.MLNX20200721.gf95236b.51066.src.rpm

iser:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_5_1
commit c72091bb7f69243219dda60946342385c9766aa3
isert:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_5_1
commit c72091bb7f69243219dda60946342385c9766aa3
kernel-mft:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/kernel-mft-4.15.0-104.src.rpm

knem:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/knem-1.1.4.90mlnx1-OFED.5.1.0.6.1.1.src.rpm

libpka:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/libpka-1.0-1.gcc98895.51066.src.rpm

libvma:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/libvma-9.1.1-0.src.rpm

mlnx-dpdk:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/mlnx-dpdk-19.11.0-1.51066.src.rpm

mlnx-en:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_5_1
commit c72091bb7f69243219dda60946342385c9766aa3

mlnx-ethtool:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/mlnx-ethtool-5.4-1.51066.src.rpm

mlnx-iproute2:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/mlnx-iproute2-5.6.0-1.51066.src.rpm

mlnx-nfsrdma:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_5_1
commit c72091bb7f69243219dda60946342385c9766aa3
mlnx-nvme:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_5_1
commit c72091bb7f69243219dda60946342385c9766aa3
mlnx-ofa_kernel:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_5_1
commit c72091bb7f69243219dda60946342385c9766aa3

mlxbf-bootctl:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/mlxbf-bootctl-1.0-2.51066.src.rpm

mpi-selector:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/mpi-selector-1.0.3-1.51066.src.rpm

mpitests:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/mpitests-3.2.20-5d20b49.51066.src.rpm

mstflint:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/mstflint-4.14.0-3.51066.src.rpm

multiperf:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/multiperf-3.0-0.14.g5f0fd0e.51066.src.rpm

mxm:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/mxm-3.7.3112-1.51066.src.rpm

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

openmpi:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/openmpi-4.0.4rc3-1.51066.src.rpm

opensm:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/opensm-5.7.0.MLNX20200721.7ccc6f6-0.1.51066.src.rpm

openvswitch:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/openvswitch-2.13.1-1.51066.src.rpm

perftest:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/perftest-4.4-0.30.g9c50960.51066.src.rpm

rdma-core:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/rdma-core-51mlnx1-1.51066.src.rpm

rshim:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/rshim-2.0.5-OFED.5.1.0.6.6.src.rpm

sharp:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/sharp-2.2.0.MLNX20200721.2fd570a-1.51066.src.rpm

sockperf:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/sockperf-3.7-0.gita1e8e835a689.51066.src.rpm

srp:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_5_1
commit c72091bb7f69243219dda60946342385c9766aa3
ucx:
/sw/release/mlnx_ofed/IBHPC/OFED-internal-5.1-0.6.6.0/SRPMS/ucx-1.9.0-1.51066.src.rpm

EOF

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

pkglist1=
pkglist2=

if [ -x /usr/bin/dpkg ]; then
    pkglist1=$(dpkg --list | grep -E "ar-mgr|dpcp|dump-pr|hcoll|ibdump|ibsim|ibsim-doc|ibutils2|iser-dkms|isert-dkms|kernel-mft-dkms|knem|knem-dkms|libvma|libvma-dev|libvma-dbg|libvma-utils|mlnx-dpdk|mlnx-dpdk-dev|mlnx-dpdk-doc|mlnx-en-utils|mlnx-en-dkms|mlnx-ethtool|mlnx-iproute2|mlnx-nfsrdma-dkms|mlnx-nvme-dkms|mlnx-ofed-kernel-utils|mlnx-ofed-kernel-dkms|mlxbf-bootctl|mpitests|mstflint|mxm-dev|mxm|openmpi|opensm|opensm-doc|libopensm|libopensm-devel|openvswitch-datapath-source|openvswitch-datapath-dkms|openvswitch-common|libopenvswitch|openvswitch-switch|openvswitch-pki|openvswitch-testcontroller|openvswitch-dbg|python3-openvswitch|openvswitch-test|openvswitch-vtep|libopenvswitch-dev|openvswitch-ipsec|perftest|rdma-core|ibacm|ibverbs-providers|ibverbs-utils|libibverbs-dev|libibverbs1|libibverbs1-dbg|libibumad-dev|libibumad3|libibumad3-dbg|librdmacm-dev|librdmacm1|librdmacm1-dbg|rdmacm-utils|srptools|python3-pyverbs|infiniband-diags|libibmad5|libibmad5-dbg|libibmad-dev|libibnetdisc5|libibnetdisc5-dbg|libibnetdisc-dev|rshim|sharp|sockperf|srp-dkms|ucx-dev|ucx")
fi

if (which rpm >/dev/null 2>&1); then
    pkglist2=$(rpm -qa --queryformat "[%{NAME}]
" | grep -E "kernel-ib|ar_mgr|dpcp|dump_pr|fabric-collector|hcoll|ibdump|ibsim|ibutils2|^iser|kmod-iser|iser.*kmp|^isert|kmod-isert|isert.*kmp|kernel-mft|knem|libpka|libvma|mlnx-dpdk|mlnx-en|mlnx-ethtool|mlnx-iproute2|mlnx-nfsrdma|mlnx-nvme|mlnx-ofa_kernel|mlxbf-bootctl|mpi-selector|mpitests|mstflint|multiperf|mxm|ofed-docs|openmpi|opensm|openvswitch|perftest|rdma-core|ibacm|libibcm|libibumad|libibverbs|librdmacm|srp_daemon|rshim|sharp|sockperf|^srp$|kmod-srp|srp.*kmp|ucx")
fi

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