Compare commits

...

No commits in common. "c8" and "c9s" have entirely different histories.
c8 ... c9s

50 changed files with 674 additions and 28 deletions

5
.gitignore vendored
View File

@ -1,3 +1,2 @@
SOURCES/cim_schema_2.38.0Experimental-MOFs.zip
SOURCES/pegasus-2.14.1.tar.gz
SOURCES/repupgrade.1.gz
/pegasus-2.*.tar.gz
/cim_schema_*.zip

View File

@ -1,3 +0,0 @@
151955bd95cefac21c67996b59910d61461e2132 SOURCES/cim_schema_2.38.0Experimental-MOFs.zip
c832eaf240f6dfba843c4937f7a935382d48b9be SOURCES/pegasus-2.14.1.tar.gz
2d9a12d6983385fe75b06103fd032eec05353085 SOURCES/repupgrade.1.gz

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}

View File

@ -0,0 +1,10 @@
diff -up pegasus/src/Pegasus/ExportClient/tests/libraries.mak.orig pegasus/src/Pegasus/ExportClient/tests/libraries.mak
--- pegasus/src/Pegasus/ExportClient/tests/libraries.mak.orig 2020-11-26 10:20:13.938292092 +0100
+++ pegasus/src/Pegasus/ExportClient/tests/libraries.mak 2020-11-26 10:25:30.248432039 +0100
@@ -35,4 +35,5 @@ LIBRARIES= \
pegrepository \
pegconfig \
pegclient \
- pegcommon
+ pegcommon \
+ pegwsmserver

View File

@ -0,0 +1,22 @@
--- pegasus/src/Pegasus/Common/InternalException.cpp.orig 2020-03-25 04:14:59.507215411 +0000
+++ pegasus/src/Pegasus/Common/InternalException.cpp 2020-03-25 04:06:31.545770255 +0000
@@ -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")
{
}
--- pegasus/src/Pegasus/Client/tests/slp/slpclient.cpp.orig 2020-03-25 04:21:46.078970915 +0000
+++ pegasus/src/Pegasus/Client/tests/slp/slpclient.cpp 2020-03-25 04:22:16.302878401 +0000
@@ -49,7 +49,7 @@ int main(int argc, char** argv)
Array<Attribute> criteria;
Attribute attr(
- PEG_WBEM_SLP_SERVICE_ID"="PEG_WBEM_SLP_SERVICE_ID_DEFAULT);
+ PEG_WBEM_SLP_SERVICE_ID"=" PEG_WBEM_SLP_SERVICE_ID_DEFAULT);
Array<CIMServerDescription> connections;
SLPClientOptions* opts = (SLPClientOptions*)NULL;
if (argc == 2)

View File

@ -0,0 +1,117 @@
--- pegasus/src/Pegasus/ProviderManager2/CMPI/CMPIProviderManager.cpp.warnings 2006-02-28 14:53:30.000000000 -0500
+++ pegasus/src/Pegasus/ProviderManager2/CMPI/CMPIProviderManager.cpp 2006-04-05 19:27:27.000000000 -0400
@@ -88,7 +88,7 @@
char **props;
int pCount;
public:
- CMPIPropertyList(CIMPropertyList &propertyList) {
+ CMPIPropertyList(CIMPropertyList &propertyList) : props(0L), pCount(0) {
if (!propertyList.isNull()) {
Array<CIMName> p=propertyList.getPropertyNameArray();
pCount=p.size();
@@ -2497,7 +2497,7 @@
try
{
- indProvRecord *provRec;
+ indProvRecord *provRec = 0L;
if (provTab.lookup (ph.GetProvider ().getName (), provRec))
{
provRec->enabled = true;
@@ -2587,7 +2587,7 @@
PEG_METHOD_ENTER (TRC_PROVIDERMANAGER,
"CMPIProviderManager::_callDisableIndications");
- indProvRecord * provRec;
+ indProvRecord * provRec = 0L;
if (provTab.lookup (ph.GetProvider ().getName (), provRec))
{
provRec->enabled = false;
--- pegasus/src/Pegasus/Config/ConfigManager.cpp.warnings 2006-03-14 16:06:37.000000000 -0500
+++ pegasus/src/Pegasus/Config/ConfigManager.cpp 2006-04-05 19:27:27.000000000 -0400
@@ -758,7 +758,7 @@
//
for (Uint32 i = 0; i < NUM_PROPERTIES; i++)
{
- const char* fixedValue;
+ const char* fixedValue = 0L;
_properties[i].propertyOwner->initialize();
--- pegasus/src/Pegasus/Common/Packer.h.warnings 2006-01-30 11:17:07.000000000 -0500
+++ pegasus/src/Pegasus/Common/Packer.h 2006-04-05 19:27:27.000000000 -0400
@@ -173,12 +173,12 @@
inline void Packer::packReal32(Buffer& out, Real32 x)
{
- packUint32(out, *((Uint32*)&x));
+ packUint32(out, *(reinterpret_cast<Uint32*>(&x)));
}
inline void Packer::packReal64(Buffer& out, Real64 x)
{
- packUint64(out, *((Uint64*)&x));
+ packUint64(out, *(reinterpret_cast<Uint64*>(&x)));
}
inline void Packer::packChar16(Buffer& out, Char16 x)
--- pegasus/src/Pegasus/Common/StringInline.h.warnings 2006-01-30 11:17:08.000000000 -0500
+++ pegasus/src/Pegasus/Common/StringInline.h 2006-04-05 19:30:43.000000000 -0400
@@ -102,7 +102,7 @@
PEGASUS_STRING_INLINE const Char16* String::getChar16Data() const
{
- return (Char16*)_rep->data;
+ return (Char16*)&(_rep->data[0]);
}
PEGASUS_STRING_INLINE Char16& String::operator[](Uint32 i)
@@ -145,7 +145,7 @@
PEGASUS_STRING_INLINE Uint32 String::find(const String& s) const
{
- return StringFindAux(_rep, (Char16*)s._rep->data, s._rep->size);
+ return StringFindAux(_rep, (Char16*)&(s._rep->data[0]), s._rep->size);
}
PEGASUS_STRING_INLINE String& String::append(const Char16& c)
--- pegasus/src/Pegasus/Common/ResponseHandler.cpp.warnings 2006-01-30 11:17:07.000000000 -0500
+++ pegasus/src/Pegasus/Common/ResponseHandler.cpp 2006-04-05 19:27:27.000000000 -0400
@@ -79,7 +79,7 @@
ResponseHandlerRep* _getRep(
const ResponseHandler* object)
{
- ResponseHandlerRep* rep;
+ ResponseHandlerRep* rep = 0L;
Boolean found;
AutoMutex lock(repTableMutex);
@@ -91,7 +91,7 @@
void _deleteRep(
ResponseHandler* object)
{
- ResponseHandlerRep* rep;
+ ResponseHandlerRep* rep = 0L;
Boolean found;
AutoMutex lock(repTableMutex);
--- pegasus/src/Pegasus/Common/String.cpp.warnings 2006-01-30 11:17:08.000000000 -0500
+++ pegasus/src/Pegasus/Common/String.cpp 2006-04-05 19:27:27.000000000 -0400
@@ -843,7 +843,7 @@
String& String::append(const String& str)
{
- return append((Char16*)str._rep->data, str._rep->size);
+ return append((Char16*)(&(str._rep->data[0])), str._rep->size);
}
String& String::append(const char* str, Uint32 size)
@@ -905,7 +905,7 @@
if (n == PEG_NOT_FOUND || n > _rep->size - index)
n = _rep->size - index;
- return String((Char16*)_rep->data + index, n);
+ return String((Char16*)(_rep->data + index), n);
}
return String();

View File

@ -0,0 +1,55 @@
This patch is required because net-smp is not build with DES support,
so usmDESPrivProtocol is not available.
diff -up pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.cpp.orig pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.cpp
--- pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.cpp.orig 2021-06-23 09:57:12.052712533 +0200
+++ pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.cpp 2021-06-23 10:06:19.893857294 +0200
@@ -247,6 +247,16 @@ void snmpDeliverTrap_netsnmp::_createSes
#ifdef PEGASUS_ENABLE_NET_SNMPV3
case _SNMPv3_TRAP:
{
+ if(snmpSecPrivProto == 1)
+ {
+ //DES is no longer supported.
+ PEG_METHOD_EXIT();
+ throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_NOT_SUPPORTED,
+ MessageLoaderParms(
+ _MSG_DES_NOT_SUPPORTED_KEY,
+ _MSG_DES_NOT_SUPPORTED));
+ }
+
snmpSession.version = SNMP_VERSION_3;
CString securityNameCStr = securityName.getCString();
size_t securityNameLen = strlen(securityNameCStr);
@@ -321,14 +331,7 @@ void snmpDeliverTrap_netsnmp::_createSes
SNMP_FREE(snmpSession.securityPrivProto);
//Privacy
- if(snmpSecPrivProto == 1) //DES
- {
- snmpSession.securityPrivProto = snmp_duplicate_objid(
- usmDESPrivProtocol,
- USM_PRIV_PROTO_DES_LEN);
- snmpSession.securityPrivProtoLen = USM_PRIV_PROTO_DES_LEN;
- }
- else if(snmpSecPrivProto == 2) // AES
+ if(snmpSecPrivProto == 2) // AES
{
snmpSession.securityPrivProto = snmp_duplicate_objid(
usmAESPrivProtocol,
diff -up pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.h.orig pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.h
--- pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.h.orig 2021-06-23 09:57:54.014119384 +0200
+++ pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.h 2021-06-23 10:05:04.489320833 +0200
@@ -64,6 +64,12 @@ static const char _MSG_VERSION_NOT_SUPPO
"Handler.snmpIndicationHandler.snmpDeliverTrap_netsnmp."
"_MSG_VERSION_NOT_SUPPORTED";
+static const char _MSG_DES_NOT_SUPPORTED[] =
+ "DES support is disabled in SNMP.";
+static const char _MSG_DES_NOT_SUPPORTED_KEY[] =
+ "Handler.snmpIndicationHandler.snmpDeliverTrap_netsnmp."
+ "_MSG_DES_NOT_SUPPORTED";
+
static const char _MSG_SESSION_SEND_FAILED[] =
"Snmp Indication Handler failed to send the trap: ";
static const char _MSG_SESSION_SEND_FAILED_KEY[] =

158
pegasus_arch_alternatives Executable file
View File

@ -0,0 +1,158 @@
#!/bin/bash
#
# Script to manage tog-pegasus alternatives for multi-lib platforms
#
# Jason Vas Dias<jvdias@redhat.com>, Red Hat, Inc. June 2006
#
# Usage:
# pegasus_arch_alternatives
# ( --list [pfx] |
# ( [ devel | test ] [ -64 ] [ -32 ] [ --remove ] [ --display ] )
# )
# no args : set up library and binary 'pegasus' alternatives
# --list : list 64/32-bit alternatives, with optional prefix pfx
# devel : set up the 'pegasus-devel' alternative
# test : set up the 'pegasus-test' alternative
# -64 : select 64-bit alternatives
# -32 : select 32-bit alternatives
# --remove : remove all pegasus alternatives
# --display: display the pegasus alternatives
#
ALT='pegasus'
LINK=/usr/sbin/cimserver
SLAVES=(/usr/{bin/{cimmof,cimmofl,cimprovider,osinfo,wbemexec},sbin/{cimauth,cimconfig,cimprovagt,cimsub,cimuser,repupgrade}})
DEVEL_LINK=/usr/share/Pegasus/samples/mak/config.mak
TEST_LINK=/usr/share/Pegasus/test/Makefile
#
# Handle listing arg:
#
if [ "$1" = '--list' ]; then
pfx='';
if [ $# -gt 1 ]; then
pfx=$2' ';
fi;
for f in $LINK ${SLAVES[@]} $DEVEL_LINK $TEST_LINK; do
echo ${pfx}$f;
done;
exit 0;
fi
#
# Ensure that files and alternatives are correctly in-sync for architecture:
#
ARCH=`/bin/uname -i`
case $ARCH in
# return for arches that have no alternatives
ia64 )
# nothing to be done - shipped without binary suffix
exit 0;
;;
i386 | ppc | s390 | sparc )
# shipped with -32 suffix, but no alternatives possible - move:
for f in $LINK ${SLAVES[@]} $DEVEL_LINK $TEST_LINK;
do
if [ -f ${f}-32 ] ; then
/bin/mv -f ${f}-32 $f;
fi;
done;
exit 0;
;;
x86_64 | ppc64 | ppc64le | s390x | sparc64 )
# continue
;;
*)
# unhandled architecture
exit 1;
;;
esac;
if [ "$1" = 'devel' ] || [ "$1" = 'test' ]; then
ALT='pegasus-'$1;
shift;
SLAVES=();
if [ "$ALT" = 'pegasus-devel' ]; then
LINK=$DEVEL_LINK;
else
LINK=$TEST_LINK;
fi;
fi;
#
# Ensure that whatever alternatives can be installed, are installed,
# and those that can't be installed are removed:
#
alternatives="`/usr/sbin/alternatives --display $ALT 2>/dev/null`";
slaves64=''
slaves32=''
installed64=1;
installed32=1;
for f in $LINK ${SLAVES[@]}; do
if [ $installed64 -eq 1 ] && [ -f ${f}-64 ]; then
slaves64=${slaves64}'--slave '$f' '${f##*/}' '${f}-64' ';
else
installed64=0;
continue;
fi;
if [ $installed32 -eq 1 ] && [ -f ${f}-32 ]; then
slaves32=${slaves32}'--slave '$f' '${f##*/}' '${f}-32' ';
else
installed32=0;
continue;
fi;
if [ -e $f ] && [ ! -L $f ]; then
/bin/rm -f $f;
fi;
done
if [ $installed64 -eq 0 ]; then
/usr/sbin/alternatives --remove $ALT ${LINK}-64 >/dev/null 2>&1 || :;
elif ! echo "$alternatives" | /bin/egrep -q "^${LINK}-64"; then
/usr/sbin/alternatives --install $LINK $ALT ${LINK}-64 50 $slaves64;
fi;
if [ $installed32 -eq 0 ]; then
/usr/sbin/alternatives --remove $ALT ${LINK}-32 >/dev/null 2>&1 || :;
elif ! echo "$alternatives" | /bin/egrep -q "^${LINK}-32"; then
/usr/sbin/alternatives --install $LINK $ALT ${LINK}-32 50 $slaves32;
fi;
#
# Handle optional user args
#
if [ -n "$1" ]; then
case $1 in
-64 )
if [ $installed64 -eq 1 ]; then
/usr/sbin/alternatives --set $ALT ${LINK}-64;
if [ "$ALT" = 'pegasus' ]; then
/usr/sbin/alternatives --set pegasus-devel ${DEVEL_LINK}-64 >/dev/null 2>&1;
/usr/sbin/alternatives --set pegasus-test ${TEST_LINK}-64 >/dev/null 2>&1;
fi;
fi
;;
-32 )
if [ $installed32 -eq 1 ]; then
/usr/sbin/alternatives --set $ALT ${LINK}-32;
if [ "$ALT" = 'pegasus' ]; then
/usr/sbin/alternatives --set pegasus-devel ${DEVEL_LINK}-32 >/dev/null 2>&1;
/usr/sbin/alternatives --set pegasus-test ${TEST_LINK}-32 >/dev/null 2>&1;
fi;
fi
;;
--remove )
/usr/sbin/alternatives --remove $ALT ${LINK}-32 >/dev/null 2>&1;
/usr/sbin/alternatives --remove $ALT ${LINK}-64 >/dev/null 2>&1;
if [ "$ALT" = 'pegasus' ]; then
/usr/sbin/alternatives --remove pegasus-devel ${DEVEL_LINK}-32 >/dev/null 2>&1;
/usr/sbin/alternatives --remove pegasus-devel ${DEVEL_LINK}-64 >/dev/null 2>&1;
/usr/sbin/alternatives --remove pegasus-test ${TEST_LINK}-32 >/dev/null 2>&1;
/usr/sbin/alternatives --remove pegasus-test ${TEST_LINK}-64 >/dev/null 2>&1;
fi;
;;
--display )
/usr/sbin/alternatives --display $ALT;
if [ "$ALT" = 'pegasus' ]; then
/usr/sbin/alternatives --display pegasus-devel;
/usr/sbin/alternatives --display pegasus-test;
fi
;;
*)
exit 1;
;;
esac;
fi;
exit 0;

69
pegasus_rpm_build_env.sh Normal file
View File

@ -0,0 +1,69 @@
# pegasus_rpm_build_env.sh:
#
# Open Pegasus RPM %build + %install environment setup.
#
# Expects these variables to be set on entry:
# RPM_ARCH : rpmbuild architecture identifier
# RPM_OPT_FLAGS : rpmbuild compile options
# RPM_BUILD_DIR : rpmbuild source directory
# RPM_BUILD_ROOT: rpmbuild build destination directory
# RPM_ARCH_LIB : %{_lib} : lib or lib64
# SRCNAME : name of pegasus source directory
#
# compile options:
#
export PEGASUS_EXTRA_C_FLAGS="$RPM_OPT_FLAGS -Wno-unused"
export PEGASUS_EXTRA_CXX_FLAGS="$PEGASUS_EXTRA_C_FLAGS"
export PEGASUS_EXTRA_PROGRAM_LINK_FLAGS="-pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack"
export SYS_INCLUDES=-I/usr/kerberos/include
#
# build object directories:
#
SRCNAME=${SRCNAME:-pegasus}
export PEGASUS_ROOT=${RPM_BUILD_DIR}/${SRCNAME}
export PEGASUS_HOME=${RPM_BUILD_DIR}/${SRCNAME}/build
#
# build time settings:
export PEGASUS_ARCH_LIB=${RPM_ARCH_LIB:-lib}
export PEGASUS_ENVVAR_FILE=${PEGASUS_ROOT}/env_var_Linux.status
export OPENSSL_HOME=/usr
export OPENSSL_BIN=/usr/bin
export LD_LIBRARY_PATH=${PEGASUS_HOME}/lib
export PATH=${PEGASUS_HOME}/bin:${PATH}
#
# PEGASUS_PLATFORM (hardware platform) setup:
#
if [ -z "$RPM_ARCH" ]; then
export RPM_ARCH=`/bin/uname -i`;
fi;
case ${RPM_ARCH} in
ia64)
export PEGASUS_PLATFORM=LINUX_IA64_GNU;
;;
x86_64)
export PEGASUS_PLATFORM=LINUX_X86_64_GNU;
;;
ppc)
export PEGASUS_PLATFORM=LINUX_PPC_GNU;
;;
ppc64|ppc64le|pseries)
export PEGASUS_PLATFORM=LINUX_PPC64_GNU;
;;
s390)
export PEGASUS_PLATFORM=LINUX_ZSERIES_GNU;
export PEGASUS_EXTRA_C_FLAGS="$PEGASUS_EXTRA_C_FLAGS -fsigned-char";
export PEGASUS_EXTRA_CXX_FLAGS="$PEGASUS_EXTRA_C_FLAGS";
;;
s390x|zseries)
export PEGASUS_PLATFORM=LINUX_ZSERIES64_GNU;
export PEGASUS_EXTRA_C_FLAGS="$PEGASUS_EXTRA_C_FLAGS -fsigned-char";
export PEGASUS_EXTRA_CXX_FLAGS="$PEGASUS_EXTRA_C_FLAGS";
;;
i386)
export PEGASUS_PLATFORM=LINUX_IX86_GNU
;;
*)
echo "Architecture unsupported by pegasus: $RPM_ARCH";
exit 1;
;;
esac;

BIN
repupgrade.1.gz Normal file

Binary file not shown.

142
rpm_build_env Normal file
View File

@ -0,0 +1,142 @@
# Pegasus RPM %build + %install environment setup:
#
# compile options:
#
export PEGASUS_EXTRA_C_FLAGS="$RPM_OPT_FLAGS -fPIC -g -Wall -Wno-unused"
export PEGASUS_EXTRA_CXX_FLAGS="$PEGASUS_EXTRA_C_FLAGS"
export PEGASUS_EXE_LINK_FLAGS="$RPM_OPT_FLAGS -g -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack"
export SYS_INCLUDES=-I/usr/kerberos/include
#
# build object directories:
#
export SRCNAME=pegasus
export PEGASUS_ROOT=${RPM_BUILD_DIR}/${SRCNAME}-${RPM_PACKAGE_VERSION}
export ROOT=$PEGASUS_ROOT
export PEGASUS_HOME=${RPM_BUILD_ROOT}/build
export PEGASUS_ARCH_LIB_DIR=${RPM_ARCH_LIB}
#
# PEGASUS_PLATFORM (hardware platform) setup:
#
if [ -z "$RPM_ARCH" ]; then
export RPM_ARCH=`/bin/uname -i`;
fi;
case ${RPM_ARCH} in
ia64|x86_64)
export PEGASUS_PLATFORM=LINUX_IA64_GNU;
;;
ppc)
export PEGASUS_PLATFORM=LINUX_PPC_GNU;
;;
ppc64|ppc64le|pseries)
export PEGASUS_PLATFORM=LINUX_PPC64_GNU;
;;
s390)
export PEGASUS_PLATFORM=LINUX_ZSERIES_GNU;
export PEGASUS_EXTRA_C_FLAGS="$PEGASUS_EXTRA_C_FLAGS -fsigned-char";
export PEGASUS_EXTRA_CXX_FLAGS="$PEGASUS_EXTRA_C_FLAGS";
;;
s390x|zseries)
export PEGASUS_PLATFORM=LINUX_ZSERIES64_GNU;
export PEGASUS_EXTRA_C_FLAGS="$PEGASUS_EXTRA_C_FLAGS -fsigned-char";
export PEGASUS_EXTRA_CXX_FLAGS="$PEGASUS_EXTRA_C_FLAGS";
;;
i386)
export PEGASUS_PLATFORM=LINUX_IX86_GNU
;;
*)
echo "Architecture unsupported by pegasus: $RPM_ARCH";
exit 1;
;;
esac;
#
# Pegasus Build options:
#
export OPENSSL_HOME=/usr
export PEGASUS_HAS_SSL=yes
# per bug #368
export PEGASUS_USE_RELEASE_DIRS=true
export PEGASUS_USE_RELEASE_CONFIG_OPTIONS=true
# per PEP #144
export PEGASUS_PAM_AUTHENTICATION=true
export PAM_CONFIG_DIR=/etc/pam.d
#
# export PEGASUS_USE_PAM_STANDALONE_PROC=true
# NO, we do NOT use 'cimservera' on Red Hat platforms!
#
export PEGASUS_CIM_SCHEMA=CIM29
export PEGASUS_LOCAL_DOMAIN_SOCKET=true
export PEGASUS_USE_SYSLOGS=true
export PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER=true
# per PEP #174
export PEGASUS_ENABLE_USERGROUP_AUTHORIZATION=true
export PEGASUS_HAS_PERFSTATS=true
export PEGASUS_NOASSERTS=true
# enable CMPI !! :
PEGASUS_ENABLE_CQL=true
# export PEGASUS_DISABLE_CQL=true
export PEGASUS_DISABLE_OBJECT_NORMALIZATION=true
export PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER=true
export PEGASUS_ENABLE_USERGROUP_AUTHORIZATION=true
export PEGASUS_USE_RELEASE_DIRS=true
#
# Pegasus Directory Structure:
#
export PEGASUS_PROD_DIR=/usr
export PEGASUS_PRODSHARE_DIR=${PEGASUS_PROD_DIR}/share/Pegasus
export PEGASUS_DOC_DIR=/usr/share/doc/tog-pegasus-${RPM_PACKAGE_VERSION}
export PEGASUS_MAN_DIR=/usr/share/man
export PEGASUS_MANUSER_DIR=${PEGASUS_MAN_DIR}/man1
export PEGASUS_MANADMIN_DIR=${PEGASUS_MAN_DIR}/man8
export PEGASUS_MOF_DIR=${PEGASUS_PRODSHARE_DIR}/mof
export PEGASUS_DEST_LIB_DIR=${PEGASUS_PROD_DIR}/${PEGASUS_ARCH_LIB_DIR}
export PEGASUS_PROVIDER_DIR=${PEGASUS_DEST_LIB_DIR}/Pegasus/providers
export PEGASUS_PROVIDER_LIB_DIR=${PEGASUS_PROVIDER_DIR}
export PEGASUS_SBIN_DIR=${PEGASUS_PROD_DIR}/sbin
export PEGASUS_BIN_DIR=${PEGASUS_PROD_DIR}/bin
export PEGASUS_VARDATA_DIR=/var/lib/Pegasus
export PEGASUS_REPOSITORY_PARENT_DIR=${PEGASUS_VARDATA_DIR}
export PEGASUS_REPOSITORY_DIR=${PEGASUS_REPOSITORY_PARENT_DIR}/repository
export PEGASUS_PREV_REPOSITORY_DIR=${PEGASUS_REPOSITORY_PARENT_DIR}/prev_repository
export PEGASUS_CONFIG_DIR=/etc/Pegasus
export PEGASUS_VARRUN_DIR=/var/run/tog-pegasus
export PEGASUS_CIMSERVER_START_FILE=${PEGASUS_VARRUN_DIR}/cimserver.pid
export PEGASUS_LOCAL_DOMAIN_SOCKET_DIR=${PEGASUS_VARRUN_DIR}
export PEGASUS_LOCAL_DOMAIN_SOCKET_PATH=${PEGASUS_LOCAL_DOMAIN_SOCKET_DIR}/cimxml.socket
export PEGASUS_VARDATA_CACHE_DIR=${PEGASUS_VARDATA_DIR}/cache
export PEGASUS_LOCAL_AUTH_DIR=${PEGASUS_VARDATA_CACHE_DIR}/localauth
export PEGASUS_TRACE_DIR=${PEGASUS_VARDATA_CACHE_DIR}/trace
export PEGASUS_PLANNED_CONFIG_FILE=cimserver_planned.conf
export PEGASUS_CURRENT_CONFIG_FILE=cimserver_current.conf
export PEGASUS_PEM_DIR=${PEGASUS_CONFIG_DIR}
export PEGASUS_LOG_DIR=/var/log/Pegasus
export PEGASUS_SSL_KEY_FILE=file.pem
export PEGASUS_SSL_CERT_FILE=server.pem
export PEGASUS_SSL_TRUSTSTORE=client.pem
export PEGASUS_SAMPLES_DIR=${PEGASUS_PRODSHARE_DIR}/samples
export PEGASUS_INCLUDE_DIR=${PEGASUS_PROD_DIR}/include
export PEGASUS_HTML_DIR=${PEGASUS_PRODSHARE_DIR}/html
export PEGASUS_TEST_DIR=${PEGASUS_PRODSHARE_DIR}/test
export PEGASUS_TEST_REPOSITORY_DIR=${PEGASUS_VARDATA_DIR}
export PEGASUS_TEST_REPOSITORY_NAME=testrepository
export PRODUCT_DIRECTORY_STRUCTURE=(\
${PEGASUS_PROD_DIR} \
${PEGASUS_PRODSHARE_DIR} \
${PEGASUS_DOC_DIR} \
${PEGASUS_MAN_DIR} \
${PEGASUS_MANUSER_DIR} \
${PEGASUS_MANADMIN_DIR} \
${PEGASUS_DEST_LIB_DIR} \
${PEGASUS_PROVIDER_DIR} \
${PEGASUS_PROVIDER_LIB_DIR} \
${PEGASUS_SBIN_DIR} \
${PEGASUS_BIN_DIR} \
${PEGASUS_MOF_DIR} \
${PEGASUS_VARDATA_DIR} \
${PEGASUS_REPOSITORY_DIR} \
${PEGASUS_VARDATA_CACHE_DIR} \
${PEGASUS_TRACE_DIR} \
${PEGASUS_LOG_DIR} \
${PEGASUS_LOCAL_AUTH_DIR} \
${PEGASUS_VARRUN_DIR} \
${PEGASUS_LOCAL_DOMAIN_SOCKET_DIR} \
${PEGASUS_CONFIG_DIR});

5
rpminspect.yaml Normal file
View File

@ -0,0 +1,5 @@
---
inspections:
badfuncs: off
ownership:
bin_group: pegasus

2
sources Normal file
View File

@ -0,0 +1,2 @@
6e02fe14dd36b2b761d69e19a6fab219 pegasus-2.14.1.tar.gz
e5cad2e960f80dda4390bf422dd7f164 cim_schema_2.38.0Experimental-MOFs.zip

View File

@ -8,11 +8,10 @@
Name: tog-pegasus
Version: %{major_ver}.1
Release: 46%{?dist}
Release: 64%{?dist}
Epoch: 2
Summary: OpenPegasus WBEM Services for Linux
Group: System Environment/Daemons
License: MIT
URL: http://www.openpegasus.org
Source0: https://collaboration.opengroup.org/pegasus/documents/27211/pegasus-%{version}.tar.gz
@ -98,9 +97,15 @@ Patch40: pegasus-2.14.1-tesid.patch
Patch41: pegasus-2.14.1-ssl-cert-path.patch
# 42: port to openssl-1.1
Patch42: pegasus-2.14.1-openssl-1.1-fix.patch
# 43: comply with system crypto policy
# 43: fix -Wreserved-user-defined-literal warnings which prevents building with clang
Patch43: pegasus-2.14.1-fix-Wreserved-user-defined-literal.patch
# 44: comply with Fedora crypto policy
# (use 'PROFILE=SYSTEM' instead of 'DEFAULT' in SSL_CTX_set_cipher_list calls)
Patch43: pegasus-2.14.1-crypto-policy-compliance.patch
Patch44: pegasus-2.14.1-crypto-policy-compliance.patch
# 45: add required lib to fix FTBS
Patch45: pegasus-2.14.1-add-pegwsmserver-to-ldd-libs.patch
# 46: Remove DES support.
Patch46: pegasus-snmp-disable-des.patch
BuildRequires: procps, libstdc++, pam-devel
BuildRequires: openssl, openssl-devel
@ -126,7 +131,6 @@ sources.
%package devel
Summary: The OpenPegasus Software Development Kit
Group: Development/Tools
Requires: tog-pegasus >= %{version}-%{release}
Obsoletes: tog-pegasus-sdk
@ -138,7 +142,6 @@ supports C provider developers via the CMPI interface.
%package libs
Summary: The OpenPegasus Libraries
Group: System Environment/Libraries
Conflicts: libcmpiCppImpl0
Requires(pre): /usr/sbin/useradd
Requires(pre): /usr/sbin/groupadd
@ -150,7 +153,6 @@ The OpenPegasus libraries.
%if %{PEGASUS_BUILD_TEST_RPM}
%package test
Summary: The OpenPegasus Tests
Group: Development/Debug
Requires: tog-pegasus >= %{version}-%{release}, make
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
@ -254,7 +256,10 @@ yes | mak/CreateDmtfSchema 238 %{SOURCE9} cim_schema_2.38.0
%patch40 -p1 -b .testid
%patch41 -p1 -b .ssl-cert-path
%patch42 -p1 -b .openssl-1.1-fix
%patch43 -p1 -b .crypto-policy-compliance
%patch43 -p1 -b .Wreserved-user-defined-literal-fix
%patch44 -p1 -b .crypto-policy-compliance
%patch45 -p1 -b .add-pegwsmserver-to-ldd-libs
%patch46 -p1 -b .snmp-disable-des
%build
@ -275,16 +280,16 @@ export LD_LIBRARY_PATH=$PEGASUS_HOME/lib
export PATH=$PEGASUS_HOME/bin:$PATH
export PEGASUS_EXTRA_C_FLAGS="$RPM_OPT_FLAGS -fPIC -g -Wall -Wno-unused -fno-strict-aliasing"
export PEGASUS_EXTRA_CXX_FLAGS="$PEGASUS_EXTRA_C_FLAGS"
export PEGASUS_EXTRA_LINK_FLAGS="$RPM_OPT_FLAGS"
export PEGASUS_EXTRA_CXX_FLAGS="$PEGASUS_EXTRA_C_FLAGS -std=c++14"
export PEGASUS_EXTRA_LINK_FLAGS="$RPM_OPT_FLAGS -Wl,-z,now"
export PEGASUS_EXTRA_PROGRAM_LINK_FLAGS="-g -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack"
export SYS_INCLUDES=-I/usr/kerberos/include
make %{?_smp_mflags} -f ${PEGASUS_ROOT}/Makefile.Release create_ProductVersionFile
make %{?_smp_mflags} -f ${PEGASUS_ROOT}/Makefile.Release create_CommonProductDirectoriesInclude
make %{?_smp_mflags} -f ${PEGASUS_ROOT}/Makefile.Release create_ConfigProductDirectoriesInclude
make %{?_smp_mflags} -f ${PEGASUS_ROOT}/Makefile.Release all
make %{?_smp_mflags} -f ${PEGASUS_ROOT}/Makefile.Release repository
%make_build -f ${PEGASUS_ROOT}/Makefile.Release create_ProductVersionFile
%make_build -f ${PEGASUS_ROOT}/Makefile.Release create_CommonProductDirectoriesInclude
%make_build -f ${PEGASUS_ROOT}/Makefile.Release create_ConfigProductDirectoriesInclude
%make_build -f ${PEGASUS_ROOT}/Makefile.Release all
%make_build -f ${PEGASUS_ROOT}/Makefile.Release repository
%install
@ -488,7 +493,7 @@ fi
:;
%preun
%systemd_preun stop tog-pegasus.service
%systemd_preun tog-pegasus.service
if [ $1 -eq 0 ]; then
# Package removal, not upgrade
rm -rf /var/run/tog-pegasus
@ -556,17 +561,76 @@ fi
%changelog
* Mon Jun 29 2020 Vitezslav Crhonek <vcrhonek@redhat.com> - 2:2.14.1-46
- Comply with system crypto policy
Resolves: #1842838
* Tue Feb 01 2022 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.14.1-64
- Fix build flags
Resolves: #2044895
- Fix preun systemd macro call
Resolves: #2048002
* Tue May 05 2020 Vitezslav Crhonek <vcrhonek@redhat.com> - 2:2.14.1-45
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 2:2.14.1-63
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Jul 22 2021 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.14.1-62
- Improve error message without DES support in SNMP
Resolves: rhbz#1972623
* Wed Jun 16 2021 Florian Weimer <fweimer@redhat.com> - 2:2.14.1-61
- Port to net-snmp without DES support (#1958073)
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com> - 2:2.14.1-60
- Rebuilt for RHEL 9 BETA for openssl 3.0
Related: rhbz#1971065
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 2:2.14.1-59
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.14.1-58
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Nov 26 2020 Vitezslav Crhonek <vcrhonek@redhat.com> - 2:2.14.1-57
- Fix FTBFS
- Use make macros, patch by Tom Stellard <tstellar@redhat.com>
* Thu Aug 27 2020 Josef Řídký <jridky@redhat.com> - 2:2.14.1-56
- Rebuilt for new net-snmp release
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.14.1-55
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Jeff Law <law@redhat.com> - 2:2.14.1-54
- Force C++14 as this code is not C++17 ready
* Thu Jun 25 2020 Vitezslav Crhonek <vcrhonek@redhat.com> - 2:2.14.1-53
- Comply with Fedora crypto policy
* Wed Mar 25 2020 Tom Stellard <tstellar@redhat.com> - 2:2.14.1-52
- Fix -Wreserved-user-defined-literal warnings
* Thu Feb 27 2020 Vitezslav Crhonek <vcrhonek@redhat.com> - 2:2.14.1-51
- Fix tmpfiles path
Resolves: #1805977
* Wed Aug 01 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 2:2.14.1-44
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.14.1-50
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.14.1-49
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.14.1-48
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 14 2019 Björn Esser <besser82@fedoraproject.org> - 2:2.14.1-47
- Rebuilt for libcrypt.so.2 (#1666033)
* Wed Aug 01 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 2:2.14.1-46
- Review and fix %%files section because of failing rpm -V
* Tue Jul 24 2018 Adam Williamson <awilliam@redhat.com> - 2:2.14.1-45
- Rebuild for new net-snmp
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.14.1-44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.14.1-43
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild