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

cat << EOF
OFED-internal-4.6-1.0.1:

ar_mgr:
osm_plugins/ar_mgr/ar_mgr-1.0-0.42.g750eb1e.tar.gz

cc_mgr:
osm_plugins/cc_mgr/cc_mgr-1.0-0.41.g750eb1e.tar.gz

dapl:
dapl.git mlnx_ofed_4_0
commit bdb055900059d1b8d5ee8cdfb457ca653eb9dd2d
dump_pr:
osm_plugins/dump_pr//dump_pr-1.0-0.37.g750eb1e.tar.gz

fabric-collector:
fabric_collector//fabric-collector-1.1.0.MLNX20170103.89bb2aa.tar.gz

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

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

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

ibacm:
mlnx_ofed/ibacm.git mlnx_ofed_4_1
commit 4ae5d193f628c71bac481218bc88d0f77f7eff9a
ibacm_ssa:
mlnx_ofed_ssa/acm/ibacm_ssa-0.0.9.3.MLNX20151203.50eb579.tar.gz

ibdump:
sniffer/sniffer-5.0.0-3/ibdump/linux/ibdump-5.0.0-3.tgz

ibsim:
mlnx_ofed_ibsim/ibsim-0.7mlnx1-0.11.g85c342b.tar.gz

ibssa:
mlnx_ofed_ssa/distrib/ibssa-0.0.9.3.MLNX20151203.50eb579.tar.gz

ibutils:
ofed-1.5.3-rpms/ibutils/ibutils-1.5.7.1-0.12.gdcaeae2.tar.gz

ibutils2:
ibutils2/ibutils2-2.1.1-0.104.MLNX20190408.gb55795e.tar.gz

infiniband-diags:
mlnx_ofed_infiniband_diags/infiniband-diags-5.4.0.MLNX20190422.d1468cd.tar.gz

iser:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_6
commit a2cfe08c906a7c6a1f0e0d42da5d52f394d5ee24

isert:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_6
commit a2cfe08c906a7c6a1f0e0d42da5d52f394d5ee24

kernel-mft:
mlnx_ofed_mft/kernel-mft-4.12.0-105.src.rpm

knem:
knem.git mellanox-master
commit 993678c3a79ab40ccf0cf88493200ce1fc58d566
libdisni:
upstream/disni.git master
commit b50eee08b66b14b02594ee485cdc7dfd9820bbae
libibcm:
mlnx_ofed/libibcm.git mlnx_ofed_4_1
commit e3e9fffe4d2d2f730110a7bdeb7da7b8ea97e51e
libibmad:
mlnx_ofed_libibmad/libibmad-5.4.0.MLNX20190423.1d917ae.tar.gz

libibumad:
mlnx_ofed_libibumad/libibumad-43.1.1.MLNX20190422.87b4d9b.tar.gz

libibverbs:
mlnx_ofed/libibverbs.git mlnx_ofed_4_6
commit 18f0166ff62d98537e27af896221f5bc292bc0d8
libmlx4:
mlnx_ofed/libmlx4.git mlnx_ofed_4_6
commit 819cf8a7fc4ec35065659b97035159bb11128bb4
libmlx5:
mlnx_ofed/libmlx5.git mlnx_ofed_4_6
commit 9ac7042199d9e6f56a08c2eea52563a4ad5cc908
libopensmssa:
mlnx_ofed_ssa/plugin/libopensmssa-0.0.9.3.MLNX20151203.50eb579.tar.gz

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

librdmacm:
mlnx_ofed/librdmacm.git mlnx_ofed_4_6
commit b923f1e49af211e7378befbb607f85a5dcee9b1f
librxe:
mlnx_ofed/librxe.git master
commit afd75c6164324ac68a3e39f3c988ce85978669d4
libvma:
vma/source_rpms//libvma-8.8.3-0.src.rpm

mlnx-en:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_6
commit a2cfe08c906a7c6a1f0e0d42da5d52f394d5ee24

mlnx-ethtool:
mlnx_ofed/ethtool.git mlnx_ofed_4_6
commit 4fe56bef1f44538f87f650647786d302d81a2662
mlnx-iproute2:
mlnx_ofed/iproute2.git mlnx_ofed_4_6
commit 1bedc4b1c3ab0f5243d8a3bf9dbf7ce7e5632b1d
mlnx-nfsrdma:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_6
commit a2cfe08c906a7c6a1f0e0d42da5d52f394d5ee24

mlnx-nvme:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_6
commit a2cfe08c906a7c6a1f0e0d42da5d52f394d5ee24

mlnx-ofa_kernel:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_6
commit a2cfe08c906a7c6a1f0e0d42da5d52f394d5ee24

mlnx-rdma-rxe:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_6
commit a2cfe08c906a7c6a1f0e0d42da5d52f394d5ee24

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

mlx-l3cache:
mlnx_ofed_soc/mlx-l3cache-0.1-1.gebb0728.src.rpm

mlx-pmc:
mlnx_ofed_soc/mlx-pmc-1.1-0.g1141c2e.src.rpm

mlx-trio:
mlnx_ofed_soc/mlx-trio-0.1-1.g9d13513.src.rpm

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

mpi-selector:
ofed-1.5.3-rpms/mpi-selector/mpi-selector-1.0.3-1.src.rpm

mpitests:
mlnx_ofed_mpitest/mpitests-3.2.20-e1a0676.src.rpm

mstflint:
mlnx_ofed_mstflint/mstflint-4.11.0-1.14.g840c9c2.tar.gz

multiperf:
mlnx_ofed_multiperf/multiperf-3.0-0.12.gbb02555.tar.gz

mxm:
mlnx_ofed_mxm/mxm-3.7.3111-1.src.rpm

nvme-snap:
nvme/nvme-snap-1.0.0-8.mlnx.src.rpm

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

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

opensm:
mlnx_ofed_opensm/opensm-5.4.0.MLNX20190422.ed81811.tar.gz

openvswitch:
openvswitch.git mlnx_ofed-br-2.11
commit db02dd23e48a1df397490c1aeb8857e53916bff3
perftest:
mlnx_ofed_perftest/perftest-4.4-0.5.g1ceab48.tar.gz

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

qperf:
mlnx_ofed_qperf/qperf-0.4.9.tar.gz

rdma-core:
mlnx_ofed/rdma-core.git mlnx_ofed_4_6
commit aca3d37f905b75af8fe1df5f35e248b59923fa12

rshim:
mlnx_ofed_soc/rshim-1.6-0.g6aa30c7.src.rpm

sharp:
mlnx_ofed_sharp/sharp-1.8.1.MLNX20190422.6c05a05.tar.gz

sockperf:
sockperf/sockperf-3.6-0.git737d1e3e5576.src.rpm

srp:
mlnx_ofed/mlnx-ofa_kernel-4.0.git mlnx_ofed_4_6
commit a2cfe08c906a7c6a1f0e0d42da5d52f394d5ee24

srptools:
srptools/srptools-41mlnx1-5.src.rpm

tmfifo:
mlnx_ofed_soc/tmfifo-1.3-0.g6aa30c7.src.rpm

ucx:
mlnx_ofed_ucx/ucx-1.6.0-1.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|libibumad-dev|libibumad3|libibumad3-dbg|librdmacm-dev|librdmacm1|librdmacm1-dbg|rdmacm-utils|srptools|python3-pyverbs|rshim-dkms|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|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|mlx-l3cache|mlx-pmc|mlx-trio|mlxbf-livefish|mpi-selector|mpitests|mstflint|multiperf|mxm|nvme-snap|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"
