From 305c4316b8c01560602be756f40228bdda9fc6487baa43a4e477fa07b2afba6b Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 18 Jul 2016 19:24:12 +0000 Subject: [PATCH] Accepting request 408924 from OFED:Factory 1 OBS-URL: https://build.opensuse.org/request/show/408924 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mstflint?expand=0&rev=4 --- mstflint-4.0.0-1.30.g00eb005.tar.gz | 3 - mstflint-4.4.0-gcc6.patch | 497 ++++++++++++++++++++++ mstflint-4.4.0-implicit-declaration.patch | 34 ++ mstflint-4.4.0-no-date-time.patch | 16 + mstflint-4.4.0.tar.gz | 3 + mstflint-autotools.patch | 56 --- mstflint-no_Werror.patch | 23 - mstflint.changes | 15 + mstflint.spec | 62 +-- 9 files changed, 599 insertions(+), 110 deletions(-) delete mode 100644 mstflint-4.0.0-1.30.g00eb005.tar.gz create mode 100644 mstflint-4.4.0-gcc6.patch create mode 100644 mstflint-4.4.0-implicit-declaration.patch create mode 100644 mstflint-4.4.0-no-date-time.patch create mode 100644 mstflint-4.4.0.tar.gz delete mode 100644 mstflint-autotools.patch delete mode 100644 mstflint-no_Werror.patch diff --git a/mstflint-4.0.0-1.30.g00eb005.tar.gz b/mstflint-4.0.0-1.30.g00eb005.tar.gz deleted file mode 100644 index 220af76..0000000 --- a/mstflint-4.0.0-1.30.g00eb005.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a031ca5645e10b6137f9c027371ecabe53c53c6d1797ae57a2cefc247d7baa45 -size 1158577 diff --git a/mstflint-4.4.0-gcc6.patch b/mstflint-4.4.0-gcc6.patch new file mode 100644 index 0000000..477d8bb --- /dev/null +++ b/mstflint-4.4.0-gcc6.patch @@ -0,0 +1,497 @@ +Index: b/mlxfwops/lib/flint_io.cpp +=================================================================== +--- a/mlxfwops/lib/flint_io.cpp ++++ b/mlxfwops/lib/flint_io.cpp +@@ -751,7 +751,7 @@ const char* Flash::getFlashType() { + } else if (!strcmp(param_in, second_op)) {\ + out = 0;\ + } else {\ +- return errmsg("bad argument (%s) it can be "first_op" or " second_op"", param_in);\ ++ return errmsg("bad argument (%s) it can be " first_op " or " second_op, param_in);\ + }\ + } + bool Flash::set_attr(char *param_name, char *param_val_str) +@@ -763,11 +763,11 @@ bool Flash::set_attr(char *param_name, + u_int8_t quad_en_val; + quad_en_val = strtoul(param_val_str, &endp, 0); + if (*endp != '\0' || quad_en_val > 1) { +- return errmsg("Bad "QUAD_EN_PARAM" value (%s), it can be 0 or 1\n", param_val_str); ++ return errmsg("Bad " QUAD_EN_PARAM " value (%s), it can be 0 or 1\n", param_val_str); + } + rc = mf_set_quad_en(_mfl, quad_en_val); + if (rc != MFE_OK) { +- return errmsg("Setting "QUAD_EN_PARAM" failed: (%s)", mf_err2str(rc)); ++ return errmsg("Setting " QUAD_EN_PARAM " failed: (%s)", mf_err2str(rc)); + } + } else if (!strcmp(param_name, DUMMY_CYCLES_PARAM)) { + char* endp; +@@ -775,11 +775,11 @@ bool Flash::set_attr(char *param_name, + dummy_cycles_val = strtoul(param_val_str, &endp, 0); + if (*endp != '\0' || dummy_cycles_val < 1 || dummy_cycles_val > 15) { + // value is actually [0.15] but val=0 and val=15 indicate default state (thus they are the same so no need for both values to be accepted) +- return errmsg("Bad "DUMMY_CYCLES_PARAM" value (%s), it can be [1..15]\n", param_val_str); ++ return errmsg("Bad " DUMMY_CYCLES_PARAM " value (%s), it can be [1..15]\n", param_val_str); + } + rc = mf_set_dummy_cycles(_mfl, dummy_cycles_val); + if (rc != MFE_OK) { +- return errmsg("Setting "DUMMY_CYCLES_PARAM" failed: (%s)", mf_err2str(rc)); ++ return errmsg("Setting " DUMMY_CYCLES_PARAM " failed: (%s)", mf_err2str(rc)); + } + } else if (strstr(param_name, FLASH_NAME) == param_name) { + char *flash_param, *param_str, *endp, *bank_num_str; +@@ -801,7 +801,7 @@ bool Flash::set_attr(char *param_name, + num_str = strtok((char*)NULL, "-"); + sec = strtok((char*)NULL, ""); + if (tb == NULL || num_str == NULL || sec == NULL) { +- return errmsg("missing parameters for setting the "WRITE_PROTECT" attribute, see help for more info."); ++ return errmsg("missing parameters for setting the " WRITE_PROTECT " attribute, see help for more info."); + } + GET_IN_PARAM(tb, protect_info.is_bottom, WP_BOTTOM_STR, WP_TOP_STR); + GET_IN_PARAM(sec, protect_info.is_subsector, WP_SUBSEC_STR, WP_SEC_STR); +@@ -813,7 +813,7 @@ bool Flash::set_attr(char *param_name, + } + rc = mf_set_write_protect(_mfl, bank_num, &protect_info); + if (rc != MFE_OK) { +- return errmsg("Setting "WRITE_PROTECT" failed: (%s)", mf_err2str(rc)); ++ return errmsg("Setting " WRITE_PROTECT " failed: (%s)", mf_err2str(rc)); + } + } else { + return errmsg("Unknown attribute %s.%s", flash_param, param_str); +Index: b/mlxconfig/mlxcfg_parser.cpp +=================================================================== +--- a/mlxconfig/mlxcfg_parser.cpp ++++ b/mlxconfig/mlxcfg_parser.cpp +@@ -106,10 +106,10 @@ void MlxCfg::printHelp() + // print usage examples + printf("\n"); + printf(IDENT"Examples:\n"); +- printf(IDENT2"%-35s: %s\n", "To query current configuration", MLXCFG_NAME" -d "MST_DEV_EXAMPLE" query"); +- printf(IDENT2"%-35s: %s\n", "To set configuration", MLXCFG_NAME" -d "MST_DEV_EXAMPLE" set SRIOV_EN=1 NUM_OF_VFS=16 WOL_MAGIC_EN_P1=1"); +- printf(IDENT2"%-35s: %s\n", "To set raw configuration", MLXCFG_NAME" -d "MST_DEV_EXAMPLE2" -f conf_file set_raw"); +- printf(IDENT2"%-35s: %s\n", "To reset configuration", MLXCFG_NAME" -d "MST_DEV_EXAMPLE" reset"); ++ printf(IDENT2"%-35s: %s\n", "To query current configuration", MLXCFG_NAME " -d " MST_DEV_EXAMPLE " query"); ++ printf(IDENT2"%-35s: %s\n", "To set configuration", MLXCFG_NAME " -d " MST_DEV_EXAMPLE " set SRIOV_EN=1 NUM_OF_VFS=16 WOL_MAGIC_EN_P1=1"); ++ printf(IDENT2"%-35s: %s\n", "To set raw configuration", MLXCFG_NAME " -d " MST_DEV_EXAMPLE2 " -f conf_file set_raw"); ++ printf(IDENT2"%-35s: %s\n", "To reset configuration", MLXCFG_NAME " -d " MST_DEV_EXAMPLE " reset"); + printf("\n"); + printf(IDENT"Supported devices:\n"); + printf(IDENT2"4th Generation devices: ConnectX3, ConnectX3-Pro (FW 2.31.5000 and above).\n"); +@@ -125,7 +125,7 @@ void MlxCfg::printVersion() + } + + void MlxCfg::printUsage() { +- printf("\n"IDENT"Usage:\n" ++ printf("\n" IDENT "Usage:\n" + IDENT2 MLXCFG_NAME " [-d <%s> ] [-y|-e] |q[uery]|r[eset]|[ -f backup|set_raw]>\n\n", DEVICE_NAME); + } + +@@ -273,11 +273,11 @@ mlxCfgStatus MlxCfg::parseArgs(int argc, + } + i++; + if (_mlxParams.cmd == Mc_UnknownCmd) { +- return err(true, "No command found. For more information please run "MLXCFG_NAME" -h|--help."); ++ return err(true, "No command found. For more information please run " MLXCFG_NAME " -h|--help."); + } + // we parsed input until the set/query/reset cmd + if (i == argc && _mlxParams.cmd == Mc_Set) { +- return err(true, "missing configuration arguments. For more information please run "MLXCFG_NAME" -h|--help."); ++ return err(true, "missing configuration arguments. For more information please run " MLXCFG_NAME " -h|--help."); + } + if (i != argc && (_mlxParams.cmd == Mc_Reset || _mlxParams.cmd == Mc_Query)) { + return err(true, "%s command expects no argument but %d argument recieved", (_mlxParams.cmd == Mc_Reset) ? "reset" : "query", argc -i); +@@ -491,8 +491,8 @@ MlxCfgInfo MlxCfgAllInfo::createPciSetti + params[Mcp_PF_Log_Bar_Size] = MlxCfgParamParser(Mcp_PF_Log_Bar_Size, "PF_LOG_BAR_SIZE", "example: for 8Mb bar size set PF_LOG_BAR_SIZE=3 (only " FIFTH_GENERATION_LIST ")", "base_2_log_in_mb"); + params[Mcp_VF_Log_Bar_Size] = MlxCfgParamParser(Mcp_VF_Log_Bar_Size, "VF_LOG_BAR_SIZE", "example: for 8Mb bar size set VF_LOG_BAR_SIZE=3 (only " FIFTH_GENERATION_LIST ")", "base_2_log_in_mb"); + params[Mcp_Num_Of_Vfs] = MlxCfgParamParser(Mcp_Num_Of_Vfs, "NUM_OF_VFS", "desired amount of virtual functions", "NUM"); +- params[Mcp_Num_Pf_Msix] = MlxCfgParamParser(Mcp_Num_Pf_Msix, "NUM_PF_MSIX", "Number of MSI-X vectors and EQs per PF (only "FIFTH_GENERATION_LIST")", "NUM"); +- params[Mcp_Num_Vf_Msix] = MlxCfgParamParser(Mcp_Num_Vf_Msix, "NUM_VF_MSIX", "Number of MSI-X vectors and EQs per VF (only "FIFTH_GENERATION_LIST")", "NUM"); ++ params[Mcp_Num_Pf_Msix] = MlxCfgParamParser(Mcp_Num_Pf_Msix, "NUM_PF_MSIX", "Number of MSI-X vectors and EQs per PF (only " FIFTH_GENERATION_LIST ")", "NUM"); ++ params[Mcp_Num_Vf_Msix] = MlxCfgParamParser(Mcp_Num_Vf_Msix, "NUM_VF_MSIX", "Number of MSI-X vectors and EQs per VF (only " FIFTH_GENERATION_LIST ")", "NUM"); + return MlxCfgInfo("PCI Settings", "", params); + } + +Index: b/mlxfwops/lib/fs3_ops.cpp +=================================================================== +--- a/mlxfwops/lib/fs3_ops.cpp ++++ b/mlxfwops/lib/fs3_ops.cpp +@@ -482,7 +482,7 @@ bool Fs3Operations::VerifyTOC(u_int32_t + + if (!mfg_exists) { + _badDevDataSections = true; +- return errmsg(MLXFW_NO_MFG_ERR, "No \""MFG_INFO"\" info section."); ++ return errmsg(MLXFW_NO_MFG_ERR, "No \"" MFG_INFO "\" info section."); + } + return ret_val; + } +Index: b/flint/subcommands.cpp +=================================================================== +--- a/flint/subcommands.cpp ++++ b/flint/subcommands.cpp +@@ -834,7 +834,7 @@ bool SubCommand::printGuidLine(guid_t* n + + bool SubCommand::printMacLine(guid_t* new_guids, guid_t* old_guids, int mac_index) + { +- printf(" "MAC_FORMAT MAC_SPACES, new_guids[mac_index].h, new_guids[mac_index].l); ++ printf(" " MAC_FORMAT MAC_SPACES, new_guids[mac_index].h, new_guids[mac_index].l); + if (old_guids != NULL) { + printf(MAC_FORMAT, old_guids[mac_index].h, old_guids[mac_index].l); + } else { +@@ -1097,8 +1097,8 @@ BurnSubCommand:: BurnSubCommand() + _flagShort = "b"; + _param = ""; + _paramExp = "None"; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" -i image1.bin burn\n" +- INDENTEX FLINT_NAME" -d "MST_DEV_EXAMPLE2" -guid 0x2c9000100d050 -i image1.bin b"; ++ _example = FLINT_NAME" -d " MST_DEV_EXAMPLE1 " -i image1.bin burn\n" ++ INDENTEX FLINT_NAME " -d " MST_DEV_EXAMPLE2 " -guid 0x2c9000100d050 -i image1.bin b"; + _v = Wtv_Dev_And_Img; + _maxCmdParamNum = 0; + _cmdType = SC_Burn; +@@ -1688,7 +1688,7 @@ bool QuerySubCommand::displayFs2Uids(con + + #define BASE_STR "Base" + #define PRINT_FS3_UID(uid1, str, printStep) \ +- printf("%-16s %016"U64H_FMT_GEN" %d", str, uid1.uid, uid1.num_allocated);\ ++ printf("%-16s %016" U64H_FMT_GEN " %d", str, uid1.uid, uid1.num_allocated);\ + if (printStep) {\ + printf(" %d", uid1.step);\ + }\ +@@ -1873,7 +1873,7 @@ QuerySubCommand:: QuerySubCommand() + _flagShort = "q"; + _param = "[full]"; + _paramExp = "None"; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" query"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " query"; + _v = Wtv_Dev_Or_Img; + _maxCmdParamNum = 1; + _cmdType = SC_Query; +@@ -1922,7 +1922,7 @@ VerifySubCommand:: VerifySubCommand() + _flagShort = "v"; + _param = "[showitoc]"; + _paramExp = "None"; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" v"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " v"; + _v = Wtv_Dev_Or_Img; + _maxCmdParamNum = 1; + _cmdType = SC_Verify; +@@ -2043,7 +2043,7 @@ BromSubCommand:: BromSubCommand() + _flagShort = ""; + _param = ""; + _paramExp = "file: The exp-ROM file."; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" brom exp-rom.rom"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " brom exp-rom.rom"; + _v = Wtv_Dev_Or_Img; + _cmdType = SC_Brom; + _maxCmdParamNum = 1; +@@ -2149,7 +2149,7 @@ DromSubCommand:: DromSubCommand() + _flagShort = ""; + _param = ""; + _paramExp = "None"; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" drom"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " drom"; + _v = Wtv_Dev_Or_Img; + _maxCmdParamNum = 0; + _cmdType = SC_Drom; +@@ -2198,7 +2198,7 @@ RromSubCommand:: RromSubCommand() + _flagShort = ""; + _param = ""; + _paramExp = "file: filename to write the exp-ROM to."; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" rrom exp-rom.rom"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " rrom exp-rom.rom"; + _v = Wtv_Dev_Or_Img; + _maxCmdParamNum = 1; + _minCmdParamNum = 1; +@@ -2258,7 +2258,7 @@ BbSubCommand:: BbSubCommand() + _flagShort = ""; + _param = ""; + _paramExp = "None"; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" -i image1.bin bb"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " -i image1.bin bb"; + _v = Wtv_Dev_And_Img; + _maxCmdParamNum = 0; + _cmdType = SC_Bb; +@@ -2331,8 +2331,8 @@ SgSubCommand:: SgSubCommand() + INDENTEX"guids_num: (optional) number of GUIDs to be allocated per physical port (FS3 Only)\n" + INDENTEX"step_size: (optional) step size between GUIDs (FS3 Only)\n" + INDENTEX"Note: guids_num/step_size values can be specified per port or for both ports"; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" -guid 0x0002c9000100d050 sg" +- "\n"INDENTEX FLINT_NAME" -d "MST_DEV_EXAMPLE4" -guid 0x0002c9000100d050 -mac 0x0002c900d050 sg"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " -guid 0x0002c9000100d050 sg" ++ "\n" INDENTEX FLINT_NAME " -d " MST_DEV_EXAMPLE4 " -guid 0x0002c9000100d050 -mac 0x0002c900d050 sg"; + _v = Wtv_Dev_Or_Img; + _maxCmdParamNum = 2; + _cmdType = SC_Sg; +@@ -2558,9 +2558,9 @@ SmgSubCommand:: SmgSubCommand() + INDENTEX"Note: guids_num/step_size values can be specified per port or for both ports"; + _example = FLINT_NAME" -i fw_image.bin -uid 0x0002c9000100d050 smg" + #ifndef __WIN__ +- "\n"INDENTEX FLINT_NAME" -d "MST_DEV_EXAMPLE3" -uid 0x0002c9000100d050 smg (should be used when device is idle)" ++ "\n" INDENTEX FLINT_NAME " -d " MST_DEV_EXAMPLE3 " -uid 0x0002c9000100d050 smg (should be used when device is idle)" + #endif +- "\n"INDENTEX FLINT_NAME" -d "MST_DEV_EXAMPLE4" -guid 0x0002c9000100d050 -mac 0x0002c900d050 smg (should be used when device is idle)"; ++ "\n" INDENTEX FLINT_NAME " -d " MST_DEV_EXAMPLE4 " -guid 0x0002c9000100d050 -mac 0x0002c900d050 smg (should be used when device is idle)"; + _v = Wtv_Dev_Or_Img; + _maxCmdParamNum = 2; + _cmdType = SC_Smg; +@@ -2671,7 +2671,7 @@ SetVpdSubCommand:: SetVpdSubCommand() + _paramExp = "vpd file: bin file containing the vpd data"; + _example = FLINT_NAME" -i fw_image.bin set_vpd vpd.bin" + #ifndef __WIN__ +- "\n"INDENTEX FLINT_NAME" -d "MST_DEV_EXAMPLE3" -override_cache_replacement set_vpd vpd.bin (should be used when device is idle)" ++ "\n" INDENTEX FLINT_NAME " -d " MST_DEV_EXAMPLE3 " -override_cache_replacement set_vpd vpd.bin (should be used when device is idle)" + #endif + ; + _v = Wtv_Dev_Or_Img; +@@ -2711,9 +2711,9 @@ SvSubCommand:: SvSubCommand() + _flagShort = ""; + _param = ""; + _paramExp = "None"; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" -vsd VSD_STRING sv" ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " -vsd VSD_STRING sv" + #ifndef __WIN__ +- "\n"INDENTEX FLINT_NAME" -d "MST_DEV_EXAMPLE3" -vsd VSD_STRING -override_cache_replacement sv (should be used when device is idle)\n" ++ "\n" INDENTEX FLINT_NAME " -d " MST_DEV_EXAMPLE3 " -vsd VSD_STRING -override_cache_replacement sv (should be used when device is idle)\n" + #endif + ; + _v = Wtv_Dev_Or_Img; +@@ -2769,7 +2769,7 @@ RiSubCommand:: RiSubCommand() + _flagShort = ""; + _param = ""; + _paramExp = "file: filename to write the image to (raw binary)."; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" ri file.bin"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " ri file.bin"; + _v = Wtv_Dev; + _maxCmdParamNum = 1; + _minCmdParamNum = 1; +@@ -2840,8 +2840,8 @@ DcSubCommand:: DcSubCommand() { + _flagShort = ""; + _param = "[out-file]"; + _paramExp = "file: (optional) filename to write the dumped configuration to. If not given, the data\n" +- INDENTEX"is printed to screen"; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" dc"; ++ INDENTEX "is printed to screen"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " dc"; + _v = Wtv_Dev_Or_Img; + _maxCmdParamNum = 1; + _cmdType = SC_Dc; +@@ -2886,13 +2886,13 @@ DhSubCommand:: DhSubCommand() + _name = "dh"; + _desc = "Dump Hash: dump the hash if it is integrated in the FW image"; + _extendedDesc = "Print (to screen or to a file) the HASH text file used by the FW.\n" +- INDENTEX"This command would fail if the image does not contain a Hash file."; ++ INDENTEX "This command would fail if the image does not contain a Hash file."; + _flagLong = "dh"; + _flagShort = ""; + _param = "[out-file]"; + _paramExp = "file - (optional) filename to write the dumped tracer hash file to. If not given, the data\n" +- INDENTEX"is printed to screen"; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" dh hash.csv"; ++ INDENTEX "is printed to screen"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " dh hash.csv"; + _v = Wtv_Dev_Or_Img; + _maxCmdParamNum = 1; + _cmdType = SC_Dh; +@@ -2945,7 +2945,7 @@ SetKeySubCommand:: SetKeySubCommand() + _flagShort = ""; + _param = "[key]"; + _paramExp = "key: (optional) The new key you intend to set (in hex)."; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" set_key 1234deaf5678"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " set_key 1234deaf5678"; + _v = Wtv_Dev; + _maxCmdParamNum = 1; + _cmdType = SC_Set_Key; +@@ -3039,7 +3039,7 @@ HwAccessSubCommand:: HwAccessSubCommand( + INDENTEX" You will be asked to type a key when you try to enable HW access.\n" + INDENTEX"key: (optional) The key you intend to use for enabling the HW access.\n" + INDENTEX" Key format consists of at most 16 Hexadecimal digits."; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" hw_access enable"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " hw_access enable"; + _v = Wtv_Dev; + _maxCmdParamNum = 2; + _cmdType = SC_Hw_Access; +@@ -3151,7 +3151,7 @@ HwSubCommand:: HwSubCommand() + _flagShort = ""; + _param = "query"; + _paramExp = "query"; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" hw query"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " hw query"; + #endif + _v = Wtv_Dev; + _maxCmdParamNum = 2; +@@ -3213,15 +3213,15 @@ FlintStatus HwSubCommand::printAttr(cons + if (attr.quad_en_support) { + switch (attr.mf_get_quad_en_rc) { + case MFE_OK: +- printf(" "QUAD_EN_PARAM" %d\n", attr.quad_en); ++ printf(" " QUAD_EN_PARAM " %d\n", attr.quad_en); + break; + case MFE_MISMATCH_PARAM: +- printf("-E- There is a mismatch in the "QUAD_EN_PARAM" attribute between the flashes attached to the device\n"); ++ printf("-E- There is a mismatch in the " QUAD_EN_PARAM " attribute between the flashes attached to the device\n"); + break; + case MFE_NOT_SUPPORTED_OPERATION: + break; + default: +- printf("Failed to get "QUAD_EN_PARAM" attribute: %s (%s)",\ ++ printf("Failed to get " QUAD_EN_PARAM " attribute: %s (%s)",\ + errno == 0 ? "" : strerror(errno), mf_err2str(attr.mf_get_quad_en_rc)); + return FLINT_FAILED; + } +@@ -3230,15 +3230,15 @@ FlintStatus HwSubCommand::printAttr(cons + if (attr.dummy_cycles_support) { + switch (attr.mf_get_dummy_cycles_rc) { + case MFE_OK: +- printf(" "DUMMY_CYCLES_PARAM" %d\n", attr.dummy_cycles); ++ printf(" " DUMMY_CYCLES_PARAM " %d\n", attr.dummy_cycles); + break; + case MFE_MISMATCH_PARAM: +- printf("-E- There is a mismatch in the "DUMMY_CYCLES_PARAM" attribute between the flashes attached to the device\n"); ++ printf("-E- There is a mismatch in the " DUMMY_CYCLES_PARAM " attribute between the flashes attached to the device\n"); + break; + case MFE_NOT_SUPPORTED_OPERATION: + break; + default: +- printf("Failed to get "DUMMY_CYCLES_PARAM" attribute: %s (%s)",\ ++ printf("Failed to get " DUMMY_CYCLES_PARAM " attribute: %s (%s)",\ + errno == 0 ? "" : strerror(errno), mf_err2str(attr.mf_get_dummy_cycles_rc)); + return FLINT_FAILED; + } +@@ -3251,13 +3251,13 @@ FlintStatus HwSubCommand::printAttr(cons + write_protect_info_t protect_info = attr.protect_info_array[bank]; + rc = attr.mf_get_write_protect_rc_array[bank]; + if (rc == MFE_OK) { +- printf(" "FLASH_NAME"%d."WRITE_PROTECT" ", bank); ++ printf(" " FLASH_NAME "%d." WRITE_PROTECT " ", bank); + if (protect_info.sectors_num != 0) { + printf("%s,", (protect_info.is_bottom ? WP_BOTTOM_STR : WP_TOP_STR)); + printf("%d-", protect_info.sectors_num); + printf("%s\n", (protect_info.is_subsector ? WP_SUBSEC_STR : WP_SEC_STR)); + } else { +- printf(WP_DISABLED_STR"\n"); ++ printf(WP_DISABLED_STR "\n"); + } + } else { + if (rc != MFE_NOT_SUPPORTED_OPERATION) { // We ignore the read when operation is not supported! +@@ -3330,7 +3330,7 @@ EraseSubCommand:: EraseSubCommand() + _flagShort = "e"; + _param = ""; + _paramExp = "addr - address of word in sector that you want to erase."; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" erase 0x10000"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " erase 0x10000"; + _v = Wtv_Dev; + _maxCmdParamNum = 1; + _minCmdParamNum = 1; +@@ -3376,7 +3376,7 @@ RwSubCommand:: RwSubCommand() { + _flagShort = ""; + _param = ""; + _paramExp = "addr - address of word to read"; +- _example = "flint -d "MST_DEV_EXAMPLE1" rw 0x20"; ++ _example = "flint -d " MST_DEV_EXAMPLE1 " rw 0x20"; + _v = Wtv_Dev_Or_Img; + _maxCmdParamNum = 1; + _minCmdParamNum = 1; +@@ -3427,7 +3427,7 @@ WwSubCommand:: WwSubCommand() + _param = " "; + _paramExp = "addr - address of word\n" + INDENTEX"data - value of word"; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" ww 0x10008 0x5a445a44"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " ww 0x10008 0x5a445a44"; + _v = Wtv_Dev; + _maxCmdParamNum = 2; + _minCmdParamNum = 2; +@@ -3489,7 +3489,7 @@ WwneSubCommand:: WwneSubCommand() + _param = " "; + _paramExp = "addr - address of word\n" + INDENTEX"data - value of word"; +- _example = "flint -d "MST_DEV_EXAMPLE1" wwne 0x10008 0x5a445a44"; ++ _example = "flint -d " MST_DEV_EXAMPLE1 " wwne 0x10008 0x5a445a44"; + _v = Wtv_Dev; + _maxCmdParamNum = 2; + _minCmdParamNum = 2; +@@ -3548,7 +3548,7 @@ WbSubCommand:: WbSubCommand() { + _paramExp = "data-file - file that contains the data to be written\n" + INDENTEX"addr - address to write the block to\n"; + +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" wb myData.bin 0x0"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " wb myData.bin 0x0"; + _v = Wtv_Dev; + _maxCmdParamNum = 2; + _minCmdParamNum = 2; +@@ -3614,7 +3614,7 @@ WbneSubCommand:: WbneSubCommand() { + _paramExp = "addr - address of block\n" + INDENTEX"size - size of data to write in bytes\n" + INDENTEX"data - data to write - space seperated dwords"; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" wbne 0x10000 12 0x30000 0x76800 0x5a445a44"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " wbne 0x10000 12 0x30000 0x76800 0x5a445a44"; + _v = Wtv_Dev; + _minCmdParamNum = 3; + _cmdType = SC_Wbne; +@@ -3701,7 +3701,7 @@ RbSubCommand:: RbSubCommand() + INDENTEX"size - size of data to read in bytes\n" + INDENTEX"file - filename to write the block (raw binary). If not given, the data\n" + INDENTEX"is printed to screen"; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" rb 0x10000 100 file.bin"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " rb 0x10000 100 file.bin"; + _v = Wtv_Dev_Or_Img; + _maxCmdParamNum = 3; + _minCmdParamNum = 2; +@@ -3792,7 +3792,7 @@ ClearSemSubCommand:: ClearSemSubCommand( + _flagShort = ""; + _param = ""; + _paramExp = ""; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" -clear_semaphore"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " -clear_semaphore"; + _v = Wtv_Dev; + _maxCmdParamNum = 0; + _cmdType = SC_Clear_Sem; +@@ -3863,7 +3863,7 @@ ResetCfgSubCommand:: ResetCfgSubCommand( + _flagShort = "r"; + _param = ""; + _paramExp = ""; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" reset_cfg"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " reset_cfg"; + _v = Wtv_Dev; + _maxCmdParamNum = 0; + _cmdType = SC_ResetCfg; +@@ -3912,7 +3912,7 @@ FiSubCommand:: FiSubCommand() + _flagShort = ""; + _param = ""; + _paramExp = ""; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" fi"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " fi"; + _v = Wtv_Dev; + _maxCmdParamNum = 0; + _cmdType = SC_Fix_Img; +@@ -3955,7 +3955,7 @@ CheckSumSubCommand:: CheckSumSubCommand( + _flagShort = "cs"; + _param = ""; + _paramExp = ""; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" checksum"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " checksum"; + _v = Wtv_Dev_Or_Img; + _maxCmdParamNum = 0; + _cmdType = SC_Check_Sum; +@@ -4046,10 +4046,10 @@ TimeStampSubCommand:: TimeStampSubComman + INDENTEX" timestamp should comply with ISO 8601 format and provided with UTC timezone: YYYY-MM-DDThh:mm:ssZ\n" + INDENTEX"query : query device/image to view the timestamp\n" + INDENTEX"reset : reset the timestamp, remove the timestamp from device/image.\n"; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE4" ts set 2015-12-24T14:52:33Z 14.12.1100\n" +- INDENTEX FLINT_NAME" -d "MST_DEV_EXAMPLE4" ts reset\n" +- INDENTEX FLINT_NAME" -i ./fw4115.bin ts set\n" +- INDENTEX FLINT_NAME" -i ./fw4115.bin ts query"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE4 " ts set 2015-12-24T14:52:33Z 14.12.1100\n" ++ INDENTEX FLINT_NAME " -d " MST_DEV_EXAMPLE4 " ts reset\n" ++ INDENTEX FLINT_NAME " -i ./fw4115.bin ts set\n" ++ INDENTEX FLINT_NAME " -i ./fw4115.bin ts query"; + _v = Wtv_Dev_Or_Img; + _maxCmdParamNum = 3; + _minCmdParamNum = 1; +@@ -4321,7 +4321,7 @@ CacheImageSubCommand:: CacheImageSubComm + _flagShort = "ci"; + _param = ""; + _paramExp = ""; +- _example = FLINT_NAME" -d "MST_DEV_EXAMPLE1" cache_image"; ++ _example = FLINT_NAME " -d " MST_DEV_EXAMPLE1 " cache_image"; + _v = Wtv_Dev; + _maxCmdParamNum = 0; + _minCmdParamNum = 0; diff --git a/mstflint-4.4.0-implicit-declaration.patch b/mstflint-4.4.0-implicit-declaration.patch new file mode 100644 index 0000000..096fb69 --- /dev/null +++ b/mstflint-4.4.0-implicit-declaration.patch @@ -0,0 +1,34 @@ +Index: b/mstdump/crd_main/mstdump.c +=================================================================== +--- a/mstdump/crd_main/mstdump.c ++++ b/mstdump/crd_main/mstdump.c +@@ -125,12 +125,6 @@ int main(int argc, char* argv[]) { + } + ++i; // move past the device parameter + +-#ifndef MST_UL +- if (mf->tp == MST_MLNXOS) { +- mset_cr_access(mf, 1); +- } +-#endif +- + if (i < argc && !strncmp(argv[i], CAUSE_FLAG, strlen(CAUSE_FLAG))) { + i++; + } +Index: b/small_utils/mcra.c +=================================================================== +--- a/small_utils/mcra.c ++++ b/small_utils/mcra.c +@@ -271,11 +271,7 @@ int main(int argc, char *argv[]) + perror("mopen"); + return 1; + } +-#ifndef MST_UL +- if (mf->tp == MST_MLNXOS) { +- mset_cr_access(mf, 1); +- } +-#endif ++ + if (i2c_slave) + mset_i2c_slave(mf, (u_int8_t)i2c_slave); + diff --git a/mstflint-4.4.0-no-date-time.patch b/mstflint-4.4.0-no-date-time.patch new file mode 100644 index 0000000..c85b0b7 --- /dev/null +++ b/mstflint-4.4.0-no-date-time.patch @@ -0,0 +1,16 @@ +Index: b/common/tools_version.h +=================================================================== +--- a/common/tools_version.h ++++ b/common/tools_version.h +@@ -70,10 +70,8 @@ int get_version_string(char* buf, int bu + len = snprintf(buf, buf_size, "%s %s, ", exe_name, tool_version); + } + // cut out first and last "$" from the SVN version string: +- len += snprintf(buf + len, buf_size - len, "%s, built on %s, %s. Git SHA Hash: %s", ++ len += snprintf(buf + len, buf_size - len, "%s, Git SHA Hash: %s", + MFT_VERSION_STR, +- __DATE__, +- __TIME__, + TOOLS_GIT_SHA); + return len; + } diff --git a/mstflint-4.4.0.tar.gz b/mstflint-4.4.0.tar.gz new file mode 100644 index 0000000..0785640 --- /dev/null +++ b/mstflint-4.4.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:578bea060c6b033c7c68f5b5f8afbbbbcbe9031c23d9f37a588664c771883dd4 +size 1348758 diff --git a/mstflint-autotools.patch b/mstflint-autotools.patch deleted file mode 100644 index 581b96b..0000000 --- a/mstflint-autotools.patch +++ /dev/null @@ -1,56 +0,0 @@ ---- - configure.ac | 34 ++++++++++++++++++++++++---------- - 1 file changed, 24 insertions(+), 10 deletions(-) - -Index: configure.ac -=================================================================== ---- configure.ac.orig 2014-05-14 04:09:28.079178181 +0200 -+++ configure.ac 2014-05-14 04:13:35.515332301 +0200 -@@ -10,13 +10,13 @@ - - AC_CONFIG_AUX_DIR(config) - AC_CONFIG_SRCDIR([README]) --AM_INIT_AUTOMAKE(mstflint, 4.0.0) -+AM_INIT_AUTOMAKE([-Wall foreign]) - - dnl Checks for programs --AC_PROG_CC --AC_PROG_CXX --AC_PROG_LIBTOOL --AC_CONFIG_HEADERS( config.h ) -+AC_PROG_CC() -+AC_PROG_CXX() -+AC_PROG_LIBTOOL() -+AC_CONFIG_HEADERS([config.h]) - - dnl Checks for headers - AC_CHECK_HEADER(termios.h,[CXXFLAGS="${CXXFLAGS} -DHAVE_TERMIOS_H"]) -@@ -50,9 +50,24 @@ - CFLAGS="$CFLAGS -Werror -DMST_UL" - CXXFLAGS="$CXXFLAGS -Werror -DMST_UL" - --AC_CONFIG_FILES( mstflint.spec ) -+AC_CONFIG_FILES( mstflint.spec \ -+ Makefile \ -+ mft_utils/Makefile \ -+ mtcr_ul/Makefile \ -+ dev_mgt/Makefile \ -+ tools_layouts/Makefile \ -+ reg_access/Makefile \ -+ cmdif/Makefile \ -+ mlxconfig/Makefile \ -+ mflash/Makefile \ -+ mlxfwops/Makefile \ -+ mlxfwops/lib/Makefile \ -+ cmdparser/Makefile flint/Makefile \ -+ small_utils/Makefile \ -+ mstdump/Makefile \ -+ mstdump/crd_lib/Makefile \ -+ mstdump/crd_main/Makefile \ -+ mstdump/mstdump_dbs/Makefile ) - --AC_OUTPUT( Makefile mft_utils/Makefile mtcr_ul/Makefile dev_mgt/Makefile tools_layouts/Makefile reg_access/Makefile cmdif/Makefile mlxconfig/Makefile \ -- mflash/Makefile mlxfwops/Makefile mlxfwops/lib/Makefile cmdparser/Makefile flint/Makefile \ -- small_utils/Makefile mstdump/Makefile mstdump/crd_lib/Makefile mstdump/crd_main/Makefile mstdump/mstdump_dbs/Makefile ) -+AC_OUTPUT() - diff --git a/mstflint-no_Werror.patch b/mstflint-no_Werror.patch deleted file mode 100644 index 4b82cc5..0000000 --- a/mstflint-no_Werror.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: Philipp Thomas -Date: 2014-05-16 13:49:13+02:00 -Subject: Do not use Werror -References: -Upstream: - ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: configure.ac -=================================================================== ---- configure.ac.orig 2014-05-16 13:47:48.973039815 +0200 -+++ configure.ac 2014-05-16 13:48:26.381156099 +0200 -@@ -45,7 +45,7 @@ fi - AM_CONDITIONAL(ENABLE_INBAND, [test "x$enable_inband" = "xyes"]) - - CFLAGS="$CFLAGS -Werror -DMST_UL" --CXXFLAGS="$CXXFLAGS -Werror -DMST_UL" -+CXXFLAGS="$CXXFLAGS -DMST_UL" - - AC_CONFIG_FILES( mstflint.spec \ - Makefile \ diff --git a/mstflint.changes b/mstflint.changes index c793b75..c94c789 100644 --- a/mstflint.changes +++ b/mstflint.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed Jun 29 17:36:04 UTC 2016 - i@marguerite.su + +- update version 4.4.0 +- drop patch: mstflint-autotools.patch, not needed +- drop patch: mstflint-no_Werror.patch, not needed +- add patch: mstflint-4.4.0-gcc6.patch + * fix boo#985145 + * fix unable to find string literal operator +- add patch: mstflint-4.4.0-implicit-declaration.patch + * fix implicit declaration of mset_cr_access + * neither mset_cr_access or MST_MLNXOS exists +- add patch: mstflint-4.4.0-no-date-time.patch + * fix file-contains-date-and-time + ------------------------------------------------------------------- Sun Mar 8 10:46:01 UTC 2015 - p.drouand@gmail.com diff --git a/mstflint.spec b/mstflint.spec index 570297c..6d8ced0 100644 --- a/mstflint.spec +++ b/mstflint.spec @@ -1,7 +1,7 @@ # # spec file for package mstflint # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,32 +15,30 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -%define extra_version -1.30.g00eb005 Name: mstflint +Version: 4.4.0 +Release: 0 Summary: Mellanox Firmware Burning and Diagnostics Tools License: GPL-2.0 or BSD-2-Clause Group: System/Console -Version: 4.0.0 -Release: 0 -Source0: https://www.openfabrics.org/downloads/mstflint/%{name}-%{version}%{extra_version}.tar.gz -# PATCH-FIX-UPSTREAM Declare package as foreign and other autotools stuff pth@suse.de -Patch0: mstflint-autotools.patch -# PATCH-FIX-UPSTREAM Add all needed defines to get it built on s390x -Patch4: mstflint-s390_arch.patch -# PATCH-FIX-UPSTREAM Don't use -Werror as there are format warnings -Patch5: mstflint-no_Werror.patch +Url: http://www.openfabrics.org +Source: https://www.openfabrics.org/downloads/mstflint/%{name}-%{version}.tar.gz # PATCH-FIX-UPSTREAM Build libmtcr as shared library Source1: mstfint-mtcr_ul_no_static_lib.patch -Url: http://www.openfabrics.org -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: autoconf -BuildRequires: automake +# PATCH-FIX-UPSTREAM Add all needed defines to get it built on s390x +Patch4: mstflint-s390_arch.patch +# PATCH-FIX-UPSTREAM unable to find string literal operator +Patch6: mstflint-4.4.0-gcc6.patch +# PATCH-FIX-UPSTREAM implicit declaration of mset_cr_access +Patch7: mstflint-4.4.0-implicit-declaration.patch +# PATCH-FIX-UPSTREAM no __DATE__ and __TIME__ in codes +Patch8: mstflint-4.4.0-no-date-time.patch BuildRequires: gcc-c++ BuildRequires: libibmad-devel BuildRequires: libtool BuildRequires: zlib-devel - +BuildRoot: %{_tmppath}/%{name}-%{version}-build #%%define DT_FLAGS %%{?__commit_date:-D__DATE__=%%__commit_date}' '%%{?__commit_time:-D__TIME__=%%__commit_time}' %description @@ -54,21 +52,22 @@ the downloads page at the Mellanox web site. %prep %setup -q -%patch0 %patch4 -%patch5 -rm -f configure.in +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 rm -f mtcr_ul/Makefile.in %build -autoreconf -fi -%{configure} -make CFLAGS="%{optflags} -I. -fno-exceptions" +./autogen.sh +%configure +make %{?_smp_mflags} CFLAGS="%{optflags} -I. -fno-exceptions" %install -make DESTDIR=%{buildroot} install -rm -f %{buildroot}%{_includedir}/mtcr_ul/mtcr.h -rm -f %{buildroot}%{_libdir}/libmtcr_ul.a +make %{?_smp_mflags} DESTDIR=%{buildroot} install +rm -rf %{buildroot}%{_includedir}/mstflint +rm -rf %{buildroot}%{_libdir}/mstflint/ +rm -rf %{buildroot}%{_bindir}/hca_self_test.ofed #%%post -p /sbin/ldconfig @@ -77,8 +76,15 @@ rm -f %{buildroot}%{_libdir}/libmtcr_ul.a %files %defattr(-, root, root) %doc README COPYING LICENSE -%{_mandir}/man1/*.1.gz -%_bindir/* -%{_datadir}/%{name} +%{_bindir}/mstconfig +%{_bindir}/mstflint +%{_bindir}/mstmcra +%{_bindir}/mstmread +%{_bindir}/mstmtserver +%{_bindir}/mstmwrite +%{_bindir}/mstregdump +%{_bindir}/mstvpd +%{_mandir}/man1/*.1%{ext_man} +%{_datadir}/mstflint/ %changelog