From 5a87d984142730228c74bf8ac5a6720d4055b003 Mon Sep 17 00:00:00 2001 From: Michal Schmidt Date: Mon, 19 May 2025 09:28:54 +0200 Subject: [PATCH] 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 --- .gitignore | 1 + 0001-Fix-bind-now-test.patch | 26 ------- ...ault-link-flags-for-shared-libraries.patch | 67 ------------------- mstflint.spec | 38 +++++------ ...-with-mstfwreset-in-mstflint-message.patch | 26 ------- sources | 2 +- 6 files changed, 20 insertions(+), 140 deletions(-) delete mode 100644 0001-Fix-bind-now-test.patch delete mode 100644 add-default-link-flags-for-shared-libraries.patch delete mode 100644 replace-mlxfwreset-with-mstfwreset-in-mstflint-message.patch diff --git a/.gitignore b/.gitignore index b8522ae..7e6752c 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,4 @@ noarch/ /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 diff --git a/0001-Fix-bind-now-test.patch b/0001-Fix-bind-now-test.patch deleted file mode 100644 index a489d5f..0000000 --- a/0001-Fix-bind-now-test.patch +++ /dev/null @@ -1,26 +0,0 @@ -From f9c2ffd7935fb799a084d74ee432e21c3f45b6f1 Mon Sep 17 00:00:00 2001 -From: Kamal Heib -Date: Fri, 24 May 2024 21:15:47 -0400 -Subject: [PATCH] Fix bind-now test - -Signed-off-by: Kamal Heib ---- - 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 - diff --git a/add-default-link-flags-for-shared-libraries.patch b/add-default-link-flags-for-shared-libraries.patch deleted file mode 100644 index d3abf76..0000000 --- a/add-default-link-flags-for-shared-libraries.patch +++ /dev/null @@ -1,67 +0,0 @@ -From a91f8252d007aa0d8b2d211ea0061a60ad003c73 Mon Sep 17 00:00:00 2001 -From: Kamal Heib -Date: Tue, 17 Oct 2023 14:19:52 -0400 -Subject: [PATCH] Add default link flags for shared libraries - -Signed-off-by: Kamal Heib ---- - 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 - diff --git a/mstflint.spec b/mstflint.spec index 666e361..7d8f9d5 100644 --- a/mstflint.spec +++ b/mstflint.spec @@ -2,23 +2,27 @@ Name: mstflint 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 # 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: https://github.com/Mellanox/%{name} -Source0: https://github.com/Mellanox/%{name}/releases/download/v%{version}-1/%{name}-%{version}-1.tar.gz -Group: Applications/System - -Patch1: 0001-Fix-bind-now-test.patch -Patch4: add-default-link-flags-for-shared-libraries.patch +Url: %{forgeurl} +Source0: %{forgesource} BuildRequires: make 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 %if %{__remake_config} 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. %prep -%setup -q -n %{name}-%{version} +%forgeautosetup -p1 -%patch1 -p1 -%patch4 -p1 - -find . -type f -iname '*.[ch]' -exec chmod a-x '{}' ';' -find . -type f -iname '*.cpp' -exec chmod a-x '{}' ';' +find . -type f -perm /a+x \( -name '*.[ch]' -o -name '*.cpp' \) -exec chmod a-x '{}' '+' %build %if %{__remake_config} ./autogen.sh %endif -%configure --enable-adb-generic-tools --disable-openssl +%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 -name '*.la' -delete -find %{buildroot} -type f -name '*.a' -delete +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/*.so -chmod +x %{buildroot}/%{_libdir}/mstflint/sdk/*.so +chmod +x %{buildroot}/%{_libdir}/mstflint/{python_tools,sdk}/*.so %files %doc README %_bindir/* +%{_sysconfdir}/mstflint %{_libdir}/mstflint -%{_libdir}/libmtcr_ul.a %{_datadir}/mstflint %{_mandir}/man1/* diff --git a/replace-mlxfwreset-with-mstfwreset-in-mstflint-message.patch b/replace-mlxfwreset-with-mstfwreset-in-mstflint-message.patch deleted file mode 100644 index d24ef01..0000000 --- a/replace-mlxfwreset-with-mstfwreset-in-mstflint-message.patch +++ /dev/null @@ -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 diff --git a/sources b/sources index fe2a288..cd4d7ac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mstflint-4.30.0-1.tar.gz) = 05836cd1a922937d6ae530e5d579c4c896dd510129669337b4f0aae0f2ec0e05c1866d65f60c5e0c0d5b3a17564a542c051e293170e866705668d3d684a75556 +SHA512 (mstflint-48a145409b058b275cbcc1fe8edd5581932c5eb0.tar.gz) = 4040c607f369bbe6c3a251ef484e1a281d54c0eb7e32b2b408ca8e1d176488285a2659a8cac7d49eef29aca702126c40b3112d58a7783c8ee52bb3e692aa6629