Update to v4.32.0 + upstream build fixes

Sync from Fedora Rawhide.
The new upstream version no longer uses the OpenSSL Engine API,
so this also re-enables the mstfwmanager.
Remove the broken libmtcr_ul.a symlink.

Resolves: RHEL-58081
Resolves: RHEL-77098
Resolves: RHEL-84610
Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
This commit is contained in:
Michal Schmidt 2025-05-19 09:28:54 +02:00
parent 77c1363d02
commit 5a87d98414
6 changed files with 20 additions and 140 deletions

1
.gitignore vendored
View File

@ -46,3 +46,4 @@ noarch/
/mstflint-4.25.0-1.tar.gz /mstflint-4.25.0-1.tar.gz
/mstflint-4.26.0-1.tar.gz /mstflint-4.26.0-1.tar.gz
/mstflint-4.30.0-1.tar.gz /mstflint-4.30.0-1.tar.gz
/mstflint-48a145409b058b275cbcc1fe8edd5581932c5eb0.tar.gz

View File

@ -1,26 +0,0 @@
From f9c2ffd7935fb799a084d74ee432e21c3f45b6f1 Mon Sep 17 00:00:00 2001
From: Kamal Heib <kheib@redhat.com>
Date: Fri, 24 May 2024 21:15:47 -0400
Subject: [PATCH] Fix bind-now test
Signed-off-by: Kamal Heib <kheib@redhat.com>
---
resourcetools/resourcedump_lib/src/sdk/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/resourcetools/resourcedump_lib/src/sdk/Makefile.am b/resourcetools/resourcedump_lib/src/sdk/Makefile.am
index aefc88a4f849..de9577b27379 100644
--- a/resourcetools/resourcedump_lib/src/sdk/Makefile.am
+++ b/resourcetools/resourcedump_lib/src/sdk/Makefile.am
@@ -86,7 +86,7 @@ resource_dump_sdk_so_DEPS = \
# if !WIN_BUILD
libresource_dump_sdk.so: libresource_dump_sdk.la
- $(CC) -Wall -pthread -shared ${CFLAGS} $(COMPILER_FPIC) libresource_dump_sdk_la-resource_dump_sdk.o \
+ $(CC) -Wall -pthread -shared -Wl,-z,now -Wl,${CFLAGS} $(COMPILER_FPIC) libresource_dump_sdk_la-resource_dump_sdk.o \
-o libresource_dump_sdk.so ${AM_LDFLAGS} $(resource_dump_sdk_so_DEPS)
# else
# libresource_dump_sdk.dll: libresource_dump_sdk.la
--
2.45.0

View File

@ -1,67 +0,0 @@
From a91f8252d007aa0d8b2d211ea0061a60ad003c73 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 7bb332aada48..3ffdf7d6653e 100644
--- a/cmdif/Makefile.am
+++ b/cmdif/Makefile.am
@@ -53,7 +53,7 @@ libcmdif_la_SOURCES = tools_cif.c tools_cif.h icmd_cif_common.c icmd_cif_common.
cmdif_pylibdir = $(libdir)/mstflint/python_tools/
cmdif_pylib_DATA = ${CCMDIF_SO} cmdif.py
${CCMDIF_SO}: libcmdif.la
- $(CC) -g -Wall -pthread -shared ${CFLAGS} *.o -o ${CCMDIF_SO} \
+ $(CC) -g -Wall -pthread -shared ${CFLAGS} ${LDFLAGS} *.o -o ${CCMDIF_SO} \
$(top_builddir)/tools_layouts/.libs/libtools_layouts.a $(top_builddir)/${MTCR_CONF_DIR}/.libs/libmtcr_ul.a
CLEANFILES = ${CCMDIF_SO}
diff --git a/dev_mgt/Makefile.am b/dev_mgt/Makefile.am
index a5f66e9fd935..0d1417daa647 100644
--- a/dev_mgt/Makefile.am
+++ b/dev_mgt/Makefile.am
@@ -50,7 +50,7 @@ dev_mgt_pylib_DATA = c_dev_mgt.so
dist_dev_mgt_pylib_DATA = dev_mgt.py
c_dev_mgt.so: libdev_mgt.la
- $(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 \
$(top_builddir)/reg_access/.libs/libreg_access.a \
$(top_builddir)/tools_layouts/.libs/libtools_layouts.a \
$(top_builddir)/${MTCR_CONF_DIR}/.libs/libmtcr_ul.a
diff --git a/mtcr_py/Makefile.am b/mtcr_py/Makefile.am
index 46fa4e60916d..2f431156a45e 100644
--- a/mtcr_py/Makefile.am
+++ b/mtcr_py/Makefile.am
@@ -35,6 +35,6 @@ mtcr_pylibdir = $(libdir)/mstflint/python_tools/
mtcr_pylib_DATA = cmtcr.so
dist_mtcr_pylib_DATA = mtcr.py
cmtcr.so:
- $(CC) -g -Wall -pthread -shared ${CFLAGS} -o cmtcr.so -Wl,--whole-archive $(top_builddir)/${MTCR_CONF_DIR}/.libs/libmtcr_ul.a -Wl,--no-whole-archive
+ $(CC) -g -Wall -pthread -shared ${CFLAGS} ${LDFLAGS} -o cmtcr.so -Wl,--whole-archive $(top_builddir)/${MTCR_CONF_DIR}/.libs/libmtcr_ul.a -Wl,--no-whole-archive
CLEANFILES = cmtcr.so
diff --git a/reg_access/Makefile.am b/reg_access/Makefile.am
index 8e38c473cc9c..6228b45af312 100644
--- a/reg_access/Makefile.am
+++ b/reg_access/Makefile.am
@@ -57,7 +57,7 @@ reg_access_pylib_DATA = ${RREG_ACCESS_SO}
dist_reg_access_pylib_DATA = regaccess.py regaccess_hca_ext_structs.py regaccess_switch_ext_structs.py
${RREG_ACCESS_SO}: libreg_access.la
- $(CC) -g -Wall -pthread -shared ${CFLAGS} *.o -o ${RREG_ACCESS_SO} \
+ $(CC) -g -Wall -pthread -shared ${CFLAGS} ${LDFLAGS} *.o -o ${RREG_ACCESS_SO} \
$(top_builddir)/tools_layouts/.libs/libtools_layouts.a $(top_builddir)/${MTCR_CONF_DIR}/.libs/libmtcr_ul.a
CLEANFILES = ${RREG_ACCESS_SO}
--
2.44.0

View File

@ -2,23 +2,27 @@
Name: mstflint Name: mstflint
Summary: Mellanox firmware burning tool Summary: Mellanox firmware burning tool
Version: 4.30.0 %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 Release: %autorelease
# COPYING says the license is your choice of OpenIB.org BSD or GPLv2. # COPYING says the license is your choice of OpenIB.org BSD or GPLv2.
# kernel/Makefile has the 3-clause BSD. # kernel/Makefile has the 3-clause BSD.
# ext_libs/{iniParser,json,muparser}/ have MIT. # ext_libs/{iniParser,json,muparser}/ have MIT.
# ext_libs/sqlite/ has the SQLite blessing. # ext_libs/sqlite/ has the SQLite blessing.
License: (GPL-2.0-only OR Linux-OpenIB) AND BSD-3-Clause AND MIT AND blessing License: (GPL-2.0-only OR Linux-OpenIB) AND BSD-3-Clause AND MIT AND blessing
Url: https://github.com/Mellanox/%{name} Url: %{forgeurl}
Source0: https://github.com/Mellanox/%{name}/releases/download/v%{version}-1/%{name}-%{version}-1.tar.gz Source0: %{forgesource}
Group: Applications/System
Patch1: 0001-Fix-bind-now-test.patch
Patch4: add-default-link-flags-for-shared-libraries.patch
BuildRequires: make BuildRequires: make
BuildRequires: libstdc++-devel, zlib-devel, libibmad-devel, gcc-c++, gcc BuildRequires: libstdc++-devel, zlib-devel, libibmad-devel, gcc-c++, gcc
BuildRequires: libcurl-devel, boost-devel, libxml2-devel, openssl-devel BuildRequires: libcurl-devel, boost-devel, libxml2-devel
BuildRequires: openssl-devel
BuildRequires: expat-devel BuildRequires: expat-devel
%if %{__remake_config} %if %{__remake_config}
BuildRequires: libtool, autoconf, automake BuildRequires: libtool, autoconf, automake
@ -32,38 +36,32 @@ This package contains firmware update tool, vpd dump and register dump tools
for network adapters based on Mellanox Technologies chips. for network adapters based on Mellanox Technologies chips.
%prep %prep
%setup -q -n %{name}-%{version} %forgeautosetup -p1
%patch1 -p1 find . -type f -perm /a+x \( -name '*.[ch]' -o -name '*.cpp' \) -exec chmod a-x '{}' '+'
%patch4 -p1
find . -type f -iname '*.[ch]' -exec chmod a-x '{}' ';'
find . -type f -iname '*.cpp' -exec chmod a-x '{}' ';'
%build %build
%if %{__remake_config} %if %{__remake_config}
./autogen.sh ./autogen.sh
%endif %endif
%configure --enable-adb-generic-tools --disable-openssl %configure --enable-fw-mgr --enable-openssl --enable-adb-generic-tools
%make_build %make_build
%install %install
%make_install %make_install
# Remove the devel files that we don't ship # Remove the devel files that we don't ship
rm -fr %{buildroot}%{_includedir} rm -fr %{buildroot}%{_includedir}
find %{buildroot} -type f -name '*.la' -delete find %{buildroot} -type f,l \( -name '*.a' -o -name '*.la' \) -delete
find %{buildroot} -type f -name '*.a' -delete
# Mark these shared libs executable for find-debuginfo.sh to find them. # Mark these shared libs executable for find-debuginfo.sh to find them.
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Debuginfo/ # https://docs.fedoraproject.org/en-US/packaging-guidelines/Debuginfo/
chmod +x %{buildroot}/%{_libdir}/mstflint/python_tools/*.so chmod +x %{buildroot}/%{_libdir}/mstflint/{python_tools,sdk}/*.so
chmod +x %{buildroot}/%{_libdir}/mstflint/sdk/*.so
%files %files
%doc README %doc README
%_bindir/* %_bindir/*
%{_sysconfdir}/mstflint
%{_libdir}/mstflint %{_libdir}/mstflint
%{_libdir}/libmtcr_ul.a
%{_datadir}/mstflint %{_datadir}/mstflint
%{_mandir}/man1/* %{_mandir}/man1/*

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 +1 @@
SHA512 (mstflint-4.30.0-1.tar.gz) = 05836cd1a922937d6ae530e5d579c4c896dd510129669337b4f0aae0f2ec0e05c1866d65f60c5e0c0d5b3a17564a542c051e293170e866705668d3d684a75556 SHA512 (mstflint-48a145409b058b275cbcc1fe8edd5581932c5eb0.tar.gz) = 4040c607f369bbe6c3a251ef484e1a281d54c0eb7e32b2b408ca8e1d176488285a2659a8cac7d49eef29aca702126c40b3112d58a7783c8ee52bb3e692aa6629