Rebase mstflint to latest upstream release v4.11.0-3

Resolves: 1676338

Signed-off-by: Honggang Li <honli@redhat.com>
This commit is contained in:
Honggang Li 2019-02-12 11:39:07 +08:00
parent bbc2798aca
commit c600aaa732
6 changed files with 239 additions and 16 deletions

1
.gitignore vendored
View File

@ -24,3 +24,4 @@ noarch/
/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

View File

@ -1,6 +1,6 @@
From f12533225483f8c9bdc0d1ef7e7a04214571fab2 Mon Sep 17 00:00:00 2001
From f355d4902890e5b4db15b87903a299697764bc8a Mon Sep 17 00:00:00 2001
From: Honggang Li <honli@redhat.com>
Date: Fri, 1 Feb 2019 04:07:13 -0500
Date: Fri, 8 Feb 2019 21:26:39 -0500
Subject: [PATCH] Fix shebang for python scripts
rhel-8 does not support python2. User '#!/usr/bin/python3' for all
@ -75,7 +75,7 @@ index 4971b00..1f34925 100755
# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
#
diff --git a/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py b/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py
index 36b82ff..6587e6a 100755
index 1d614ac..153c87b 100755
--- a/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py
+++ b/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py
@@ -1,4 +1,4 @@
@ -115,5 +115,5 @@ index 6d45200..f764de3 100755
# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
#
--
2.18.1
2.20.1

View File

@ -0,0 +1,180 @@
diff --git a/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py b/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py
index 36b82ff..1d614ac 100755
--- a/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py
+++ b/small_utils/mlxfwresetlib/mlxfwreset_status_checker.py
@@ -1,87 +1,87 @@
-#!/usr/bin/python
-
-# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
-#
-# This software is available to you under a choice of one of two
-# licenses. You may choose to be licensed under the terms of the GNU
-# General Public License (GPL) Version 2, available from the file
-# COPYING in the main directory of this source tree, or the
-# OpenIB.org BSD license below:
-#
-# Redistribution and use in source and binary forms, with or
-# without modification, are permitted provided that the following
-# conditions are met:
-#
-# - Redistributions of source code must retain the above
-# copyright notice, this list of conditions and the following
-# disclaimer.
-#
-# - Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials
-# provided with the distribution.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-#--
-
-"""
-* $Id : fwreset_status_checker.py 2017-11-28
-* $Authors : Ahmad Soboh (ahmads@mellanox.com)
-"""
-
-######################################################################
-# Description: FirmwareResetStatusChecker
-# OS Support : Linux/Windows.
-######################################################################
-
-
-class FirmwareResetStatusChecker(object):
-
- FirmwareUptimeStatusInit = 0x0
- FirmwareUptimeStatusBeforeDone = 0x1
- FirmwareUptimeStatusAfterDone = 0x2
- FirmwareUptimeStatusError = 0x3
-
- FirmwareResetStatusDone = 0x0
- FirmwareResetStatusFailed = 0x1
- FirmwareResetStatusUnknown = 0x2
-
- def __init__(self, regAccessObj):
- self._RegAccessObj = regAccessObj
- self._UptimeBeforeReset = 0x0
- self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusInit
- self._UptimeAfterReset = 0x0
- self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusInit
-
- def UpdateUptimeBeforeReset(self):
- try:
- self._UptimeBeforeReset = self._RegAccessObj.getFWUptime()
- self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusBeforeDone
- except Exception as e:
- self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusError
-
- def UpdateUptimeAfterReset(self):
- try:
- self._UptimeAfterReset = self._RegAccessObj.getFWUptime()
- self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusAfterDone
- except Exception as e:
- self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusError
-
- def GetStatus(self):
- if self._UptimeBeforeStatus == FirmwareResetStatusChecker.FirmwareUptimeStatusBeforeDone and\
- self._UptimeAfterStatus == FirmwareResetStatusChecker.FirmwareUptimeStatusAfterDone:
- if self._UptimeAfterReset < self._UptimeBeforeReset:
- return FirmwareResetStatusChecker.FirmwareResetStatusDone
- else:
- if self._UptimeBeforeReset > 5: #5 seconds
- return FirmwareResetStatusChecker.FirmwareResetStatusFailed
- else:
- return FirmwareResetStatusChecker.FirmwareResetStatusUnknown
- return FirmwareResetStatusChecker.FirmwareResetStatusUnknown
\ No newline at end of file
+#!/usr/bin/python
+
+# Copyright (c) 2004-2010 Mellanox Technologies LTD. All rights reserved.
+#
+# This software is available to you under a choice of one of two
+# licenses. You may choose to be licensed under the terms of the GNU
+# General Public License (GPL) Version 2, available from the file
+# COPYING in the main directory of this source tree, or the
+# OpenIB.org BSD license below:
+#
+# Redistribution and use in source and binary forms, with or
+# without modification, are permitted provided that the following
+# conditions are met:
+#
+# - Redistributions of source code must retain the above
+# copyright notice, this list of conditions and the following
+# disclaimer.
+#
+# - Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials
+# provided with the distribution.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+#--
+
+"""
+* $Id : fwreset_status_checker.py 2017-11-28
+* $Authors : Ahmad Soboh (ahmads@mellanox.com)
+"""
+
+######################################################################
+# Description: FirmwareResetStatusChecker
+# OS Support : Linux/Windows.
+######################################################################
+
+
+class FirmwareResetStatusChecker(object):
+
+ FirmwareUptimeStatusInit = 0x0
+ FirmwareUptimeStatusBeforeDone = 0x1
+ FirmwareUptimeStatusAfterDone = 0x2
+ FirmwareUptimeStatusError = 0x3
+
+ FirmwareResetStatusDone = 0x0
+ FirmwareResetStatusFailed = 0x1
+ FirmwareResetStatusUnknown = 0x2
+
+ def __init__(self, regAccessObj):
+ self._RegAccessObj = regAccessObj
+ self._UptimeBeforeReset = 0x0
+ self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusInit
+ self._UptimeAfterReset = 0x0
+ self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusInit
+
+ def UpdateUptimeBeforeReset(self):
+ try:
+ self._UptimeBeforeReset = self._RegAccessObj.getFWUptime()
+ self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusBeforeDone
+ except Exception as e:
+ self._UptimeBeforeStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusError
+
+ def UpdateUptimeAfterReset(self):
+ try:
+ self._UptimeAfterReset = self._RegAccessObj.getFWUptime()
+ self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusAfterDone
+ except Exception as e:
+ self._UptimeAfterStatus = FirmwareResetStatusChecker.FirmwareUptimeStatusError
+
+ def GetStatus(self):
+ if self._UptimeBeforeStatus == FirmwareResetStatusChecker.FirmwareUptimeStatusBeforeDone and\
+ self._UptimeAfterStatus == FirmwareResetStatusChecker.FirmwareUptimeStatusAfterDone:
+ if self._UptimeAfterReset < self._UptimeBeforeReset:
+ return FirmwareResetStatusChecker.FirmwareResetStatusDone
+ else:
+ if self._UptimeBeforeReset > 5: #5 seconds
+ return FirmwareResetStatusChecker.FirmwareResetStatusFailed
+ else:
+ return FirmwareResetStatusChecker.FirmwareResetStatusUnknown
+ return FirmwareResetStatusChecker.FirmwareResetStatusUnknown

View File

@ -3,12 +3,15 @@
Name: mstflint
Summary: Mellanox firmware burning tool
Version: 4.11.0
Release: 2%{?dist}
Release: 3%{?dist}
License: GPLv2+ or BSD
Source: https://github.com/Mellanox/mstflint/releases/download/v4.11.0-2/mstflint-4.11.0-2.tar.gz
Patch1: extend-buffer.patch
Patch2: add-default-link-flags-for-shared-libraries.patch
Patch3: 0001-Fix-shebang-for-python-scripts.patch
Group: Applications/System
Source: https://github.com/Mellanox/mstflint/releases/download/v4.11.0-3/mstflint-4.11.0-3.tar.gz
Patch1: convert-format-for-mlxfwreset_status_checker.patch
Patch2: 0001-Fix-shebang-for-python-scripts.patch
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
@ -28,12 +31,12 @@ for network adapters based on Mellanox Technologies chips.
%patch1 -p1
%patch2 -p1
%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
export CFLAGS="$RPM_OPT_FLAGS"
export CXXFLAGS="$RPM_OPT_FLAGS"
%if %{__remake_config}
./autogen.sh
%endif
@ -46,6 +49,15 @@ make DESTDIR=%{buildroot} install
rm -fr %{buildroot}%{_includedir}
find %{buildroot} -type f -name '*.la' -delete
find %{buildroot} -type f -name '*.a' -delete
# python scripts with shebang should be installed as executable
find %{buildroot} -type f -name test.py -exec chmod -v a+x '{}' ';'
find %{buildroot} -type f -name mstfwreset.py -exec chmod -v a+x '{}' ';'
find %{buildroot} -type f -name mlxfwreset_mlnxdriver.py -exec chmod -v a+x '{}' ';'
find %{buildroot} -type f -name mlnx_peripheral_components.py -exec chmod -v a+x '{}' ';'
find %{buildroot} -type f -name mlxfwreset_status_checker.py -exec chmod -v a+x '{}' ';'
find %{buildroot} -type f -name mcra.py -exec chmod -v a+x '{}' ';'
find %{buildroot} -type f -name mlxfwreset_utils.py -exec chmod -v a+x '{}' ';'
find %{buildroot} -type f -name pci_device.py -exec chmod -v a+x '{}' ';'
%files
%doc README
@ -57,6 +69,10 @@ find %{buildroot} -type f -name '*.a' -delete
%{_mandir}/man1/*
%changelog
* 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 mstflint to latest upstream release v4.11.0-2
- Resolves: bz1671710

View File

@ -0,0 +1,26 @@
diff --git a/flint/subcommands.cpp b/flint/subcommands.cpp
index 8c85e55..0822e8b 100644
--- a/flint/subcommands.cpp
+++ b/flint/subcommands.cpp
@@ -2997,7 +2997,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 eb434dc..e851085 100644
--- a/mlxfwops/lib/flint_base.h
+++ b/mlxfwops/lib/flint_base.h
@@ -394,7 +394,7 @@ struct BOARD_ID {
#define TLV_FORMAT_SECT "TLVs format section"
#define TRACER_HASH_SECT "Tracer Hash section"
#define REBOOT_REQUIRED_STR "To load new FW run reboot machine."
-#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."
#define numbel(x) (sizeof(x) / sizeof((x)[0]))
void report(const char *format, ...);

View File

@ -1 +1 @@
SHA512 (mstflint-4.11.0-2.tar.gz) = 0fa0152a427401bb9ff39c4d27f28dbfc9218c69f9bc0db003ceb3cd696d8875c90fd3bd0cd46c75719a4694c624fccfe7fcd0655c5d1d307f7c917a5b40a876
SHA512 (mstflint-4.11.0-3.tar.gz) = a7482442df08f97a6e225f8352ce17d361abda1ebe1cff6e9350ece31aaa36c1a7fb1d28751acef7a40ef9f53801aa9b4bfe97f210a9a97c3d2030961dc99da3