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

cat << EOF
OFED-internal-4.2-1.5.1:

ar_mgr:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/ar_mgr-1.0-0.35.gd1e8f82.42100.src.rpm

cc_mgr:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/cc_mgr-1.0-0.34.gd1e8f82.42100.src.rpm

dapl:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/dapl-2.1.10mlnx-OFED.3.4.2.1.0.42100.src.rpm

dump_pr:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/dump_pr-1.0-0.30.gd1e8f82.42100.src.rpm

fabric-collector:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/fabric-collector-1.1.0.MLNX20170103.89bb2aa-0.1.42100.src.rpm

gpio-mlxbf:
mlnx_ofed_soc/gpio-mlxbf-1.0-0.g5bd5b80.src.rpm

hcoll:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/hcoll-3.9.1901-1.42100.src.rpm

i2c-mlx:
mlnx_ofed_soc/i2c-mlx-1.0-0.g5bd5b80.src.rpm

ibacm:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/ibacm-41mlnx1-OFED.4.1.0.1.0.42100.src.rpm

ibacm_ssa:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/ibacm_ssa-0.0.9.3.MLNX20151203.50eb579-1.42100.src.rpm

ibdump:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/ibdump-5.0.0-1.42100.src.rpm

ibsim:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/ibsim-0.6mlnx1-0.8.g9d76581.42100.src.rpm

ibssa:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/ibssa-0.0.9.3.MLNX20151203.50eb579-1.42100.src.rpm

ibutils:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/ibutils-1.5.7.1-0.12.gdcaeae2.42100.src.rpm

ibutils2:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/ibutils2-2.1.1-0.92.MLNX20170822.g2c10d6f.42100.src.rpm

infiniband-diags:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/infiniband-diags-1.6.7.MLNX20171022.b127f52-0.1.42100.src.rpm

iser:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_2_bf
commit 7b2b34f69155668a5429b1509fdac932350703f3

isert:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_2_bf
commit 7b2b34f69155668a5429b1509fdac932350703f3

kernel-mft:
mlnx_ofed_bf_mft/kernel-mft-4.10.0-104.src.rpm

knem:
knem.git mlnx_ofed_4_2
commit 3e7fa559135fad2a49f4ab643e288e347798e27a
libdisni:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/libdisni-1.3-OFED.4.2.0.1.0.42100.src.rpm

libibcm:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/libibcm-41mlnx1-OFED.4.1.0.1.0.42100.src.rpm

libibmad:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/libibmad-1.3.13.MLNX20170511.267a441-0.1.42100.src.rpm

libibprof:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/libibprof-1.1.41-1.42100.src.rpm

libibumad:
mlnx_ofed_libibumad/libibumad-43.1.1.MLNX20171122.0eb0969.tar.gz

libibverbs:
mlnx_ofed/libibverbs.git mlnx_ofed_4_2_bf
commit 930e84d23306073173e7deaa584d9f82893cf115
libmlx4:
mlnx_ofed/libmlx4.git mlnx_ofed_4_2
commit d945a7eeb52e319b2199990e6602a9fee0646371
libmlx5:
mlnx_ofed/libmlx5.git mlnx_ofed_4_2_bf
commit 2d07ca5df1911f52c4a2ac4099ecdc782a878f84
libopensmssa:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/libopensmssa-0.0.9.3.MLNX20151203.50eb579-1.42100.src.rpm

libpka:
mlnx_ofed_soc/libpka-1.0-1.g6cc68a2.src.rpm

librdmacm:
mlnx_ofed/librdmacm.git mlnx_ofed_4_2_bf
commit 6b3a118ecbfb4731d51fb3ca37e2642ec86612e8
librxe:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/librxe-41mlnx1-OFED.4.1.0.1.7.42100.src.rpm

libvma:
vma/source_rpms//libvma-8.7.0-0.src.rpm

mlnx-en:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_2_bf
commit 7b2b34f69155668a5429b1509fdac932350703f3

mlnx-ethtool:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/mlnx-ethtool-4.2-1.42100.src.rpm

mlnx-iproute2:
mlnx_ofed/iproute2.git mlnx_ofed_4_2_bf
commit 7679e8c330badce29a97f88018480262efeac8b8
mlnx-nfsrdma:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_2_bf
commit 7b2b34f69155668a5429b1509fdac932350703f3

mlnx-nvme:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_2_bf
commit 7b2b34f69155668a5429b1509fdac932350703f3

mlnx-ofa_kernel:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_2_bf
commit 7b2b34f69155668a5429b1509fdac932350703f3

mlnx-rdma-rxe:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_2_bf
commit 7b2b34f69155668a5429b1509fdac932350703f3

mlx-bootctl:
mlnx_ofed_soc/mlx-bootctl-1.1-0.g5bd5b80.src.rpm

mlxbf-livefish:
mlnx_ofed_soc/mlxbf-livefish-1.0-0.g5bd5b80.src.rpm

mpi-selector:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/mpi-selector-1.0.3-1.42100.src.rpm

mpitests:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/mpitests-3.2.19-84f02b3.42100.src.rpm

mstflint:
mlnx_ofed_mstflint/mstflint-4.10.0.tar.gz

multiperf:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/multiperf-3.0-0.10.gda89e8c.42100.src.rpm

mxm:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/mxm-3.6.3104-1.42100.src.rpm

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

openmpi:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/openmpi-3.0.0rc6-1.42100.src.rpm

opensm:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/opensm-4.9.1.MLNX20171001.1764298-0.1.42100.src.rpm

openvswitch:
openvswitch.git asap-2.9
commit bd051369f4ec3fab6495827d327efe72bdb1e65c
perftest:
mlnx_ofed_perftest/perftest-4.2-0.5.gdd28746.tar.gz

pka-mlxbf:
mlnx_ofed_soc/pka-mlxbf-1.0-0.g5bd5b80.src.rpm

qperf:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/qperf-0.4.9-9.42100.src.rpm

rdma-core:
mlnx_ofed/rdma-core.git mlnx_ofed_4_2_bf
commit 9cd7d95181829fa302b5a3657774e5ce3d4b0a80
rshim:
mlnx_ofed_soc/rshim-0.9-0.g5bd5b80.src.rpm

sharp:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/sharp-1.4.2.MLNX20171022.3b64c0f-1.42100.src.rpm

sockperf:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/sockperf-3.1-14.gita9f6056282ef.42100.src.rpm

srp:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_2_bf
commit 7b2b34f69155668a5429b1509fdac932350703f3

srptools:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/srptools-41mlnx1-4.42100.src.rpm

tmfifo:
mlnx_ofed_soc/tmfifo-1.0-0.g5bd5b80.src.rpm

ucx:
ofed/OFED-internal-4.2-1.0.0.0/SRPMS/ucx-1.3.0-1.42100.src.rpm

EOF

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

pkglist1=
pkglist2=

if [ -x /usr/bin/dpkg ]; then
    pkglist1=$(dpkg --list | grep -E "ar-mgr|cc-mgr|libdapl-dev|libdapl2|dapl2-utils|dump-pr|hcoll|ibacm|ibacm-dev|ibdump|ibsim|ibsim-doc|ibutils2|ibutils|libibdm1|infiniband-diags|infiniband-diags-compat|infiniband-diags-guest|iser-dkms|isert-dkms|kernel-mft-dkms|knem|knem-dkms|libdisni-java-jni|libibcm-dev|libibcm1|libibmad-devel|libibmad-static|libibmad|libibumad-devel|libibumad-static|libibumad|libibverbs1|libibverbs-dev|libibverbs1-dbg|ibverbs-utils|libmlx4-1|libmlx4-dev|libmlx4-1-dbg|libmlx5-1|libmlx5-dev|libmlx5-1-dbg|librdmacm-dev|librdmacm1|librdmacm-utils|librxe-1|librxe-dev|librxe-1-dbg|libvma|libvma-dev|libvma-dbg|libvma-utils|mlnx-en-utils|mlnx-en-dkms|mlnx-ethtool|mlnx-iproute2|mlnx-nfsrdma-dkms|mlnx-nvme-dkms|mlnx-ofed-kernel-utils|mlnx-ofed-kernel-dkms|mlnx-rdma-rxe-dkms|mpitests|mstflint|mxm-dev|mxm|openmpi|opensm|opensm-doc|libopensm|libopensm-devel|perftest|rdma-core|ibacm|ibverbs-providers|ibverbs-utils|libibverbs-dev|libibverbs1|libibverbs1-dbg|libibcm-dev|libibcm1|libibcm1-dbg|libibumad-dev|libibumad3|libibumad3-dbg|librdmacm-dev|librdmacm1|librdmacm1-dbg|rdmacm-utils|srptools|sharp|sockperf|srp-dkms|srptools|ucx-dev|ucx")
fi

if (which rpm >/dev/null 2>&1); then
    pkglist2=$(rpm -qa --queryformat "[%{NAME}]
" | grep -E "kernel-ib|ar_mgr|cc_mgr|dapl|dump_pr|fabric-collector|gpio-mlxbf|hcoll|i2c-mlx|ibacm|ibacm_ssa|ibdump|ibsim|ibssa|ibutils|ibutils2|infiniband-diags|^iser|kmod-iser|iser.*kmp|^isert|kmod-isert|isert.*kmp|kernel-mft|knem|libdisni|libibcm|libibmad|libibprof|libibumad|libibverbs|libmlx4|libmlx5|libopensmssa|libpka|librdmacm|librxe|libvma|mlnx-en|mlnx-ethtool|mlnx-iproute2|mlnx-nfsrdma|mlnx-nvme|mlnx-ofa_kernel|mlnx-rdma-rxe|mlx-bootctl|mlxbf-livefish|mpi-selector|mpitests|mstflint|multiperf|mxm|ofed-docs|openmpi|opensm|openvswitch|perftest|pka-mlxbf|qperf|rdma-core|ibacm|libibcm|libibumad|libibverbs|librdmacm|srp_daemon|rshim|sharp|sockperf|^srp$|kmod-srp|srp.*kmp|srptools|tmfifo|ucx")
fi

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