diff --git a/.gitignore b/.gitignore index e69de29..84b94c1 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,35 @@ +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 diff --git a/add-default-link-flags-for-shared-libraries.patch b/add-default-link-flags-for-shared-libraries.patch new file mode 100644 index 0000000..4d99c18 --- /dev/null +++ b/add-default-link-flags-for-shared-libraries.patch @@ -0,0 +1,52 @@ +diff --git a/cmdif/Makefile.am b/cmdif/Makefile.am +index d4f89a2..46604f5 100644 +--- a/cmdif/Makefile.am ++++ b/cmdif/Makefile.am +@@ -46,7 +46,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 907e5ce..a7e2249 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 5f5677d..566a870 100644 +--- a/mtcr_py/Makefile.am ++++ b/mtcr_py/Makefile.am +@@ -39,7 +39,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 ++ $(CC) -g -Wall -pthread -shared ${CFLAGS} ${LDFLAGS} $(MTCR_DIR)/*.o -o cmtcr.so + + CLEANFILES = cmtcr.so + +diff --git a/reg_access/Makefile.am b/reg_access/Makefile.am +index 353fe02..7d70fd8 100644 +--- a/reg_access/Makefile.am ++++ b/reg_access/Makefile.am +@@ -53,7 +53,7 @@ reg_access_pylib_DATA = ${RREG_ACCESS_SO} regaccess.py + dist_reg_access_pylib_DATA = regaccess.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 -L$(MTCR_DIR) -lmtcr_ul + + CLEANFILES = ${RREG_ACCESS_SO} diff --git a/extend-buffer.patch b/extend-buffer.patch new file mode 100644 index 0000000..99136a3 --- /dev/null +++ b/extend-buffer.patch @@ -0,0 +1,13 @@ +diff --git a/ext_libs/iniParser/iniparser.c b/ext_libs/iniParser/iniparser.c +index 8bc0a18..f981775 100644 +--- a/ext_libs/iniParser/iniparser.c ++++ b/ext_libs/iniParser/iniparser.c +@@ -572,7 +572,7 @@ dictionary * iniparser_load(const char * ininame) + char line [ASCIILINESZ+1] ; + char section [ASCIILINESZ+1] ; + char key [ASCIILINESZ+1] ; +- char tmp [ASCIILINESZ+1] ; ++ char tmp [(ASCIILINESZ+1)*2] ; + char val [ASCIILINESZ+1] ; + + int last=0 ; diff --git a/mstflint.spec b/mstflint.spec new file mode 100644 index 0000000..3b688e4 --- /dev/null +++ b/mstflint.spec @@ -0,0 +1,244 @@ +%global __remake_config 1 + +Name: mstflint +Summary: Mellanox firmware burning tool +Version: 4.15.0 +Release: 1%{?dist} +License: GPLv2+ or BSD +Group: Applications/System +Source: https://github.com/Mellanox/mstflint/releases/download/v4.15.0-1/mstflint-4.15.0-1.tar.gz +Patch3: extend-buffer.patch +Patch4: add-default-link-flags-for-shared-libraries.patch +Patch6: replace-mlxfwreset-with-mstfwreset-in-mstflint-message.patch +Url: https://github.com/Mellanox/mstflint +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 mstflint-4.15.0 +%patch3 -p1 +%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 + +%files +%doc README +%_bindir/* +%{_sysconfdir}/mstflint +%{_libdir}/mstflint + +%{_datadir}/mstflint +%{_mandir}/man1/* + +%changelog +* Wed Sep 16 2020 Honggang Li - 4.15.0-1 +- Rebase mstflint to latest upstream release v4.15.0-1 + +* Tue Jul 28 2020 Fedora Release Engineering - 4.14.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 13 2020 Tom Stellard - 4.14.0-4 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Mon Jun 22 2020 Honggang Li - 4.14.0-3 +- Rebase mstflint to latest upstream release v4.14.0-3 + +* Sat May 30 2020 Jonathan Wakely - 4.14.0-2 +- Rebuilt for Boost 1.73 + +* Tue Mar 31 2020 Honggang Li - 4.14.0-1 +- Rebase mstflint to latest upstream release v4.14.0-1 + +* Wed Jan 29 2020 Fedora Release Engineering - 4.13.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Jan 07 2020 Honggang Li - 4.13.3-2 +- Rebase mstflint to latest upstream release v4.13.3-2 + +* Sun Jan 05 2020 Honggang Li - 4.13.3-1 +- Rebase mstflint to latest upstream release v4.13.3-1 + +* Thu Oct 17 2019 Honggang Li - 4.13.1-1 +- Rebase mstflint to latest upstream release v4.13.1-1 + +* Wed Oct 02 2019 Honggang Li - 4.13.0-1 +- Rebase mstflint to latest upstream release v4.13.0-1 +- Resolves: bz1758011 + +* Thu Jul 25 2019 Fedora Release Engineering - 4.11.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Apr 15 2019 Honggang Li - 4.11.0-5 +- Rebase mstflint to latest upstream release v4.11.0-4 + +* Fri Feb 22 2019 Honggang Li - 4.11.0-4 +- Fix mstflint segment fault issue for ConnectX-5 HCA +- Resolves: 1679844 + +* Tue Feb 12 2019 Honggang Li - 4.11.0-3 +- Rebase mstflint to latest upstream release v4.11.0-3 +- Resolves: 1676338 + +* Fri Feb 1 2019 Honggang Li - 4.11.0-2 +- Rebase mstflint to latest upstream release v4.11.0-2 +- Resolves: bz1671710 + +* Fri Feb 01 2019 Fedora Release Engineering - 4.10.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jan 25 2019 Jonathan Wakely - 4.10.0-3 +- Rebuilt for Boost 1.69 + +* Fri Jul 13 2018 Fedora Release Engineering - 4.10.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jul 10 2018 Honggang Li - 4.10.0-1 +- Rebase to latest upstream release v4.10.0-1 +- Resolves: bz1550400 + +* Thu Feb 08 2018 Fedora Release Engineering - 4.8.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Jan 23 2018 Jonathan Wakely - 4.8.0-4 +- Rebuilt for Boost 1.66 + +* Fri Dec 15 2017 Honggang Li - 4.8.0-3 +- Rebase mstflint to latest upstream release v4.8.0-2 +- Resolves: bz1526293 + +* Thu Aug 03 2017 Fedora Release Engineering - 4.6.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 4.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Feb 27 2017 Honggang Li - 4.6.0-2 +- Add man pages. +- Resolves: bz1427063 + +* Wed Feb 22 2017 Honggang Li - 4.6.0-1 +- Rebase to latest upstream release 4.6.0. +- Update mstflint package from github. +- Resolves: bz1423970 + +* Fri Feb 10 2017 Fedora Release Engineering - 4.4.0-2.12.gd1edd58.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Aug 24 2016 Honggang Li - 4.4.0-1.12.gd1edd58.1 +- Rebase to latest upstream release 4.4.0-1.12.gd1edd58 (bz1369683). + +* Fri Apr 8 2016 Honggang Li - 4.3.0-1.49.g9b9af70.1 +- Rebase to latest upstream version 4.3.0-1.49.g9b9af70. + +* Thu Feb 04 2016 Fedora Release Engineering - 4.1.0-0.47.gb1cdaf7.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Dec 02 2015 Doug Ledford - 4.1.0-0.46.gb1cdaf7.1 +- Update to latest upstream sources (enables ConnectX-4 support) +- Drop patch that no longer applies + +* Wed Jun 17 2015 Fedora Release Engineering - 3.0-0.11.g6961daa.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 3.0-0.10.g6961daa.1 +- Rebuilt for GCC 5 C++11 ABI change + +* Sun Aug 17 2014 Fedora Release Engineering - 3.0-0.9.g6961daa.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Jun 20 2014 Yaakov Selkowitz - 3.0-0.8.g6961daa.1 +- Fix FTBFS with -Werror=format-security (#1037207, #1106248) +- ExcludeArch: %%arm aarch64 +- Cleanup spec + +* Sat Jun 07 2014 Fedora Release Engineering - 3.0-0.7.g6961daa.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Aug 16 2013 Doug Ledford - 3.0-0.6.g6961daa.1 +- Update to latest upstream version, which resovles some licensing issues + on some of the source files + +* Fri Aug 09 2013 Doug Ledford - 3.0-0.5.gff93670.1 +- Update to latest upstream version, which include ConnectIB support + +* Sat Aug 03 2013 Fedora Release Engineering - 1.4-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 1.4-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jul 20 2012 Fedora Release Engineering - 1.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Doug Ledford - 1.4-7 +- The upstream tarball as provided is broken. Clean up the tarball so + the package builds properly + +* Fri Jan 06 2012 Doug Ledford - 1.4-6 +- Initial import into Fedora + +* Wed Oct 26 2011 Doug Ledford - 1.4-5.el6 +- Update to a version that will support the latest Mellanox CX3 hardware +- Resolves: bz748244 + +* Mon Aug 08 2011 Doug Ledford - 1.4-4.el6 +- Fix a bug in mmio space unmapping +- Resolves: bz729061 +- Related: bz725016 + +* Fri Feb 19 2010 Doug Ledford - 1.4-3.el6 +- Don't include mtcr.h as we don't really expect anything to need Mellanox + card register definitions except this program, and we already have the + file. +- Change to ExcludeArch instead of ExclusiveArch so we build in all the right + places. +- Related: bz543948 + +* Mon Jan 25 2010 Doug Ledford - 1.4-2.el6 +- Update to tarball from URL instead of from OFED +- Minor tweaks for pkgwrangler import +- Related: bz543948 + +* Sat Apr 18 2009 Doug Ledford - 1.4-1.el5 +- Update to ofed 1.4.1-rc3 version +- Related: bz459652 + +* Tue Apr 01 2008 Doug Ledford - 1.3-1 +- Update to OFED 1.3 final bits +- Related: bz428197 + +* Sun Jan 27 2008 Doug Ledford - 1.2-2 +- Obsolete the old openib-mstflint package + +* Fri Jan 25 2008 Doug Ledford - 1.2-1 +- Initial import into CVS +- Related: bz428197 + +* Thu Jul 19 2007 - Vladimir Sokolovsky vlad@mellanox.co.il +- Initial Package, Version 1.2 diff --git a/replace-mlxfwreset-with-mstfwreset-in-mstflint-message.patch b/replace-mlxfwreset-with-mstfwreset-in-mstflint-message.patch new file mode 100644 index 0000000..48c32d8 --- /dev/null +++ b/replace-mlxfwreset-with-mstfwreset-in-mstflint-message.patch @@ -0,0 +1,26 @@ +diff --git a/flint/subcommands.cpp b/flint/subcommands.cpp +index 3840579..3d2680b 100644 +--- a/flint/subcommands.cpp ++++ b/flint/subcommands.cpp +@@ -3018,7 +3018,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 be7a913..e7e7b64 100644 +--- a/mlxfwops/lib/flint_base.h ++++ b/mlxfwops/lib/flint_base.h +@@ -395,7 +395,7 @@ struct BOARD_ID { + #define TRACER_HASH_SECT "Tracer Hash section" + #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 new file mode 100644 index 0000000..508994b --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (mstflint-4.15.0-1.tar.gz) = 00a7302132ab6c4dd0d743dfa9a07c7468e8515f8f851a0a5f6ad2ae797e5a3a33142a8c8fb60a0286131054c14253baf92c96cbb051cf9231431062057249b2