Compare commits

...

10 Commits

Author SHA1 Message Date
openeuler-ci-bot
400a3e49b9
!28 Add ppc64le support
From: @peng_zou 
Reviewed-by: @wang--ge 
Signed-off-by: @wang--ge
2024-01-18 08:26:12 +00:00
peng.zou
442a3ccb9d Add ppc64le support 2023-11-30 11:00:12 +08:00
openeuler-ci-bot
83d6fb652f
!22 Add riscv64 support
From: @misaka00251 
Reviewed-by: @Charlie_li 
Signed-off-by: @Charlie_li
2023-08-16 03:47:21 +00:00
misaka00251
f2b7b49009
Add riscv64 support 2023-07-28 14:52:59 +08:00
openeuler-ci-bot
086b6ebe7b
!21 fix build error for gcc-12
From: @chen-jan 
Reviewed-by: @wu-leilei 
Signed-off-by: @wu-leilei
2023-07-04 11:38:30 +00:00
chen-jan
e2a91b02e3 fix build error for gcc-12 2023-07-04 16:37:34 +08:00
openeuler-ci-bot
3041740f64
!20 add loongarch64 support
From: @huajingyun 
Reviewed-by: @gitee-cmd 
Signed-off-by: @gitee-cmd
2022-12-13 13:43:06 +00:00
Jingyun Hua
fc3538e54d add loongarch64 support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
2022-12-08 08:47:45 +00:00
openeuler-ci-bot
5d1627fd9b !12 [sync] PR-11: Fix help package install warning
From: @openeuler-sync-bot
Reviewed-by: @ruebb
Signed-off-by: @ruebb
2021-09-09 01:28:35 +00:00
caodongxia
8c22afa5ca Fix help package install warning
(cherry picked from commit 12ea614ae9a0574c0b42dadd14994240002c524e)
2021-09-01 14:58:54 +08:00
4 changed files with 1131 additions and 2 deletions

View File

@ -0,0 +1,731 @@
From 7f10184f9c7c8fe179b802bde63e045222309768 Mon Sep 17 00:00:00 2001
From: kschopmeyer <k.schopmeyer@swbell.net>
Date: Thu, 15 Oct 2020 12:47:52 -0500
Subject: [PATCH] Fixes issue #8 - gcc catch by value and implicit fallthrough
warnings
This pr also fixes a number of other minor warning message issues
as documented below.
This pr corrects the majority of both of these warning types.
It also corrects an issue in CIMCLICommand with a type mismatch in
comparison
Update OSINFO.cpp sprintf max size specification
Removed XMLProcess.* throw specification
This is deprecated in C++11 and is to be removed in C++17 and shows up
as warning with gcc. The only goal was to limit the exceptions that
could be thrown by the entity for which it was included, not to throw a
specific exception.
This is no real reason for it in our code.
Modify catch parameter to make it a reference
Add bread to case statements to remove compiler warning
Make catch parameter a reference in TestListener.cpp
Make catch parameter reference in ReliableIndicationDisableEnable test
Increate sprintf buffer size in Process_Linux.cpp to remove warning
Make catch parameter reference in Indication test client
Add break; statemetn to InteropProvider.cpp
Add break; statement to CQLFunctionRep.cpp
Modify catch parameter to define as reference in CQLValue.cpp
Outdent lines in CIMOperationRequestDecoder.cpp that had warning
Add FALLTHROUGH comment to case in PUllErrors.cpp
Separate string and var by space to avoid warning in InternalException.cpp
reference: https://github.com/OpenPegasus/OpenPegasus/commit/7f10184f9c7c8fe179b802bde63e045222309768
---
src/Clients/cimcli/CIMCLICommand.cpp | 2 +-
src/Clients/cimcli/ObjectBuilder.cpp | 1 +
src/Clients/osinfo/OSInfo.cpp | 4 +-
src/Clients/wbemexec/XMLProcess.cpp | 2 -
src/Clients/wbemexec/XMLProcess.h | 4 +-
src/Pegasus/CQL/CQLCLI/CQLCLI.cpp | 5 +-
src/Pegasus/CQL/CQLFunctionRep.cpp | 3 +
.../Pegasus/CQL/tests/CQLValue/CQLValue.cpp | 3 +-
.../Client/CIMOperationRequestEncoder.cpp | 18 +++---
.../Client/tests/PullErrors/PullErrors.cpp | 59 +------------------
.../TestStaticClient/TestStaticClient.cpp | 2 +-
.../src/Pegasus/Common/CIMResponseData.cpp | 5 +-
.../src/Pegasus/Common/InternalException.cpp | 2 +-
src/Pegasus/Common/Logger.cpp | 4 ++
.../InteropProvider/InteropProvider.cpp | 1 +
.../tests/TestCIMQueryCap.cpp | 12 ++--
.../tests/TestDynListener/TestListener.cpp | 3 +-
src/Pegasus/FQL/FQLOperand.cpp | 2 +-
src/Pegasus/FQL/FQLOperand.h | 17 +++---
.../src/Pegasus/FQL/FQLQueryStatementRep.cpp | 9 ++-
.../ReliableIndicationDisableEnableTest.cpp | 28 ++++-----
.../ManagedSystem/Process/Process_Linux.cpp | 5 +-
.../testclient/IndicationStressTest.cpp | 2 +-
23 files changed, 72 insertions(+), 121 deletions(-)
diff --git a/src/Clients/cimcli/CIMCLICommand.cpp b/src/Clients/cimcli/CIMCLICommand.cpp
index a7bdd48..64792d0 100644
--- a/src/Clients/cimcli/CIMCLICommand.cpp
+++ b/src/Clients/cimcli/CIMCLICommand.cpp
@@ -227,7 +227,7 @@ public:
// FUTURE - Should test against operation we are expecting
if (_localVerboseTest &&
((item.operationType <= 0) || item.operationType >
- CIM_ENUMERATION_COUNT_REQUEST_MESSAGE))
+ (CIMOperationType)CIM_ENUMERATION_COUNT_REQUEST_MESSAGE))
{
cerr << "Error:Operation type " << item.operationType
<< " out of expected range in ClientOpPerformanceData"
diff --git a/src/Clients/cimcli/ObjectBuilder.cpp b/src/Clients/cimcli/ObjectBuilder.cpp
index 7ad77f5..cab101b 100644
--- a/src/Clients/cimcli/ObjectBuilder.cpp
+++ b/src/Clients/cimcli/ObjectBuilder.cpp
@@ -1131,6 +1131,7 @@ void ObjectBuilder::scanInputList(CIMClient& client,
//#P 33
//#T PARSE_FAIL_ERR
//#S Parse Failed. Input Parameter \"{0}\".
+ break; // added to avoid compiler warning message
}
case UNKNOWN:
diff --git a/src/Clients/osinfo/OSInfo.cpp b/src/Clients/osinfo/OSInfo.cpp
index 28b5a70..88a046e 100644
--- a/src/Clients/osinfo/OSInfo.cpp
+++ b/src/Clients/osinfo/OSInfo.cpp
@@ -841,7 +841,7 @@ void OSInfoCommand::gatherProperties(CIMInstance &inst, Boolean cimFormat)
else if (propertyName.equal (CIMName ("SystemUpTime")))
{
Uint64 total;
- char uptime[80];
+ char uptime[160];
inst.getProperty(j).getValue().get(total);
if (!cimFormat)
@@ -872,7 +872,7 @@ void OSInfoCommand::gatherProperties(CIMInstance &inst, Boolean cimFormat)
}
else
{
- sprintf(dayString, (days == 1 ?
+ sprintf(dayString, (days == 1 ?
"%" PEGASUS_64BIT_CONVERSION_WIDTH "u day," :
"%" PEGASUS_64BIT_CONVERSION_WIDTH "u days," ), days);
diff --git a/src/Clients/wbemexec/XMLProcess.cpp b/src/Clients/wbemexec/XMLProcess.cpp
index 1926130..3f6e31c 100644
--- a/src/Clients/wbemexec/XMLProcess.cpp
+++ b/src/Clients/wbemexec/XMLProcess.cpp
@@ -85,8 +85,6 @@ Buffer XMLProcess::encapsulate( XmlParser& parser,
Buffer& content,
Buffer& httpHeaders
)
-throw (XmlValidationError, XmlSemanticError, WbemExecException,
- XmlException, Exception)
{
XmlEntry entry;
Buffer message;
diff --git a/src/Clients/wbemexec/XMLProcess.h b/src/Clients/wbemexec/XMLProcess.h
index 497118d..e99bffc 100644
--- a/src/Clients/wbemexec/XMLProcess.h
+++ b/src/Clients/wbemexec/XMLProcess.h
@@ -96,9 +96,7 @@ public:
Boolean useMPost,
Boolean useHTTP11,
Buffer& content,
- Buffer& httpHeaders)
- throw (XmlValidationError, XmlSemanticError, WbemExecException,
- XmlException, Exception);
+ Buffer& httpHeaders);
};
PEGASUS_NAMESPACE_END
diff --git a/src/Pegasus/CQL/CQLCLI/CQLCLI.cpp b/src/Pegasus/CQL/CQLCLI/CQLCLI.cpp
index 576ce7d..45d16ba 100644
--- a/src/Pegasus/CQL/CQLCLI/CQLCLI.cpp
+++ b/src/Pegasus/CQL/CQLCLI/CQLCLI.cpp
@@ -511,7 +511,7 @@ Boolean _evaluate(Array<CQLSelectStatement>& _statements,
else
cout << "FALSE" << endl;
}
- catch(Exception e)
+ catch(const Exception& e)
{
if (cqlcli_verbose)
cout << "ERROR! -- " << _statements[i].toString() << endl
@@ -1158,7 +1158,7 @@ int main(int argc, char ** argv)
_evaluate(_statements,_instances, testOption);
_normalize(_statements,_instances, testOption);
}
- catch(Exception e)
+ catch(const Exception& e)
{
cout << getStatementString(e.getMessage()) << endl;
}
@@ -1177,4 +1177,3 @@ int main(int argc, char ** argv)
//
return 0;
}
-
diff --git a/src/Pegasus/CQL/CQLFunctionRep.cpp b/src/Pegasus/CQL/CQLFunctionRep.cpp
index e89aa2e..a8a13e6 100644
--- a/src/Pegasus/CQL/CQLFunctionRep.cpp
+++ b/src/Pegasus/CQL/CQLFunctionRep.cpp
@@ -304,7 +304,10 @@ String CQLFunctionRep::functionTypeToString() const
break;
case UNKNOWN:
returnStr.append("UNKNOWN");
+ break;
default:
+ /* TODO/ks/15Oct20: This and the above append UNKNOWN. Should this
+ append something else to avoid confusion. */
returnStr.append("UNKNOWN");
break;
}
diff --git a/src/Pegasus/CQL/tests/CQLValue/CQLValue.cpp b/src/Pegasus/CQL/tests/CQLValue/CQLValue.cpp
index a27735c..781cb21 100644
--- a/src/Pegasus/CQL/tests/CQLValue/CQLValue.cpp
+++ b/src/Pegasus/CQL/tests/CQLValue/CQLValue.cpp
@@ -651,11 +651,10 @@ int main( int argc, char *argv[] ){
cout << argv[0] << " " << argv[1] << " +++++ passed all tests" << endl;
}
- catch(Exception e)
+ catch(const Exception& e)
{
cout << e.getMessage() << endl;
PEGASUS_TEST_ASSERT(0);
}
return 0;
}
-
diff --git a/src/Pegasus/Client/CIMOperationRequestEncoder.cpp b/src/Pegasus/Client/CIMOperationRequestEncoder.cpp
index 726940d..f58735e 100644
--- a/src/Pegasus/Client/CIMOperationRequestEncoder.cpp
+++ b/src/Pegasus/Client/CIMOperationRequestEncoder.cpp
@@ -533,15 +533,15 @@ void CIMOperationRequestEncoder::_encodeGetInstanceRequest(
XmlWriter::appendPropertyListIParameter(
params, message->propertyList);
- Buffer buffer = XmlWriter::formatSimpleIMethodReqMessage(_hostName,
- message->nameSpace, CIMName ("GetInstance"), message->messageId,
- message->getHttpMethod(),
- _authenticator->buildRequestAuthHeader(),
- ((AcceptLanguageListContainer)message->operationContext.get(
- AcceptLanguageListContainer::NAME)).getLanguages(),
- ((ContentLanguageListContainer)message->operationContext.get(
- ContentLanguageListContainer::NAME)).getLanguages(),
- params, _binaryResponse);
+ Buffer buffer = XmlWriter::formatSimpleIMethodReqMessage(_hostName,
+ message->nameSpace, CIMName ("GetInstance"), message->messageId,
+ message->getHttpMethod(),
+ _authenticator->buildRequestAuthHeader(),
+ ((AcceptLanguageListContainer)message->operationContext.get(
+ AcceptLanguageListContainer::NAME)).getLanguages(),
+ ((ContentLanguageListContainer)message->operationContext.get(
+ ContentLanguageListContainer::NAME)).getLanguages(),
+ params, _binaryResponse);
_sendRequest(buffer);
}
diff --git a/src/Pegasus/Client/tests/PullErrors/PullErrors.cpp b/src/Pegasus/Client/tests/PullErrors/PullErrors.cpp
index 7743dda..4318b7e 100644
--- a/src/Pegasus/Client/tests/PullErrors/PullErrors.cpp
+++ b/src/Pegasus/Client/tests/PullErrors/PullErrors.cpp
@@ -102,7 +102,7 @@ static Boolean verbose;
* [-charSet] set matches a literal hypen and any character in the set
* []charSet] match a literal close bracket and any character in the set
*
- * char match itself except where char is '*' or '?' or '['
+ * char match itself except where char is '*', '?', '[', or '\'
* \char match char, including any pattern character
*
* examples:
@@ -261,6 +261,8 @@ bool _globMatch(const char* pattern, const char* str)
{
patChar = *pattern++;
}
+ // TODO'ks'15Oct20: validate this fallthrough with test
+ /*FALLTHROUGH*/
// default, test current character
default:
if (patChar != *str)
@@ -279,61 +281,6 @@ static int _globMatch(const String& pattern, const String& str)
return _globMatch(pattern.getCString(), str.getCString());
}
-////// Original match. However, this one appears to have problems
-////static int _match(const char* pattern, const char* str)
-////{
-//// const char* p;
-//// const char* q;
-////
-//// /* Now match expression to str. */
-////
-//// for (p = pattern, q = str; *p && *q; )
-//// {
-//// if (*p == '*')
-//// {
-//// const char* r;
-////
-//// p++;
-////
-//// /* Recursively call to find the shortest match. */
-////
-//// for (r = q; *r; r++)
-//// {
-//// if (_match(p, r) == 0)
-//// break;
-//// }
-////
-//// q = r;
-////
-//// }
-//// else if (*p == *q)
-//// {
-//// p++;
-//// q++;
-//// }
-//// else
-//// return -1;
-//// }
-////
-//// /* If src was exhausted but pattern has a single '*'remaining charcters,
-//// * then match the result.
-//// */
-////
-//// if (p[0] == '*' && p[1] == '\0')
-//// return 0;
-////
-//// /* If anything left over, then they do not match. */
-////
-//// if (*p || *q)
-//// return -1;
-////
-//// return 0;
-////}
-////
-////static int _Match(const String& pattern, const String& str)
-////{
-//// return _match(pattern.getCString(), str.getCString());
-////}
/***************************************************************************
Class to test all of the different operations with various
diff --git a/src/Pegasus/Client/tests/TestStaticClient/TestStaticClient.cpp b/src/Pegasus/Client/tests/TestStaticClient/TestStaticClient.cpp
index f3bbb2f..146f010 100644
--- a/src/Pegasus/Client/tests/TestStaticClient/TestStaticClient.cpp
+++ b/src/Pegasus/Client/tests/TestStaticClient/TestStaticClient.cpp
@@ -83,7 +83,7 @@ int main()
{
cout << "\n+++++ passed all tests" << endl;
}
- catch(Exception)
+ catch(Exception&)
{
cout << "\n----- Test Static Client Failed" << endl;
}
diff --git a/src/Pegasus/Common/CIMResponseData.cpp b/src/Pegasus/Common/CIMResponseData.cpp
index 88bdd13..18451f2 100644
--- a/src/Pegasus/Common/CIMResponseData.cpp
+++ b/src/Pegasus/Common/CIMResponseData.cpp
@@ -979,7 +979,7 @@ void CIMResponseData::completeHostNameAndNamespace(
{
// Instances added to account for namedInstance in Pull operations.
case RESP_INSTANCES:
-
+ {
for (Uint32 j = 0, n = _instances.size(); j < n; j++)
{
const CIMInstance& instance = _instances[j];
@@ -994,6 +994,9 @@ void CIMResponseData::completeHostNameAndNamespace(
p.setNameSpace(ns);
}
}
+ }
+ break;
+
case RESP_OBJECTS:
{
for (Uint32 j = 0, n = _objects.size(); j < n; j++)
diff --git a/src/Pegasus/Common/InternalException.cpp b/src/Pegasus/Common/InternalException.cpp
index 2e85b90..dfd6aaa 100644
--- a/src/Pegasus/Common/InternalException.cpp
+++ b/src/Pegasus/Common/InternalException.cpp
@@ -982,7 +982,7 @@ SocketWriteError::~SocketWriteError()
// PEGASUS_MAXELEMENTS_NUM HTTP header fields in a single HTTP message
//==============================================================================
TooManyHTTPHeadersException::TooManyHTTPHeadersException()
- : Exception("more than "PEGASUS_MAXELEMENTS
+ : Exception("more than " PEGASUS_MAXELEMENTS
" header fields detected in HTTP message")
{
}
diff --git a/src/Pegasus/Common/Logger.cpp b/src/Pegasus/Common/Logger.cpp
index 7019a62..2de25fc 100644
--- a/src/Pegasus/Common/Logger.cpp
+++ b/src/Pegasus/Common/Logger.cpp
@@ -500,12 +500,16 @@ void Logger::setlogLevelMask( const String &logLevelList )
{
case Logger::TRACE:
_severityMask |= Logger::TRACE;
+ /* FALLTHROUGH */
case Logger::INFORMATION:
_severityMask |= Logger::INFORMATION;
+ /* FALLTHROUGH */
case Logger::WARNING:
_severityMask |= Logger::WARNING;
+ /* FALLTHROUGH */
case Logger::SEVERE:
_severityMask |= Logger::SEVERE;
+ /* FALLTHROUGH */
case Logger::FATAL:
_severityMask |= Logger::FATAL;
}
diff --git a/src/Pegasus/ControlProviders/InteropProvider/InteropProvider.cpp b/src/Pegasus/ControlProviders/InteropProvider/InteropProvider.cpp
index 14939eb..d41bae8 100644
--- a/src/Pegasus/ControlProviders/InteropProvider/InteropProvider.cpp
+++ b/src/Pegasus/ControlProviders/InteropProvider/InteropProvider.cpp
@@ -804,6 +804,7 @@ bool InteropProvider::validAssocClassForObject(
expectedTargetRole = PROPERTY_ANTECEDENT;
expectedOriginRole = PROPERTY_DEPENDENT;
}
+ break;
case PG_HOSTEDOBJECTMANAGER:
if(originClassEnum == PG_COMPUTERSYSTEM)
{
diff --git a/src/Pegasus/ControlProviders/QueryCapabilitiesProvider/tests/TestCIMQueryCap.cpp b/src/Pegasus/ControlProviders/QueryCapabilitiesProvider/tests/TestCIMQueryCap.cpp
index 08579f9..3359026 100644
--- a/src/Pegasus/ControlProviders/QueryCapabilitiesProvider/tests/TestCIMQueryCap.cpp
+++ b/src/Pegasus/ControlProviders/QueryCapabilitiesProvider/tests/TestCIMQueryCap.cpp
@@ -195,7 +195,7 @@ void testCreateInstance(CIMClient& client, const char* ns)
{
path = client.createInstance(ns, instances[0]);
}
- catch(Exception)
+ catch(const Exception&)
{
// Do nothing. This is expected since createInstance is NOT
// supported.
@@ -216,7 +216,7 @@ void testDeleteInstance(CIMClient& client, const char* ns)
{
client.deleteInstance(ns, instances[0].getPath());
}
- catch(Exception)
+ catch(const Exception&)
{
// Do nothing. This is expected since deleteInstance is NOT
// supported.
@@ -246,7 +246,7 @@ void testModifyInstance(CIMClient& client, const char* ns)
{
client.modifyInstance(ns, instances[0]);
}
- catch(Exception)
+ catch(const Exception&)
{
// Do nothing. This is expected since modifyInstance is NOT
// supported.
@@ -268,7 +268,7 @@ int main(int, char** argv)
{
client.connectLocal();
}
- catch (Exception& e)
+ catch (const Exception& e)
{
cerr << "Error: " << e.getMessage() << endl;
cerr << "Exception occured while trying to connect to the server."
@@ -304,7 +304,7 @@ int main(int, char** argv)
testModifyInstance(client, NAMESPACE_CIMV2);
testModifyInstance(client, NAMESPACE_SAMPLEPROVIDER);
}
- catch(Exception& e)
+ catch(const Exception& e)
{
cerr << argv[0] << ": Exception Occcured. " << e.getMessage() << endl;
cerr << argv[0] << ": " << testCaseName << " Failed. " << endl;
@@ -314,5 +314,3 @@ int main(int, char** argv)
cout << argv[0] << " +++++ passed all tests" << endl;
return 0;
}
-
-
diff --git a/src/Pegasus/DynListener/tests/TestDynListener/TestListener.cpp b/src/Pegasus/DynListener/tests/TestDynListener/TestListener.cpp
index 8f420ba..6f44aeb 100644
--- a/src/Pegasus/DynListener/tests/TestDynListener/TestListener.cpp
+++ b/src/Pegasus/DynListener/tests/TestDynListener/TestListener.cpp
@@ -258,7 +258,7 @@ int main()
printf("CIMException %s\n",
(const char*)ce.getMessage().getCString());
}
- catch (Exception e)
+ catch (const Exception& e)
{
printf("Exception %s\n",
(const char*)e.getMessage().getCString());
@@ -266,4 +266,3 @@ int main()
return 0;
}
-
diff --git a/src/Pegasus/FQL/FQLOperand.cpp b/src/Pegasus/FQL/FQLOperand.cpp
index 6ed7be2..ada5a88 100644
--- a/src/Pegasus/FQL/FQLOperand.cpp
+++ b/src/Pegasus/FQL/FQLOperand.cpp
@@ -287,7 +287,7 @@ Boolean FQLOperand::getIndexedValue(const FQLOperand& fromOp, Uint32 index)
break;
}
}
- catch (IndexOutOfBoundsException)
+ catch (const IndexOutOfBoundsException&)
{
return false;
}
diff --git a/src/Pegasus/FQL/FQLOperand.h b/src/Pegasus/FQL/FQLOperand.h
index ce06aea..7a3bd52 100644
--- a/src/Pegasus/FQL/FQLOperand.h
+++ b/src/Pegasus/FQL/FQLOperand.h
@@ -258,7 +258,7 @@ public:
{
_dateTimeValue.set(x);
}
- catch (InvalidDateTimeFormatException)
+ catch (const InvalidDateTimeFormatException&)
{
throw TypeMismatchException();
}
@@ -284,7 +284,7 @@ public:
_arrayDateTimeValue.append(y);
}
}
- catch (InvalidDateTimeFormatException)
+ catch (const InvalidDateTimeFormatException&)
{
throw TypeMismatchException();
}
@@ -309,7 +309,7 @@ public:
{
_referenceValue = CIMObjectPath(x);
}
- catch (MalformedObjectNameException)
+ catch (const MalformedObjectNameException&)
{
throw TypeMismatchException();
}
@@ -344,7 +344,7 @@ public:
_arrayReferenceValue.append(y);
}
}
- catch (MalformedObjectNameException)
+ catch (const MalformedObjectNameException&)
{
throw TypeMismatchException();
}
@@ -582,7 +582,7 @@ public:
{
return CIMDateTime(_stringValue);
}
- catch (InvalidDateTimeFormatException)
+ catch (const InvalidDateTimeFormatException&)
{
throw TypeMismatchException();
}
@@ -603,7 +603,7 @@ public:
{
return CIMObjectPath(String(_stringValue));
}
- catch (...)
+ catch (const Exception&)
{
throw TypeMismatchException();
}
@@ -633,7 +633,7 @@ public:
rtn.append(CIMDateTime(_arrayStringValue[i]));
}
}
- catch (InvalidDateTimeFormatException)
+ catch (const InvalidDateTimeFormatException&)
{
throw TypeMismatchException();
}
@@ -667,7 +667,7 @@ public:
rtn.append(CIMObjectPath(_arrayStringValue[i]));
}
}
- catch (MalformedObjectNameException)
+ catch (const MalformedObjectNameException&)
{
throw TypeMismatchException();
}
@@ -940,4 +940,3 @@ private:
PEGASUS_NAMESPACE_END
#endif /* Pegasus_FQLOperand_h */
-
diff --git a/src/Pegasus/FQL/FQLQueryStatementRep.cpp b/src/Pegasus/FQL/FQLQueryStatementRep.cpp
index b02c8f3..a18f94d 100644
--- a/src/Pegasus/FQL/FQLQueryStatementRep.cpp
+++ b/src/Pegasus/FQL/FQLQueryStatementRep.cpp
@@ -408,6 +408,7 @@ static Boolean _Evaluate(
op);
}
}
+
// In this case, the right hand might still be String and we
// must convert
case FQLOperand::REFERENCE_VALUE:
@@ -427,6 +428,7 @@ static Boolean _Evaluate(
op);
}
}
+
case FQLOperand::PROPERTY_NAME:
PEGASUS_ASSERT(0);
}
@@ -434,7 +436,7 @@ static Boolean _Evaluate(
}
// Catch the specific IndexOutOf range set by FQLOperand.h
- catch (IndexOutOfBoundsException)
+ catch (const IndexOutOfBoundsException&)
{
#ifdef FQL_DOTRACE
DCOUT << "Caught index out of Bounds Exception" << endl;
@@ -739,6 +741,8 @@ Boolean FQLQueryStatementRep::evaluateQuery(
// All operations allowed
allComparesAllowed = true;
}
+ // fall through
+ /* FALLTHRU */
case FQL_LT:
case FQL_LE:
case FQL_GT:
@@ -832,7 +836,8 @@ Boolean FQLQueryStatementRep::evaluateQuery(
case FQL_NOT_ANY:
case FQL_NOT_EVERY:
isNotType = true;
-
+ // fall through
+ /* FALLTHRU */
case FQL_EVERY:
case FQL_ANY:
{
diff --git a/src/Pegasus/HandlerService/tests/ReliableIndicationDisableEnable/ReliableIndicationDisableEnableTest.cpp b/src/Pegasus/HandlerService/tests/ReliableIndicationDisableEnable/ReliableIndicationDisableEnableTest.cpp
index 5d460e0..5820e4c 100644
--- a/src/Pegasus/HandlerService/tests/ReliableIndicationDisableEnable/ReliableIndicationDisableEnableTest.cpp
+++ b/src/Pegasus/HandlerService/tests/ReliableIndicationDisableEnable/ReliableIndicationDisableEnableTest.cpp
@@ -156,7 +156,7 @@ void MyIndicationConsumer::consumeIndication(
<< receivedIndicationCount.get()
<< " of " << indicationSendCountTotal << endl;
}
-
+
//
// Get the date and time from the indication
// Compare it to the current date
@@ -939,7 +939,7 @@ ThreadReturnType PEGASUS_THREAD_CDECL _executeTests(void *parm)
elapsedTime.stop();
_testEnd(uniqueID, elapsedTime.getElapsed());
}
- catch(Exception e)
+ catch(Exception& e)
{
cout << e.getMessage() << endl;
}
@@ -1055,15 +1055,15 @@ int _beginTest(CIMClient& workClient, const char* opt,
if (monitorClientResidentListener)
{
// Add our consumer
- // CIMListener will be not started yet
- // It will be started after sending indication
+ // CIMListener will be not started yet
+ // It will be started after sending indication
// so that a temporary indication delivery failure
- // will occur and after then CIMListener
- // will be started so that for reliable indication
- // enable, indication will be delivered after few retry
- // and for reliable indication disable,indication will be
- // not delivered.
-
+ // will occur and after then CIMListener
+ // will be started so that for reliable indication
+ // enable, indication will be delivered after few retry
+ // and for reliable indication disable,indication will be
+ // not delivered.
+
listener.addConsumer(consumer1);
}
@@ -1185,11 +1185,11 @@ int _beginTest(CIMClient& workClient, const char* opt,
throw;
}
}
-
+
while (noChangeIterations <= MAX_NO_CHANGE_ITERATIONS)
{
totalIterations++;
-
+
System::sleep (SLEEP_SEC);
if (monitorClientResidentListener)
@@ -1291,12 +1291,12 @@ int _beginTest(CIMClient& workClient, const char* opt,
}
else
{
- cout << " Indications Sent and Received Not Matched " << endl
+ cout << " Indications Sent and Received Not Matched " << endl
<< endl;
}
-
+
}
diff --git a/src/Providers/ManagedSystem/Process/Process_Linux.cpp b/src/Providers/ManagedSystem/Process/Process_Linux.cpp
index 572d9f8..dd72620 100644
--- a/src/Providers/ManagedSystem/Process/Process_Linux.cpp
+++ b/src/Providers/ManagedSystem/Process/Process_Linux.cpp
@@ -1114,7 +1114,7 @@ Boolean get_proc(peg_proc_t* P, int &pIndex , Boolean find_by_pid)
{
static struct dirent *dir;
static struct stat stat_buff;
- static char path[32];
+ static char path[512];
static char buffer[512];
DIR* procDir;
int count;
@@ -1233,6 +1233,3 @@ void doPercentCPU(char *inputFileString, peg_proc_t *P)
}
else P->pst_pctcpu = 0;
}
-
-
-
diff --git a/src/Providers/TestProviders/IndicationStressTestProvider/testclient/IndicationStressTest.cpp b/src/Providers/TestProviders/IndicationStressTestProvider/testclient/IndicationStressTest.cpp
index 50f585c..a7be349 100644
--- a/src/Providers/TestProviders/IndicationStressTestProvider/testclient/IndicationStressTest.cpp
+++ b/src/Providers/TestProviders/IndicationStressTestProvider/testclient/IndicationStressTest.cpp
@@ -1036,7 +1036,7 @@ ThreadReturnType PEGASUS_THREAD_CDECL _executeTests(void *parm)
elapsedTime.stop();
_testEnd(uniqueID, elapsedTime.getElapsed());
}
- catch(Exception e)
+ catch(const Exception & e)
{
cout << e.getMessage() << endl;
}
--
2.39.1

View File

@ -0,0 +1,184 @@
From 7be88f8e1201deac5cbf489730a7700b71869de6 Mon Sep 17 00:00:00 2001
From: Jingyun Hua <huajingyun@loongson.cn>
Date: Thu, 8 Dec 2022 07:41:58 +0000
Subject: [PATCH] add loongarch64 support
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
---
mak/platform_LINUX_LOONGARCH64_GNU.mak | 34 ++++++
src/Pegasus/Common/Config.h | 2 +
.../Common/Platform_LINUX_LOONGARCH64_GNU.h | 108 ++++++++++++++++++
3 files changed, 144 insertions(+)
create mode 100644 mak/platform_LINUX_LOONGARCH64_GNU.mak
create mode 100644 src/Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h
diff --git a/mak/platform_LINUX_LOONGARCH64_GNU.mak b/mak/platform_LINUX_LOONGARCH64_GNU.mak
new file mode 100644
index 0000000..b3a2652
--- /dev/null
+++ b/mak/platform_LINUX_LOONGARCH64_GNU.mak
@@ -0,0 +1,34 @@
+#//%LICENSE////////////////////////////////////////////////////////////////
+#//
+#// Licensed to The Open Group (TOG) under one or more contributor license
+#// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
+#// this work for additional information regarding copyright ownership.
+#// Each contributor licenses this file to you under the OpenPegasus Open
+#// Source License; you may not use this file except in compliance with the
+#// License.
+#//
+#// Permission is hereby granted, free of charge, to any person obtaining a
+#// copy of this software and associated documentation files (the "Software"),
+#// to deal in the Software without restriction, including without limitation
+#// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+#// and/or sell copies of the Software, and to permit persons to whom the
+#// Software is furnished to do so, subject to the following conditions:
+#//
+#// The above copyright notice and this permission notice shall be included
+#// in all copies or substantial portions of the Software.
+#//
+#// 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.
+#//
+#//////////////////////////////////////////////////////////////////////////
+# Platform Configuration for Linux on LOONGARCH64
+# If you have generic Linux config options, please place them in config-linux.mak
+
+include $(ROOT)/mak/config-linux.mak
+
+ARCHITECTURE = LOONGARCH64
diff --git a/src/Pegasus/Common/Config.h b/src/Pegasus/Common/Config.h
index a28b58b..afe1224 100644
--- a/src/Pegasus/Common/Config.h
+++ b/src/Pegasus/Common/Config.h
@@ -98,6 +98,8 @@
# include <Pegasus/Common/Platform_LINUX_XSCALE_GNU.h>
#elif defined (PEGASUS_PLATFORM_LINUX_AARCH64_GNU)
# include <Pegasus/Common/Platform_LINUX_AARCH64_GNU.h>
+#elif defined (PEGASUS_PLATFORM_LINUX_LOONGARCH64_GNU)
+# include <Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h>
#elif defined (PEGASUS_PLATFORM_LINUX_X86_64_CLANG)
# include <Pegasus/Common/Platform_LINUX_X86_64_CLANG.h>
#elif defined (PEGASUS_PLATFORM_LINUX_IX86_CLANG)
diff --git a/src/Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h b/src/Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h
new file mode 100644
index 0000000..8d0bafc
--- /dev/null
+++ b/src/Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h
@@ -0,0 +1,108 @@
+//%LICENSE////////////////////////////////////////////////////////////////
+//
+// Licensed to The Open Group (TOG) under one or more contributor license
+// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
+// this work for additional information regarding copyright ownership.
+// Each contributor licenses this file to you under the OpenPegasus Open
+// Source License; you may not use this file except in compliance with the
+// License.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the "Software"),
+// to deal in the Software without restriction, including without limitation
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+// and/or sell copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// 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.
+//
+//////////////////////////////////////////////////////////////////////////
+//
+//%/////////////////////////////////////////////////////////////////////////////
+
+/*****************************************************************************
+ The platform configuration files in pegasus/src/Pegasus/Common/Platform_*.h
+ are intended to normalize platform/compiler differences so that Pegasus code
+ can be written to work on all platforms without requiring platform ifdefs.
+ Since these files are part of the Pegasus SDK, their contents should be
+ the minimum that achieves the stated purpose.
+
+ Examples of differences that are normalized here are support for C++
+ namespaces, 64-bit integer type, support for C++ template specialization.
+
+ Examples of things that are not appropriate in these files are the enablement
+ of Pegasus features for a specific platform and other build configuration.
+******************************************************************************/
+
+#ifndef Pegasus_Platform_LINUX_LOONGARCH64_GNU_h
+#define Pegasus_Platform_LINUX_LOONGARCH64_GNU_h
+
+#include <stddef.h>
+
+#define PEGASUS_OS_TYPE_UNIX
+
+#ifndef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
+#define PEGASUS_PLATFORM_LINUX_GENERIC_GNU
+#endif
+
+#define PEGASUS_OS_LINUX
+
+#define PEGASUS_POINTER_64BIT
+
+#define PEGASUS_COMPILER_GNU
+
+#define PEGASUS_UINT64 unsigned long long
+
+#define PEGASUS_SINT64 long long
+
+#define PEGASUS_HAVE_NAMESPACES
+
+#define PEGASUS_HAVE_FOR_SCOPE
+
+#define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
+
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+#ifndef _REENTRANT
+#define _REENTRANT
+#endif
+#define _THREAD_SAFE
+#include <features.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/param.h> /* For MAXHOSTNAMELEN */
+#include <limits.h> /* _POSIX_HOST_NAME_MAX */
+
+#if (__GNUC__ >= 4)
+# define PEGASUS_EXPORT __attribute__ ((visibility("default")))
+# define PEGASUS_IMPORT __attribute__ ((visibility("default")))
+# define PEGASUS_HIDDEN_LINKAGE __attribute__((visibility("hidden")))
+#endif
+
+#define PEGASUS_HAVE_PTHREADS
+
+#define PEGASUS_HAVE_NANOSLEEP
+
+#define PEGASUS_HAS_SIGNALS
+
+#define PEGASUS_INTEGERS_BOUNDARY_ALIGNED
+
+/* getifaddrs() avilable in gcc version >= 3.4 */
+#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4))
+# define PEGASUS_HAS_GETIFADDRS
+#endif
+
+/* use POSIX read-write locks on this platform */
+#define PEGASUS_USE_POSIX_RWLOCK
+
+#endif /* Pegasus_Platform_LINUX_LOONGARCH64_GNU_h */
--
2.33.0

184
add-riscv64-support.patch Normal file
View File

@ -0,0 +1,184 @@
From 72c24c5bd151177f1da5e54c1e9950f4bcc3e5b2 Mon Sep 17 00:00:00 2001
From: misaka00251 <liuxin@iscas.ac.cn>
Date: Fri, 28 Jul 2023 12:36:55 +0800
Subject: [PATCH] Add riscv64 support
---
mak/platform_LINUX_RISCV64_GNU.mak | 36 ++++++
src/Pegasus/Common/Config.h | 2 +
.../Common/Platform_LINUX_RISCV64_GNU.h | 108 ++++++++++++++++++
3 files changed, 146 insertions(+)
create mode 100644 mak/platform_LINUX_RISCV64_GNU.mak
create mode 100644 src/Pegasus/Common/Platform_LINUX_RISCV64_GNU.h
diff --git a/mak/platform_LINUX_RISCV64_GNU.mak b/mak/platform_LINUX_RISCV64_GNU.mak
new file mode 100644
index 0000000..21b3351
--- /dev/null
+++ b/mak/platform_LINUX_RISCV64_GNU.mak
@@ -0,0 +1,36 @@
+#//%LICENSE////////////////////////////////////////////////////////////////
+#//
+#// Licensed to The Open Group (TOG) under one or more contributor license
+#// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
+#// this work for additional information regarding copyright ownership.
+#// Each contributor licenses this file to you under the OpenPegasus Open
+#// Source License; you may not use this file except in compliance with the
+#// License.
+#//
+#// Permission is hereby granted, free of charge, to any person obtaining a
+#// copy of this software and associated documentation files (the "Software"),
+#// to deal in the Software without restriction, including without limitation
+#// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+#// and/or sell copies of the Software, and to permit persons to whom the
+#// Software is furnished to do so, subject to the following conditions:
+#//
+#// The above copyright notice and this permission notice shall be included
+#// in all copies or substantial portions of the Software.
+#//
+#// 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.
+#//
+#//////////////////////////////////////////////////////////////////////////
+# Platform Configuration for Linux on PPC
+# If you have generic Linux config options, please place them in config-linux.mak
+
+include $(ROOT)/mak/config-linux.mak
+
+ARCHITECTURE = RISCV64
+CXX_MACHINE_OPTIONS =
+LINK_MACHINE_OPTIONS =
diff --git a/src/Pegasus/Common/Config.h b/src/Pegasus/Common/Config.h
index afe1224..0f400c5 100644
--- a/src/Pegasus/Common/Config.h
+++ b/src/Pegasus/Common/Config.h
@@ -100,6 +100,8 @@
# include <Pegasus/Common/Platform_LINUX_AARCH64_GNU.h>
#elif defined (PEGASUS_PLATFORM_LINUX_LOONGARCH64_GNU)
# include <Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h>
+#elif defined (PEGASUS_PLATFORM_LINUX_RISCV64_GNU)
+# include <Pegasus/Common/Platform_LINUX_RISCV64_GNU.h>
#elif defined (PEGASUS_PLATFORM_LINUX_X86_64_CLANG)
# include <Pegasus/Common/Platform_LINUX_X86_64_CLANG.h>
#elif defined (PEGASUS_PLATFORM_LINUX_IX86_CLANG)
diff --git a/src/Pegasus/Common/Platform_LINUX_RISCV64_GNU.h b/src/Pegasus/Common/Platform_LINUX_RISCV64_GNU.h
new file mode 100644
index 0000000..b2dcfce
--- /dev/null
+++ b/src/Pegasus/Common/Platform_LINUX_RISCV64_GNU.h
@@ -0,0 +1,108 @@
+//%LICENSE////////////////////////////////////////////////////////////////
+//
+// Licensed to The Open Group (TOG) under one or more contributor license
+// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
+// this work for additional information regarding copyright ownership.
+// Each contributor licenses this file to you under the OpenPegasus Open
+// Source License; you may not use this file except in compliance with the
+// License.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the "Software"),
+// to deal in the Software without restriction, including without limitation
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+// and/or sell copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// 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.
+//
+//////////////////////////////////////////////////////////////////////////
+//
+//%/////////////////////////////////////////////////////////////////////////////
+
+/*****************************************************************************
+ The platform configuration files in pegasus/src/Pegasus/Common/Platform_*.h
+ are intended to normalize platform/compiler differences so that Pegasus code
+ can be written to work on all platforms without requiring platform ifdefs.
+ Since these files are part of the Pegasus SDK, their contents should be
+ the minimum that achieves the stated purpose.
+
+ Examples of differences that are normalized here are support for C++
+ namespaces, 64-bit integer type, support for C++ template specialization.
+
+ Examples of things that are not appropriate in these files are the enablement
+ of Pegasus features for a specific platform and other build configuration.
+******************************************************************************/
+
+#ifndef Pegasus_Platform_LINUX_RISCV64_GNU_h
+#define Pegasus_Platform_LINUX_RISCV64_GNU_h
+
+#include <stddef.h>
+
+#define PEGASUS_OS_TYPE_UNIX
+
+#ifndef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
+#define PEGASUS_PLATFORM_LINUX_GENERIC_GNU
+#endif
+
+#define PEGASUS_OS_LINUX
+
+#define PEGASUS_POINTER_64BIT
+
+#define PEGASUS_COMPILER_GNU
+
+#define PEGASUS_UINT64 unsigned long long
+
+#define PEGASUS_SINT64 long long
+
+#define PEGASUS_HAVE_NAMESPACES
+
+#define PEGASUS_HAVE_FOR_SCOPE
+
+#define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
+
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+#ifndef _REENTRANT
+#define _REENTRANT
+#endif
+#define _THREAD_SAFE
+#include <features.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/param.h> /* For MAXHOSTNAMELEN */
+#include <limits.h> /* _POSIX_HOST_NAME_MAX */
+
+#if (__GNUC__ >= 4)
+# define PEGASUS_EXPORT __attribute__ ((visibility("default")))
+# define PEGASUS_IMPORT __attribute__ ((visibility("default")))
+# define PEGASUS_HIDDEN_LINKAGE __attribute__((visibility("hidden")))
+#endif
+
+#define PEGASUS_HAVE_PTHREADS
+
+#define PEGASUS_HAVE_NANOSLEEP
+
+#define PEGASUS_HAS_SIGNALS
+
+#define PEGASUS_INTEGERS_BOUNDARY_ALIGNED
+
+/* getifaddrs() avilable in gcc version >= 3.4 */
+#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4))
+# define PEGASUS_HAS_GETIFADDRS
+#endif
+
+/* use POSIX read-write locks on this platform */
+#define PEGASUS_USE_POSIX_RWLOCK
+
+#endif /* Pegasus_Platform_LINUX_RISCV64_GNU_h */
--
2.37.1 (Apple Git-137.1)

View File

@ -6,7 +6,7 @@
Name: tog-pegasus
Version: %{major_ver}.1
Release: 50
Release: 55
Epoch: 2
Summary: OpenPegasus WBEM Services for Linux
License: MIT
@ -36,6 +36,9 @@ Patch15: pegasus-2.13.0-gcc5-build.patch
Patch16: pegasus-2.14.1-build-fixes.patch
Patch17: pegasus-2.14.1-ssl-include.patch
Patch18: pegasus-2.14.1-openssl-1.1-fix.patch
Patch19: add-loongarch64-support.patch
Patch20: 0001-Fixes-issue-8-gcc-catch-by-value-and-implicit-fallth.patch
Patch21: add-riscv64-support.patch
BuildRequires: procps libstdc++ pam-devel openssl openssl-devel
BuildRequires: bash sed grep coreutils procps gcc gcc-c++ libstdc++
@ -77,6 +80,15 @@ Header files for tog-pegasus
%ifarch aarch64
%global PEGASUS_HARDWARE_PLATFORM LINUX_AARCH64_GNU
%endif
%ifarch loongarch64
%global PEGASUS_HARDWARE_PLATFORM LINUX_LOONGARCH64_GNU
%endif
%ifarch riscv64
%global PEGASUS_HARDWARE_PLATFORM LINUX_RISCV64_GNU
%endif
%ifarch ppc64le
%global PEGASUS_HARDWARE_PLATFORM LINUX_PPC64_GNU
%endif
%global PEGASUS_ARCH_LIB %{_lib}
%global OPENSSL_HOME %{_prefix}
@ -125,6 +137,9 @@ yes | mak/CreateDmtfSchema 238 %{SOURCE4} cim_schema_2.38.0
%patch16 -p1 -b .build-fixes
%patch17 -p1 -b .ssl-include
%patch18 -p1 -b .openssl-1.1-fix
%patch19 -p1 -b .add-loongarch64-support
%patch20 -p1
%patch21 -p1 -b .add-riscv64-support
%build
cp -fp %SOURCE3 rpm
@ -359,12 +374,27 @@ fi
%verify(not md5 size mtime) /var/lib/Pegasus/testrepository
%files help
%defattr(0644, root, pegasus, 0755)
%defattr(0644, root, root, 0755)
%doc src/Clients/repupgrade/doc/repupgrade.html
%{_mandir}/man8/*
%{_mandir}/man1/*
%changelog
* Tue Nov 28 2023 peng.zou <peng.zou@shingroup.cn> - 2:2.14.1-55
- Add ppc64le support
* Fri Jul 28 2023 misaka00251 <liuxin@iscas.ac.cn> - 2:2.14.1-54
- Add riscv64 support
* Tue Jul 04 2023 chenchen <chen_aka_jan@163.com> - 2:2.14.1-53
- fix build error for gcc-12
* Thu Dec 8 2022 huajingyun <huajingyun@loongson.cn> - 2:2.14.1-52
- Add loongarch64 support
* Tue Aug 31 2021 caodongxia <caodongxia@huawei.com> - 2:2.14.1-51
- Fix help package install warning
* Thu May 28 2020 Guoshuai Sun <sunguoshuai@huawei.com> - 2:2.14.1-49
- Modify spec for unreasonable disable stop.service when removing pack.