Compare commits

...

No commits in common. "c8" and "c10s" have entirely different histories.
c8 ... c10s

10 changed files with 281 additions and 201 deletions

50
.gitignore vendored
View File

@ -1 +1,49 @@
SOURCES/mstflint-4.25.0-1.tar.gz
i386/
i686/
x86_64/
ppc/
ppc64/
ia64/
mips/
arm*/
noarch/
.project
*.src.rpm
.build*.log
/mstflint-1.4/
/mstflint-1.4-1.18.g1adcfbf.tar.gz
/mstflint-1.4-1.19.redhat.tar.gz
/mstflint-3.0-0.5.gff93670.tar.gz
/mstflint-3.0/
/mstflint-3.0-0.6.g6961daa.tar.gz
/mstflint-4.1.0-1.46.gb1cdaf7.tar.gz
/mstflint-4.1.0/
/mstflint-4.3.0-1.49.g9b9af70.tar.gz
/mstflint-4.4.0-1.12.gd1edd58.tar.gz
/mstflint-4.6.0.tar.gz
/mstflint-4.8.0.tar.gz
/mstflint-4.10.0.tar.gz
/mstflint-4.11.0-2.tar.gz
/mstflint-4.11.0-3.tar.gz
/mstflint-4.11.0-4.tar.gz
/mstflint-4.13.0-1.tar.gz
/mstflint-4.13.1-1.tar.gz
/mstflint-4.13.3-1.tar.gz
/mstflint-4.13.3-2.tar.gz
/mstflint-4.14.0-1.tar.gz
/mstflint-4.14.0-3.tar.gz
/mstflint-4.15.0-1.tar.gz
/mstflint-4.16.0-1.tar.gz
/mstflint-4.16.0-2.tar.gz
/mstflint-4.17.0-1.tar.gz
/mstflint-4.18.0-1.tar.gz
/mstflint-2b022989e5f22875284f3fbaccf67361ef5a848d.tar.gz
/mstflint-4.20.0-1.tar.gz
/mstflint-4.20.1-1.tar.gz
/mstflint-4.21.0-1.tar.gz
/mstflint-4.23.0-1.tar.gz
/mstflint-4.24.0-1.tar.gz
/mstflint-4.25.0-1.tar.gz
/mstflint-4.26.0-1.tar.gz
/mstflint-4.30.0-1.tar.gz
/mstflint-48a145409b058b275cbcc1fe8edd5581932c5eb0.tar.gz

View File

@ -1,68 +0,0 @@
From 0bf822388a194c01c82beb6b6529b49255a4bd39 Mon Sep 17 00:00:00 2001
From: Kamal Heib <kheib@redhat.com>
Date: Tue, 17 Oct 2023 14:19:52 -0400
Subject: [PATCH] Add default link flags for shared libraries
Signed-off-by: Kamal Heib <kheib@redhat.com>
---
cmdif/Makefile.am | 2 +-
dev_mgt/Makefile.am | 2 +-
mtcr_py/Makefile.am | 2 +-
reg_access/Makefile.am | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/cmdif/Makefile.am b/cmdif/Makefile.am
index b6c43d59c8b5..0e03839459f2 100644
--- a/cmdif/Makefile.am
+++ b/cmdif/Makefile.am
@@ -51,7 +51,7 @@ libcmdif_a_SOURCES = tools_cif.c tools_cif.h icmd_cif_common.c icmd_cif_common.h
cmdif_pylibdir = $(libdir)/mstflint/python_tools/
cmdif_pylib_DATA = ${CCMDIF_SO} cmdif.py
${CCMDIF_SO}: libcmdif.a
- $(CC) -g -Wall -pthread -shared ${CFLAGS} *.o -o ${CCMDIF_SO} \
+ $(CC) -g -Wall -pthread -shared ${CFLAGS} ${LDFLAGS} *.o -o ${CCMDIF_SO} \
-L$(USER_DIR)/tools_layouts -ltools_layouts -L$(USER_DIR)/${MTCR_CONF_DIR} -lmtcr_ul
CLEANFILES = ${CCMDIF_SO}
diff --git a/dev_mgt/Makefile.am b/dev_mgt/Makefile.am
index 2283c2d1c763..ab8910dfc435 100644
--- a/dev_mgt/Makefile.am
+++ b/dev_mgt/Makefile.am
@@ -50,7 +50,7 @@ dev_mgt_pylib_DATA = c_dev_mgt.so dev_mgt.py
dist_dev_mgt_pylib_DATA = dev_mgt.py
c_dev_mgt.so: libdev_mgt.a
- $(CC) -g -Wall -pthread -shared ${CFLAGS} tools_dev_types.o -o c_dev_mgt.so \
+ $(CC) -g -Wall -pthread -shared ${CFLAGS} ${LDFLAGS} tools_dev_types.o -o c_dev_mgt.so \
-L$(USER_DIR)/reg_access -lreg_access \
-L$(USER_DIR)/tools_layouts -ltools_layouts \
-L$(USER_DIR)/${MTCR_CONF_DIR} -lmtcr_ul
diff --git a/mtcr_py/Makefile.am b/mtcr_py/Makefile.am
index 934b8030a229..c8af0c2d5dac 100644
--- a/mtcr_py/Makefile.am
+++ b/mtcr_py/Makefile.am
@@ -40,7 +40,7 @@ MTCR_DIR = $(USER_DIR)/${MTCR_CONF_DIR}
mtcr_pylib_DATA = cmtcr.so mtcr.py
dist_mtcr_pylib_DATA = mtcr.py
cmtcr.so:
- $(CC) -g -Wall -pthread -shared ${CFLAGS} $(MTCR_DIR)/*.o -o cmtcr.so $(MFT_CORE_LIB_LINK)
+ $(CC) -g -Wall -pthread -shared ${CFLAGS} ${LDFLAGS} $(MTCR_DIR)/*.o -o cmtcr.so $(MFT_CORE_LIB_LINK)
CLEANFILES = cmtcr.so
diff --git a/reg_access/Makefile.am b/reg_access/Makefile.am
index c33bac653620..a231a6cd57e1 100644
--- a/reg_access/Makefile.am
+++ b/reg_access/Makefile.am
@@ -56,7 +56,7 @@ reg_access_pylib_DATA = ${RREG_ACCESS_SO} regaccess.py regaccess_structs.py
dist_reg_access_pylib_DATA = regaccess.py regaccess_structs.py
${RREG_ACCESS_SO}: libreg_access.a
- $(CC) -g -Wall -pthread -shared ${CFLAGS} *.o -o ${RREG_ACCESS_SO} \
+ $(CC) -g -Wall -pthread -shared ${CFLAGS} ${LDFLAGS} *.o -o ${RREG_ACCESS_SO} \
-L$(USER_DIR)/tools_layouts -ltools_layouts -lmlxconfig_4th_gen_layouts -L$(MTCR_DIR) -lmtcr_ul
CLEANFILES = ${RREG_ACCESS_SO}
--
2.41.0

View File

@ -1,26 +0,0 @@
diff --git a/flint/subcommands.cpp b/flint/subcommands.cpp
index 420b82f..0a20bcd 100644
--- a/flint/subcommands.cpp
+++ b/flint/subcommands.cpp
@@ -4484,7 +4484,7 @@ FlintStatus SgSubCommand::sgFs2()
return FLINT_SUCCESS;
}
-#define FW_RESET_MSG "To load new configuration run mlxfwreset or reboot machine"
+#define FW_RESET_MSG "To load new configuration run mstfwreset or reboot machine"
FlintStatus SgSubCommand::sgFs3()
{
diff --git a/mlxfwops/lib/flint_base.h b/mlxfwops/lib/flint_base.h
index f3edc43..a85e43d 100644
--- a/mlxfwops/lib/flint_base.h
+++ b/mlxfwops/lib/flint_base.h
@@ -364,7 +364,7 @@ struct GPH {
#define REBOOT_REQUIRED_STR "To load new FW run reboot machine."
#ifndef MST_UL
-#define REBOOT_OR_FWRESET_REQUIRED_STR "To load new FW run mlxfwreset or reboot machine."
+#define REBOOT_OR_FWRESET_REQUIRED_STR "To load new FW run mstfwreset or reboot machine."
#else
#define REBOOT_OR_FWRESET_REQUIRED_STR "To load new FW run mstfwreset or reboot machine."
#endif

View File

@ -1,129 +1,109 @@
%global __remake_config 1
Name: mstflint
Summary: Mellanox firmware burning tool
Version: 4.25.0
Release: 1%{?dist}
License: GPLv2+ or BSD
Url: https://github.com/Mellanox/%{name}
Source0: https://github.com/Mellanox/%{name}/releases/download/v%{version}-1/%{name}-%{version}-1.tar.gz
Group: Applications/System
Patch4: add-default-link-flags-for-shared-libraries.patch
Patch6: replace-mlxfwreset-with-mstfwreset-in-mstflint-message.patch
BuildRequires: make
BuildRequires: libstdc++-devel, zlib-devel, libibmad-devel, gcc-c++, gcc
BuildRequires: libcurl-devel, boost-devel, libxml2-devel, openssl-devel
%if %{__remake_config}
BuildRequires: libtool, autoconf, automake
%endif
Obsoletes: openib-mstflint <= 1.4 openib-tvflash <= 0.9.2 tvflash <= 0.9.0
ExcludeArch: s390 s390x %{arm}
Requires: python3
%description
This package contains firmware update tool, vpd dump and register dump tools
for network adapters based on Mellanox Technologies chips.
%prep
%setup -q -n %{name}-%{version}
%patch4 -p1
%patch6 -p1
find . -type f -iname '*.[ch]' -exec chmod a-x '{}' ';'
find . -type f -iname '*.cpp' -exec chmod a-x '{}' ';'
%build
%if %{__remake_config}
./autogen.sh
%endif
%configure --enable-fw-mgr
%make_build
%install
%make_install
# Remove the devel files that we don't ship
rm -fr %{buildroot}%{_includedir}
find %{buildroot} -type f -name '*.la' -delete
find %{buildroot} -type f -name '*.a' -delete
# Mark these shared libs executable for find-debuginfo.sh to find them.
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Debuginfo/
chmod +x %{buildroot}/%{_libdir}/mstflint/python_tools/*.so
%files
%doc README
%_bindir/*
%{_sysconfdir}/mstflint
%{_libdir}/mstflint
%{_datadir}/mstflint
%{_mandir}/man1/*
%changelog
* Tue Oct 24 2023 Kamal Heib <kheib@redhat.com> - 4.25.0-1
- Update to upstream release 4.25.0
- Resolves: RHEL-931
* Fri Jun 02 2023 Kamal Heib <kheib@redhat.com> - 4.24.0-1
- Update to upstream release 4.24.0
- Add gating tests
- Resolves: rhbz#2170069
* Wed Feb 08 2023 Michal Schmidt <mschmidt@redhat.com> - 4.23.0-2
* Thu Feb 02 2023 Kamal Heib <kheib@redhat.com> - 4.23.0-1
- Update to upstream release 4.23.0
- Resolves: rhbz#2112936
* Wed Aug 17 2022 Michal Schmidt <mschmidt@redhat.com> - 4.21.0-1
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.21.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Aug 03 2022 Michal Schmidt <mschmidt@redhat.com> - 4.21.0-1
- Update to upstream release 4.21.0
- Resolves: rhbz#2049525
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.20.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jun 28 2022 Michal Schmidt <mschmidt@redhat.com> - 4.20.1-1
- Update to upstream release 4.20.1
* Wed May 25 2022 Izabela Bakollari <izabela.bakollari@gmail.com> - 4.20.0-1
- Update to upstream release 4.20.0
* Mon Mar 28 2022 Michal Schmidt <mschmidt@redhat.com> - 4.19.0-0.3
- Rebase to the almost released 4.19.0
- Resolves: rhbz#2045017
* Sun Dec 05 2021 Honggang Li <honli@redhat.com> - 4.18.0-1
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.18.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Dec 03 2021 Honggang Li <honli@redhat.com> - 4.18.0-1
- Rebase mstflint to latest upstream release v4.18.0-1
- Resolves: rhbz#1982202
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 4.17.0-3
- Rebuilt with OpenSSL 3.0.0
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.17.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jul 01 2021 Honggang Li <honli@redhat.com> - 4.17.0-1
- Rebase mstflint to latest upstream release v4.17.0-1
- Resolves: bz1915313
* Thu Nov 05 2020 Honggang Li <honli@redhat.com> - 4.15.0-1
- Rebase to latest upstream release v4.15.0-1
- Resolves: bz1851723
* Wed Apr 07 2021 Honggang Li <honli@redhat.com> - 4.16.0-2
- Rebase mstflint to latest upstream release v4.16.0-2
* Thu Apr 16 2020 Honggang Li <honli@redhat.com> - 4.14.0-1
- Rebase to latest upstream release v4.14.0-1
- Resolves: bz1789386
* Sun Jan 31 2021 Honggang Li <honli@redhat.com> - 4.16.0-1
- Rebase mstflint to latest upstream release v4.16.0-1
* Thu Jan 16 2020 Honggang Li <honli@redhat.com> - 4.13.3-2
- Rebase to latest upstream release v4.13.3-2
- Resolves: bz1788927
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.15.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Oct 30 2019 Honggang Li <honli@redhat.com> - 4.13.1-1
- Rebase to latest upstream release v4.13.1-1
- Resolves: bz1722258
* Wed Sep 16 2020 Honggang Li <honli@redhat.com> - 4.15.0-1
- Rebase mstflint to latest upstream release v4.15.0-1
* Thu Jun 13 2019 Honggang Li <honli@redhat.com> - 4.12.0-1
- Rebase to latest upstream release v4.12.0-1
- Resolves: bz1683083
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.14.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 4.14.0-4
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Mon Jun 22 2020 Honggang Li <honli@redhat.com> - 4.14.0-3
- Rebase mstflint to latest upstream release v4.14.0-3
* Sat May 30 2020 Jonathan Wakely <jwakely@redhat.com> - 4.14.0-2
- Rebuilt for Boost 1.73
* Tue Mar 31 2020 Honggang Li <honli@redhat.com> - 4.14.0-1
- Rebase mstflint to latest upstream release v4.14.0-1
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.13.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Jan 07 2020 Honggang Li <honli@redhat.com> - 4.13.3-2
- Rebase mstflint to latest upstream release v4.13.3-2
* Sun Jan 05 2020 Honggang Li <honli@redhat.com> - 4.13.3-1
- Rebase mstflint to latest upstream release v4.13.3-1
* Thu Oct 17 2019 Honggang Li <honli@redhat.com> - 4.13.1-1
- Rebase mstflint to latest upstream release v4.13.1-1
* Wed Oct 02 2019 Honggang Li <honli@redhat.com> - 4.13.0-1
- Rebase mstflint to latest upstream release v4.13.0-1
- Resolves: bz1758011
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.11.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Apr 15 2019 Honggang Li <honli@redhat.com> - 4.11.0-5
- Rebase mstflint to latest upstream release v4.11.0-4
* Fri Feb 22 2019 Honggang Li <honli@redhat.com> - 4.11.0-4
- Fix mstflint segment fault issue for ConnectX-5 HCA
- Resolves: 1679844
* Tue Feb 12 2019 Honggang Li <honli@redhat.com> - 4.11.0-3
- Rebase mstflint to latest upstream release v4.11.0-3
- Resolves: 1676338
* Fri Feb 1 2019 Honggang Li <honli@redhat.com> - 4.11.0-2
- Rebase to latest upstream release v4.11.0-2
- Resolves: bz1634777
- Rebase mstflint to latest upstream release v4.11.0-2
- Resolves: bz1671710
* Thu Sep 27 2018 Honggang Li <honli@redhat.com> - 4.10.0.3
- Fix annocheck issues
- Resolves: bz1630599
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sun Aug 12 2018 Honggang Li <honli@redhat.com> - 4.10.0.2
- Rebase to latest upstream release v4.10.0-2
- Fix license issue of mtcr_ul.c
- Resolves: bz1541741
* Fri Jan 25 2019 Jonathan Wakely <jwakely@redhat.com> - 4.10.0-3
- Rebuilt for Boost 1.69
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jul 10 2018 Honggang Li <honli@redhat.com> - 4.10.0-1
- Rebase to latest upstream release v4.10.0-1

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

70
mstflint.spec Normal file
View File

@ -0,0 +1,70 @@
%global __remake_config 1
Name: mstflint
Summary: Mellanox firmware burning tool
%global forgeurl https://github.com/Mellanox/%{name}
%global version0 4.32.0
# 4.32.0 has several build bugs, so use a later snapshot.
# top of master_devel branch as of 2025-05-17:
%global commit 48a145409b058b275cbcc1fe8edd5581932c5eb0
%global date 20250517
%forgemeta
Version: %forgeversion
Release: %autorelease
# COPYING says the license is your choice of OpenIB.org BSD or GPLv2.
# kernel/Makefile has the 3-clause BSD.
# ext_libs/{iniParser,json,muparser}/ have MIT.
# ext_libs/sqlite/ has the SQLite blessing.
License: (GPL-2.0-only OR Linux-OpenIB) AND BSD-3-Clause AND MIT AND blessing
Url: %{forgeurl}
Source0: %{forgesource}
BuildRequires: make
BuildRequires: libstdc++-devel, zlib-devel, libibmad-devel, gcc-c++, gcc
BuildRequires: libcurl-devel, boost-devel, libxml2-devel
BuildRequires: openssl-devel
BuildRequires: expat-devel
%if %{__remake_config}
BuildRequires: libtool, autoconf, automake
%endif
Obsoletes: openib-mstflint <= 1.4 openib-tvflash <= 0.9.2 tvflash <= 0.9.0
ExcludeArch: s390 s390x %{arm}
Requires: python3
%description
This package contains firmware update tool, vpd dump and register dump tools
for network adapters based on Mellanox Technologies chips.
%prep
%forgeautosetup -p1
find . -type f -perm /a+x \( -name '*.[ch]' -o -name '*.cpp' \) -exec chmod a-x '{}' '+'
%build
%if %{__remake_config}
./autogen.sh
%endif
%configure --enable-fw-mgr --enable-openssl --enable-adb-generic-tools
%make_build
%install
%make_install
# Remove the devel files that we don't ship
rm -fr %{buildroot}%{_includedir}
find %{buildroot} -type f,l \( -name '*.a' -o -name '*.la' \) -delete
# Mark these shared libs executable for find-debuginfo.sh to find them.
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Debuginfo/
chmod +x %{buildroot}/%{_libdir}/mstflint/{python_tools,sdk}/*.so
%files
%doc README
%_bindir/*
%{_sysconfdir}/mstflint
%{_libdir}/mstflint
%{_datadir}/mstflint
%{_mandir}/man1/*
%changelog
%autochangelog

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (mstflint-48a145409b058b275cbcc1fe8edd5581932c5eb0.tar.gz) = 4040c607f369bbe6c3a251ef484e1a281d54c0eb7e32b2b408ca8e1d176488285a2659a8cac7d49eef29aca702126c40b3112d58a7783c8ee52bb3e692aa6629

10
tests/run_tests.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
# when running this in 1minutetip the PATH must be specified to execute
# in the local directory.
echo "Setting path to local directory"
PATH=$PATH:$(pwd)
# simple sanity test
sanity.sh
exit $?

47
tests/sanity.sh Executable file
View File

@ -0,0 +1,47 @@
#!/bin/bash
#
# This is a simple sanity test to satisfy the RHEL8.1 onboard gating
# requirement.
ret=0
cx2="ConnectX VPI PCIe 2.0"
cx3="[ConnectX-3]"
device_list=$(lspci | grep 'Mellanox' | grep -v 'Virtual' | grep -v 'DMA controller' | awk '{print $1}')
# Skip loop if device list is empty
[[ -z "${dev// }" ]] || for dev in "$device_list"; do
# View Device Info
lspci -vvv -s "$dev"
dev_name=$(lspci -s "$dev")
# Test Mstflint Tools
mstflint -d "$dev" q
let ret=$ret+$?
# mstconfig does not support < 4th Gen devices (e.g. ConnectX-2)
if [[ "$dev_name" != *"$cx2"* ]]; then
mstconfig -d "${dev}" q
let ret=$ret+$?
fi
mstvpd "$dev" 2>/dev/null
let ret=$ret+$?
mstregdump "$dev" >/dev/null
let ret=$ret+$?
# mstfwmanager/mstfwreset do not support ConnectX-2 or ConnectX-3
if [[ "$dev_name" != *"$cx2"* && "$dev_name" != *"$cx3"* ]]; then
mstfwmanager -d "$dev" --query
let ret=$ret+$?
mstfwreset -d "$dev" q
let ret=$ret+$?
fi
done
# end test - it is possible no Mellanox devices were available at all to test,
# in which case we automatically mark the test PASS (exit 0)
exit $ret

12
tests/tests.yml Normal file
View File

@ -0,0 +1,12 @@
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
tests:
- simple:
dir: .
run: ./run_tests.sh
required_packages:
- pciutils
- mstflint