From 081267dc43eed58afcf27fddc162e9bb98318b56 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Wed, 16 Dec 2020 23:01:21 +0000 Subject: [PATCH] Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/tog-pegasus.git#6e556193473e062db027bdb29c0ffc2cbfb5e7c4 --- .gitignore | 2 + README.RedHat.SSL | 65 + README.RedHat.Security | 84 ++ access.conf | 43 + cimprovagt-wrapper.sh | 15 + ...OperatingSystemProvider-cimprovagt.example | 3 + generate-certs | 14 + pegasus-2.10.0-dont-strip.patch | 11 + pegasus-2.10.0-sparc-posix-lock.patch | 22 + ...us-2.12.0-cimmofl-allow-experimental.patch | 514 ++++++++ pegasus-2.12.0-empty_arrays.patch | 30 + pegasus-2.12.0-null_value.patch | 27 + ...s-2.12.0-schema-version-and-includes.patch | 126 ++ ...ubscriptions-for-nonprivileged-users.patch | 24 + pegasus-2.13.0-gcc5-build.patch | 23 + ...-2.14.1-add-pegwsmserver-to-ldd-libs.patch | 10 + pegasus-2.14.1-build-fixes.patch | 28 + pegasus-2.14.1-cimconfig-man-page-fixes.patch | 46 + pegasus-2.14.1-crypto-policy-compliance.patch | 24 + ...1-fix-Wreserved-user-defined-literal.patch | 22 + pegasus-2.14.1-fix-setup-sdk-ppc64le.patch | 19 + pegasus-2.14.1-fix-setup-sdk.patch | 67 + pegasus-2.14.1-openssl-1.1-fix.patch | 96 ++ pegasus-2.14.1-snmpv3-trap.patch | 359 +++++ pegasus-2.14.1-ssl-cert-path.patch | 12 + pegasus-2.14.1-ssl-include.patch | 11 + pegasus-2.14.1-tesid.patch | 28 + pegasus-2.5.1-pam-wbem.patch | 22 + pegasus-2.5.1-warnings.patch | 117 ++ pegasus-2.7.0-PIE.patch | 132 ++ pegasus-2.7.0-snmp-tests.patch | 50 + pegasus-2.9.0-cmpi-provider-lib.patch | 13 + pegasus-2.9.0-local-or-remote-auth.patch | 535 ++++++++ pegasus-2.9.0-no-rpath.patch | 62 + pegasus-2.9.0-redhat-config.patch | 38 + pegasus-2.9.0-sparc.patch | 460 +++++++ pegasus-2.9.1-getpagesize.patch | 66 + pegasus_arch_alternatives | 158 +++ pegasus_rpm_build_env.sh | 69 + repupgrade.1.gz | Bin 0 -> 880 bytes rpm_build_env | 142 ++ snmptrapd.conf | 13 + sources | 2 + tog-pegasus.service | 12 + tog-pegasus.spec | 1163 +++++++++++++++++ tog-pegasus.tmpfiles | 1 + 46 files changed, 4780 insertions(+) create mode 100644 README.RedHat.SSL create mode 100644 README.RedHat.Security create mode 100644 access.conf create mode 100644 cimprovagt-wrapper.sh create mode 100755 cmpiOSBase_OperatingSystemProvider-cimprovagt.example create mode 100755 generate-certs create mode 100644 pegasus-2.10.0-dont-strip.patch create mode 100644 pegasus-2.10.0-sparc-posix-lock.patch create mode 100644 pegasus-2.12.0-cimmofl-allow-experimental.patch create mode 100644 pegasus-2.12.0-empty_arrays.patch create mode 100644 pegasus-2.12.0-null_value.patch create mode 100644 pegasus-2.12.0-schema-version-and-includes.patch create mode 100644 pegasus-2.13.0-enable-subscriptions-for-nonprivileged-users.patch create mode 100644 pegasus-2.13.0-gcc5-build.patch create mode 100644 pegasus-2.14.1-add-pegwsmserver-to-ldd-libs.patch create mode 100644 pegasus-2.14.1-build-fixes.patch create mode 100644 pegasus-2.14.1-cimconfig-man-page-fixes.patch create mode 100644 pegasus-2.14.1-crypto-policy-compliance.patch create mode 100644 pegasus-2.14.1-fix-Wreserved-user-defined-literal.patch create mode 100644 pegasus-2.14.1-fix-setup-sdk-ppc64le.patch create mode 100644 pegasus-2.14.1-fix-setup-sdk.patch create mode 100644 pegasus-2.14.1-openssl-1.1-fix.patch create mode 100644 pegasus-2.14.1-snmpv3-trap.patch create mode 100644 pegasus-2.14.1-ssl-cert-path.patch create mode 100644 pegasus-2.14.1-ssl-include.patch create mode 100644 pegasus-2.14.1-tesid.patch create mode 100644 pegasus-2.5.1-pam-wbem.patch create mode 100644 pegasus-2.5.1-warnings.patch create mode 100644 pegasus-2.7.0-PIE.patch create mode 100644 pegasus-2.7.0-snmp-tests.patch create mode 100644 pegasus-2.9.0-cmpi-provider-lib.patch create mode 100644 pegasus-2.9.0-local-or-remote-auth.patch create mode 100644 pegasus-2.9.0-no-rpath.patch create mode 100644 pegasus-2.9.0-redhat-config.patch create mode 100644 pegasus-2.9.0-sparc.patch create mode 100644 pegasus-2.9.1-getpagesize.patch create mode 100755 pegasus_arch_alternatives create mode 100644 pegasus_rpm_build_env.sh create mode 100644 repupgrade.1.gz create mode 100644 rpm_build_env create mode 100644 snmptrapd.conf create mode 100644 sources create mode 100644 tog-pegasus.service create mode 100644 tog-pegasus.spec create mode 100644 tog-pegasus.tmpfiles diff --git a/.gitignore b/.gitignore index e69de29..09bc7d6 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +/pegasus-2.*.tar.gz +/cim_schema_*.zip diff --git a/README.RedHat.SSL b/README.RedHat.SSL new file mode 100644 index 0000000..cd8eeaa --- /dev/null +++ b/README.RedHat.SSL @@ -0,0 +1,65 @@ + Red Hat SSL configuration for tog-pegasus + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + The Red Hat tog-pegasus package is built with support for SSL + (the Secure Socket Layer). + Note: the upstream documentation for SSL is located here: + /usr/share/doc/tog-pegasus/PegasusSSLGuidelines.htm + However, because the upstream documentation for SSL is not up-to-date + (it was last updated in March, 2006, around the time of the + OpenPegasus-2.5.1 release), nor accurate, we are providing this short + description of how to configure SSL, as well as how it should be used. + + Hard-Coded Build-Time Constants: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Here is the list of constants which are hard-coded during build time: + + PEGASUS_CONFIG_DIR = /etc/Pegasus + + PEGASUS_PEM_DIR = /etc/pki/Pegasus + + PEGASUS_SSL_KEY_FILE = file.pem + PEGASUS_SSL_KEY_FILE_PATH = $(PEGASUS_PEM_DIR)/$(PEGASUS_SSL_KEY_FILE) + (= /etc/pki/Pegasus/file.pem) + o Contains the private key for the CIM Server SSL Certificate. + + PEGASUS_SSL_CERT_FILE = server.pem + PEGASUS_SSL_CERT_FILE_PATH = $(PEGASUS_PEM_DIR)/$(PEGASUS_SSL_CERT_FILE) + (= /etc/pki/Pegasus/server.pem) + o Contains the CIM Server SSL Certificate. + + PEGASUS_SSL_TRUSTSTORE = client.pem + PEGASUS_SSL_CLIENT_TRUSTSTORE = $(PEGASUS_PEM_DIR)/$(PEGASUS_SSL_TRUSTSTORE) + (= /etc/pki/Pegasus/client.pem) + PEGASUS_SSL_SERVER_TRUSTSTORE = $(PEGASUS_PEM_DIR)/cimserver_trust + (= /etc/pki/Pegasus/cimserver_trust) + o Specifies the location of the OpenSSL truststore. Consistent with the + OpenSSL implementation, a truststore can be either a file or directory. + If the truststore is a directory, then all certificates within the + directory are considered trusted. + + PEGASUS_SSL_SERVER_CRL = $(PEGASUS_PEM_DIR)/crl + (= /etc/pki/Pegasus/crl) + o This is where the CRL (Certificate Revocation List) store resides. + + Tips Following Package Installation: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + o CIM Server default SSL certificates are generated when you run the + tog-pegasus daemon (for example, by issuing the command + "systemctl start tog-pegasus") for the first time, which includes the + following files, which are created in /etc/pki/Pegasus: ca.crt, ca.srl, + client.pem, file.pem, server.pem and in /etc/Pegasus: ssl-ca.cnf, + ssl-service.cnf. + Important: simply running the "cimserver" binary (/usr/sbin/cimserver) + does NOT create the certificates or abovementioned files. + Note: if you want to use your own certificates, simply overwrite the ones + in /etc/pki/Pegasus. + + o to enable/disable HTTPS port 5989 (the official WBEM secure port), + use cimconfig. + + o the wbemcli command (from the sblim-wbemcli package) + uses /etc/pki/Pegasus/client.pem by default (see man wbemcli). + diff --git a/README.RedHat.Security b/README.RedHat.Security new file mode 100644 index 0000000..9bc19c0 --- /dev/null +++ b/README.RedHat.Security @@ -0,0 +1,84 @@ + Red Hat Security Enhancements for tog-pegasus + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Access to the Pegasus services: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + By default, with the configuration as shipped, the upstream Open Group Pegasus + release allowed any user with an account on the machine (including root) to + use the network HTTPS port 5989 (by default) and HTTP port 5988 services. + On authentication failures, though there was the standard PAM authentication + failure delay, no messages were logged to syslog. This meant that potentially + a long-running cracker process could try millions of root passwords over the + network and could possibly discover the root password . If users were unwise + enough to enable the HTTP service on port 5988, then root passwords could be + sent unencrypted over the network. + + This situation was deemed unacceptable by Red Hat RHEL QA test and Security + Response team engineers. + + So for the Red Hat tog-pegasus release, PAM access control was enabled, to + remove these vulnerabilities. There is now a "pegasus" user created during + install, and users are recommended to use only that user to invoke CIM + operations over the network. + + By default: + + o root password authentication for CIM operations invoked over the network + HTTPS/HTTP services is denied - the root user is unable to invoke pegasus + services over the network - only the "pegasus" user may do so. + + o the root user may invoke CIM operations over the HTTPS/HTTP ports on the + local machine. + + o any user other than "pegasus" or "root" may not invoke pegasus services + over the HTTPS/HTTP ports at all. + + o any PAM authentication failure will be logged to syslog + + NOTE: after installation, you must set the password for the pegasus user - + issue this command as root : + # passwd pegasus + - to enable CIM operation network service, if the pegasus user is + a local system user. + + Note also that even though a non-root user's password is used to authenticate + with the cimserver, the cimserver and all CIM Operation Providers run as root. + This was another reason to restrict use of CIM Operations to only one user. + + The "pegasus" user may of course be a NIS, Kerberos, or LDAP user, which + could be used as configured in /etc/nsswitch.conf or with the PAM stack. + + You may configure this differently, and at your own risk, by modifying the + pam_access configuration file /etc/Pegasus/access.conf, or by removing the + line: + account required pam_access.so accessfile=/etc/Pegasus/access.conf + from /etc/pam.d/wbem - then tog-pegasus' authentication behaviour would + be the same as that of the upstream release. + + SELinux + ~~~~~~~ + There is an SELinux policy for tog-pegasus shipped in selinux-policy-targeted-1.17.30-2.110+ . + When SELinux is enabled in enforcing mode, the cimserver and providers are restricted to the + operations allowed to the 'pegasus_t' security context. Also only the pegasus_exec_t context + may modify the repository, and only the pegasus_exec_conf_t context may modify the pegasus + configuration files which are of pegasus_conf_t file context. + + It is also possible to have separate SELinux policy for each provider. Create wrapper + in '/usr/libexec/pegasus' with its own specific SELinux label for each confined provider. + The wrapper file name has to be in specific format '$MODULE-cimprovagt' (where $MODULE is + value of PG_ProviderModule.ModuleGroupName as set during registration of the provider). + + Original Pegasus's cimprovagt binary was moved to '/usr/libexec/pegasus/cimprovagt', + '/usr/sbin/cimprovagt' is simple shell script now, which passes all arguments to provider specific + wrapper if it exists or directly to original cimprovagt in other cases. + + See example wrapper for Operating System Provider from sblim-cmpi-base package (which instruments + Linux_OperatingSystem class): + cmpiOSBase_OperatingSystemProvider-cimprovagt.example + + ExecShield + ~~~~~~~~~~ + All tog-pegasus binary executables are compiled with ExecShield enabled, which make it nearly + impossible to modify them or to poke executable code into them. + diff --git a/access.conf b/access.conf new file mode 100644 index 0000000..aa93fd6 --- /dev/null +++ b/access.conf @@ -0,0 +1,43 @@ +############################################################################## +# Pegasus WBEM HTTP/HTTPS Network Service User Access Control Table: +# +# This file controls access to the Pegasus WBEM Network services by users +# with the PAM pam_access module . +# +# The format of the access control table is three fields separated by a +# ":" character: +# +# permission : users : origins +# +# The first field should be a "+" (access granted) or "-" (access denied) +# character. +# +# The second field should be a list of one or more login names, group +# names, or ALL (always matches). A pattern of the form user@host is +# matched when the login name matches the "user" part, and when the +# "host" part matches the local machine name. +# +# If you run NIS you can use @netgroupname in host or user patterns; this +# even works for @usergroup@@hostgroup patterns. Weird. +# +# The EXCEPT operator makes it possible to write very compact rules. +# +# The group file is searched only when a name does not match that of the +# logged-in user. Both the user's primary group is matched, as well as +# groups in which users are explicitly listed. +# +# The third field must be 'wbemNetwork', to control access by users from +# remote hosts, or 'wbemLocal', to control access by users from the local host. +############################################################################## +# +# Pegasus PAM Access Rules: +# 1. The Remote host user access rule: +# By default, ONLY the pegasus user can use remote network HTTP/S service: +# +-: ALL EXCEPT pegasus:wbemNetwork +# +# +# 2. The Local host user access rule: +# By default, ONLY the pegasus and root users can use pegasus local HTTP/S service: +# +-: ALL EXCEPT pegasus root:wbemLocal diff --git a/cimprovagt-wrapper.sh b/cimprovagt-wrapper.sh new file mode 100644 index 0000000..f6648f0 --- /dev/null +++ b/cimprovagt-wrapper.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# simple wrapper for Pegasus's cimprovagt +# which allows providers to have separate +# SELinux policy +# see README.RedHat.Security for more info + +provcimprovagt=/usr/libexec/pegasus/"$5"-cimprovagt + +if [[ -x "$provcimprovagt" ]] +then + "$provcimprovagt" "$@" +else + /usr/libexec/pegasus/cimprovagt "$@" +fi diff --git a/cmpiOSBase_OperatingSystemProvider-cimprovagt.example b/cmpiOSBase_OperatingSystemProvider-cimprovagt.example new file mode 100755 index 0000000..68a2000 --- /dev/null +++ b/cmpiOSBase_OperatingSystemProvider-cimprovagt.example @@ -0,0 +1,3 @@ +#!/bin/bash + +/usr/libexec/pegasus/cimprovagt "$@" diff --git a/generate-certs b/generate-certs new file mode 100755 index 0000000..ca02982 --- /dev/null +++ b/generate-certs @@ -0,0 +1,14 @@ +#!/bin/bash +cd /etc/Pegasus + +if [ ! -e /etc/Pegasus/ssl-ca.cnf ] || [ ! -e /etc/Pegasus/ssl-service.cnf ] || [ ! -e /etc/pki/Pegasus/server.pem ] || + [ ! -e /etc/pki/Pegasus/file.pem ] || [ ! -e /etc/pki/Pegasus/client.pem ]; then + if [ -x /usr/share/Pegasus/scripts/genOpenPegasusSSLCerts ]; then + # Create self-signed certificates for initial usage + /usr/share/Pegasus/scripts/genOpenPegasusSSLCerts + # Add the self-signed certificate to the local trust store + cp /etc/pki/Pegasus/ca.crt \ + /etc/pki/ca-trust/source/anchors/localhost-pegasus.pem + /usr/bin/update-ca-trust extract + fi; + fi; diff --git a/pegasus-2.10.0-dont-strip.patch b/pegasus-2.10.0-dont-strip.patch new file mode 100644 index 0000000..e485ade --- /dev/null +++ b/pegasus-2.10.0-dont-strip.patch @@ -0,0 +1,11 @@ +diff -up pegasus/mak/config-linux.mak.orig pegasus/mak/config-linux.mak +--- pegasus/mak/config-linux.mak.orig 2015-03-31 15:25:23.735154221 +0200 ++++ pegasus/mak/config-linux.mak 2015-03-31 15:26:29.349434918 +0200 +@@ -127,6 +127,7 @@ else + # appeared in the 3.0 series of compilers. + # + ifeq ($(COMPILER), gnu) ++ FLAGS += -g + # disable the strict aliasing + ifeq ($(shell expr $(GCC_VERSION) '>=' 3.0), 1) + PEGASUS_EXTRA_CXX_FLAGS += -fno-enforce-eh-specs -fno-strict-aliasing diff --git a/pegasus-2.10.0-sparc-posix-lock.patch b/pegasus-2.10.0-sparc-posix-lock.patch new file mode 100644 index 0000000..ca5b447 --- /dev/null +++ b/pegasus-2.10.0-sparc-posix-lock.patch @@ -0,0 +1,22 @@ +diff -up pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h.orig pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h +--- pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h.orig 2013-08-27 15:26:50.593740210 +0200 ++++ pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h 2013-08-27 15:27:12.543825109 +0200 +@@ -90,4 +90,7 @@ + # define PEGASUS_HAS_GETIFADDRS + #endif + ++/* use POSIX read-write locks on this platform */ ++#define PEGASUS_USE_POSIX_RWLOCK ++ + #endif /* Pegasus_Platform_LINUX_SPARC64_GNU_h */ +diff -up pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h.orig pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h +--- pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h.orig 2013-08-27 15:25:59.601542527 +0200 ++++ pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h 2013-08-27 15:26:33.232672955 +0200 +@@ -90,4 +90,7 @@ + # define PEGASUS_HAS_GETIFADDRS + #endif + ++/* use POSIX read-write locks on this platform */ ++#define PEGASUS_USE_POSIX_RWLOCK ++ + #endif /* Pegasus_Platform_LINUX_SPARCV9_GNU_h */ diff --git a/pegasus-2.12.0-cimmofl-allow-experimental.patch b/pegasus-2.12.0-cimmofl-allow-experimental.patch new file mode 100644 index 0000000..2da15c2 --- /dev/null +++ b/pegasus-2.12.0-cimmofl-allow-experimental.patch @@ -0,0 +1,514 @@ +diff -up pegasus/Schemas/Pegasus/Internal/Makefile.orig pegasus/Schemas/Pegasus/Internal/Makefile +--- pegasus/Schemas/Pegasus/Internal/Makefile.orig 2015-04-02 12:28:55.974227490 +0200 ++++ pegasus/Schemas/Pegasus/Internal/Makefile 2015-04-02 12:47:48.912641222 +0200 +@@ -48,12 +48,13 @@ all: + + repository: + @ $(ECHO) +++++ Loading Core$(CIM_SCHEMA_VER)_Qualifiers.mof into $(INTERNALNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTERNALNS)" "$(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTERNALNS)" "$(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof" + @ $(ECHO) +++++ Loading PG_InternalSchema$(PG_SCHEMA_VER).mof into $(INTERNALNS) namespace... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTERNALNS)" "$(PG_MOF_PATH)/PG_InternalSchema$(PG_SCHEMA_VER).mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTERNALNS)" "$(PG_MOF_PATH)/PG_InternalSchema$(PG_SCHEMA_VER).mof" + ifeq ($(PEGASUS_ENABLE_SLP),true) + @ $(ECHO) +++++ Loading PG_SLPTemplate.mof into $(INTERNALNS) namespace... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTERNALNS)" "$(PG_MOF_PATH)/PG_SLPTemplate.mof" ++ @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTERNALNS)" "$(PG_MOF_PATH)/PG_SLPTemplate.mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTERNALNS)" "$(PG_MOF_PATH)/PG_SLPTemplate.mof" + endif + + +diff -up pegasus/Schemas/Pegasus/InterOp/Makefile.orig pegasus/Schemas/Pegasus/InterOp/Makefile +--- pegasus/Schemas/Pegasus/InterOp/Makefile.orig 2015-04-02 12:48:17.347745936 +0200 ++++ pegasus/Schemas/Pegasus/InterOp/Makefile 2015-04-02 12:51:35.167484347 +0200 +@@ -44,30 +44,30 @@ all: + + repository: + @$(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(INTEROPNS) namespace ... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof" + @$(ECHO) +++++ Loading CIM_Event$(CIM_SCHEMA_VER) into $(INTEROPNS) namespace ... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof" + # + ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),true) + @$(ECHO) +++++ Loading CIM_Interop$(CIM_SCHEMA_VER) into $(INTEROPNS) namespace ... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Interop$(CIM_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Interop$(CIM_SCHEMA_VER).mof" + endif + # + @$(ECHO) +++++ Loading PG_InterOpSchema$(PG_INTEROP_SCHEMA_VER).mof into $(INTEROPNS) namespace... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_INTEROP_MOF_PATH)/PG_InterOpSchema$(PG_INTEROP_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_INTEROP_MOF_PATH)/PG_InterOpSchema$(PG_INTEROP_SCHEMA_VER).mof" + # + # Bug 1222 + # The following code is temporary. These classes should be incorporated into PG_InteropSchema + # however, this cannot be done now because we cannot conditionally compile MOF. + ifeq ($(PEGASUS_ENABLE_INTEROP_PROVIDER),true) + @$(ECHO) +++++ Loading PG_CIMXMLCommunicationMechanism$(PG_INTEROP_SCHEMA_VER) into $(INTEROPNS) namespace ... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_INTEROP_MOF_PATH)/PG_CIMXMLCommunicationMechanism$(PG_INTEROP_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_INTEROP_MOF_PATH)/PG_CIMXMLCommunicationMechanism$(PG_INTEROP_SCHEMA_VER).mof" + @$(ECHO) +++++ Loading PG_Namespace$(PG_INTEROP_SCHEMA_VER) into $(INTEROPNS) namespace ... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_INTEROP_MOF_PATH)/PG_Namespace$(PG_INTEROP_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_INTEROP_MOF_PATH)/PG_Namespace$(PG_INTEROP_SCHEMA_VER).mof" + @$(ECHO) +++++ Loading Computer System schema into $(INTEROPNS) namespace ... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_COMPUTERSYSTEM_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_COMPUTERSYSTEM_MOF_PATH)/PG_ComputerSystem$(PG_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_COMPUTERSYSTEM_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_COMPUTERSYSTEM_MOF_PATH)/PG_ComputerSystem$(PG_SCHEMA_VER).mof" + @$(ECHO) +++++ Loading PG_ServerProfile schema into $(INTEROPNS) namespace ... +- @$(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_INTEROP_MOF_PATH)/PG_ServerProfile$(PG_INTEROP_SCHEMA_VER).mof" ++ @$(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(INTEROPNS)" $(ALLOW_EXPERIMENTAL) "$(PG_INTEROP_MOF_PATH)/PG_ServerProfile$(PG_INTEROP_SCHEMA_VER).mof" + + endif + +diff -up pegasus/Schemas/Pegasus/ManagedSystem/Makefile.orig pegasus/Schemas/Pegasus/ManagedSystem/Makefile +--- pegasus/Schemas/Pegasus/ManagedSystem/Makefile.orig 2015-04-02 12:51:58.257571054 +0200 ++++ pegasus/Schemas/Pegasus/ManagedSystem/Makefile 2015-04-02 12:54:31.759930745 +0200 +@@ -66,33 +66,33 @@ endif + ifeq ($(MANAGEDSYSTEM_NS_SUPPORTED),true) + repository: + @ $(ECHO) +++++ Loading CIM_Schema$(CIM_SCHEMA_VER) into $(MANAGEDSYSTEMNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(MANAGEDSYSTEMNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Schema$(CIM_SCHEMA_VER).mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(MANAGEDSYSTEMNS)" $(ALLOW_EXPERIMENTAL) "$(CIM_SCHEMA_DIR)/CIM_Schema$(CIM_SCHEMA_VER).mof" + @ $(ECHO) +++++ Loading PG_Events$(PG_INTEROP_SCHEMA_VER) into $(MANAGEDSYSTEMNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_INTEROP_MOF_PATH)/PG_Events$(PG_INTEROP_SCHEMA_VER).mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_INTEROP_MOF_PATH)/PG_Events$(PG_INTEROP_SCHEMA_VER).mof" + @ $(ECHO) +++++ Loading PG_ManagedSystemSchema$(PG_SCHEMA_VER) into $(MANAGEDSYSTEMNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_MOF_PATH)/PG_ManagedSystemSchema$(PG_SCHEMA_VER).mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_MOF_PATH)/PG_ManagedSystemSchema$(PG_SCHEMA_VER).mof" + ifndef SET_USER_CONTEXT_TO_REQUESTOR + @ $(ECHO) +++++ Registering Providers for PG_ManagedSystemSchema$(PG_SCHEMA_VER) ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_ManagedSystemSchema$(PG_SCHEMA_VER)R.mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_ManagedSystemSchema$(PG_SCHEMA_VER)R.mof" + else + @ $(ECHO) +++++ Registering Providers for PG_ManagedSystemSchema21R ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_ManagedSystemSchema21R.mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_ManagedSystemSchema21R.mof" + endif + ifeq ($(PEGASUS_USE_RELEASE_CONFIG_OPTIONS),false) + @ $(ECHO) +++++ Loading PG_ManagedSystemTestSchema$(PG_SCHEMA_VER) into $(MANAGEDSYSTEMNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_MOF_PATH)/PG_ManagedSystemTestSchema$(PG_SCHEMA_VER).mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_MOF_PATH)/PG_ManagedSystemTestSchema$(PG_SCHEMA_VER).mof" + @ $(ECHO) +++++ Registering Providers for PG_ManagedSystemTestSchema$(PG_SCHEMA_VER) ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_ManagedSystemTestSchema$(PG_SCHEMA_VER)R.mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_ManagedSystemTestSchema$(PG_SCHEMA_VER)R.mof" + endif + ifeq ($(EXTENDED_MANAGEDSYSTEM_NS_SUPPORTED),true) + @ $(ECHO) +++++ Loading platform specific class definitions in $(MANAGEDSYSTEMNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_MOF_PATH)/$(FILE_PREFIX)_ManagedSystemSchema$(PG_SCHEMA_VER).mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(MANAGEDSYSTEMNS)" "$(PG_MOF_PATH)/$(FILE_PREFIX)_ManagedSystemSchema$(PG_SCHEMA_VER).mof" + @ $(ECHO) +++++ Registering Providers for platform specific classes in $(MANAGEDSYSTEMNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/$(FILE_PREFIX)_ManagedSystemSchema$(PG_SCHEMA_VER)R.mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/$(FILE_PREFIX)_ManagedSystemSchema$(PG_SCHEMA_VER)R.mof" + endif + ifeq ($(PEGASUS_ENABLE_SLP),true) + @ $(ECHO) +++++ Registering the SLPProvider in $(MANAGEDSYSTEMNS) namespace ... +- @ $(CIMMOFCLI) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_SLPProvider$(PG_SCHEMA_VER)R.mof" ++ @ $(CIMMOFCLI) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_MOF_PATH)" "-n$(INTEROPNS)" "$(PG_MOF_PATH)/PG_SLPProvider$(PG_SCHEMA_VER)R.mof" + endif + + repositoryServer: +diff -up pegasus/src/Clients/benchmarkTest/Load/Makefile.orig pegasus/src/Clients/benchmarkTest/Load/Makefile +--- pegasus/src/Clients/benchmarkTest/Load/Makefile.orig 2015-04-02 12:54:48.848927271 +0200 ++++ pegasus/src/Clients/benchmarkTest/Load/Makefile 2015-04-02 12:56:27.679228240 +0200 +@@ -46,12 +46,12 @@ CIMMOFL = cimmofl + + repository: + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(PROVIDERNS) namespace ... +- @ $(CIMMOFL) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" \ ++ @ $(CIMMOFL) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" \ + "-n$(PROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading $(BenchmarkMOF_NAME) class definitions into $(PROVIDERNS) namespace ... +- @ $(CIMMOFL) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(PROVIDERNS)" $(BenchmarkMOF_NAME).mof ++ @ $(CIMMOFL) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(PROVIDERNS)" $(BenchmarkMOF_NAME).mof + @ $(ECHO) +++++ Registering benchmark Provider ... +- @ $(CIMMOFL) "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" $(BenchmarkMOF_NAME)R.mof ++ @ $(CIMMOFL) "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" $(BenchmarkMOF_NAME)R.mof + + repositoryServer: + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(PROVIDERNS) namespace ... +diff -up pegasus/src/Providers/sample/Load/Makefile.orig pegasus/src/Providers/sample/Load/Makefile +--- pegasus/src/Providers/sample/Load/Makefile.orig 2015-04-02 12:56:41.488278412 +0200 ++++ pegasus/src/Providers/sample/Load/Makefile 2015-04-02 13:01:24.078286449 +0200 +@@ -44,52 +44,52 @@ SAMPLEPROVIDERNS=root/SampleProvider + # Load the sample MOF with the local compiler. + repository: + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(SAMPLEPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_Event$(CIM_SCHEMA_VER) into $(SAMPLEPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_Physical$(CIM_SCHEMA_VER) into $(SAMPLEPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Physical$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Physical$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_System$(CIM_SCHEMA_VER) into $(SAMPLEPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_System$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_System$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading PG_Events$(PG_INTEROP_SCHEMA_VER) into $(SAMPLEPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(PG_INTEROP_MOF_PATH)/PG_Events$(PG_INTEROP_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(SAMPLEPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(PG_INTEROP_MOF_PATH)/PG_Events$(PG_INTEROP_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading SampleProvider class definitions into $(SAMPLEPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" SampleProviderSchema.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" AssociationProvider.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" ClientTest.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" SampleProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" AssociationProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" ClientTest.mof + @ $(ECHO) +++++ Registering Sample Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" SampleProviderSchemaR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" SampleProviderSchemaR.mof + ifdef PEGASUS_ENABLE_EXECQUERY +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" InstanceQueryProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" InstanceQueryProviderR.mof + endif + ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), true) + @ $(ECHO) +++++ Installing the MOF file for CMPI Providers +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" CWS_FilesAndDir.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" CWS_FilesAndDir.mof + @ $(ECHO) +++++ Registering FilesAndDir schema Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CWS_FilesAndDirR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CWS_FilesAndDirR.mof + + @ $(ECHO) +++++ Installing the MOF file for CMPI ProcessIndication Provider +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" RT_Sample.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" RT_Sample.mof + @ $(ECHO) +++++ Registering CMPI ProcessIndication Provider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" RT_SampleR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" RT_SampleR.mof + + @ $(ECHO) +++++ Registering FilesAndDir CXX schema Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CWS_FilesAndDir_CXX_R.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CWS_FilesAndDir_CXX_R.mof + + @ $(ECHO) +++++ Registering TestCMPI_CXX schema Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" TestCMPI_CXX.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_CXX_R.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" TestCMPI_CXX.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_CXX_R.mof + + @ $(ECHO) +++++ Installing the MOF file for SampleClass CMPI Provider +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" CMPISampleClass.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" CMPISampleClass.mof + @ $(ECHO) +++++ Registering CMPI SampleClass Provider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CMPISampleClassR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CMPISampleClassR.mof + + @ $(ECHO) +++++ Loading CMPI Sample Provider class definitions into $(SAMPLEPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" CMPISampleProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(SAMPLEPROVIDERNS)" CMPISampleProviderSchema.mof + + @ $(ECHO) +++++ Registering CMPI Sample Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CMPISampleProviderSchemaR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CMPISampleProviderSchemaR.mof + endif + + # Load the sample mof through the Client interface compiler. +diff -up pegasus/src/Providers/TestProviders/Load/Makefile.orig pegasus/src/Providers/TestProviders/Load/Makefile +--- pegasus/src/Providers/TestProviders/Load/Makefile.orig 2015-04-02 13:01:53.265389867 +0200 ++++ pegasus/src/Providers/TestProviders/Load/Makefile 2015-04-02 13:18:57.613079600 +0200 +@@ -67,160 +67,160 @@ EI_STATIC_TEST_NAMESPACE = test/Embedded + ## + repository: + @ $(ECHO) +++++ Loading Core$(CIM_SCHEMA_VER)_Qualifiers.mof into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(TESTPROVIDERNS) $(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(TESTPROVIDERNS) $(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_Event$(CIM_SCHEMA_VER) into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_Physical$(CIM_SCHEMA_VER) into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Physical$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Physical$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_System$(CIM_SCHEMA_VER) into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_System$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_System$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_Interop$(CIM_SCHEMA_VER) into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Interop$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Interop$(CIM_SCHEMA_VER).mof + + @ $(ECHO) +++++ Loading PG_Events$(PG_INTEROP_SCHEMA_VER) into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(PG_INTEROP_MOF_PATH)/PG_Events$(PG_INTEROP_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(PG_INTEROP_MOF_PATH)" "-n$(TESTPROVIDERNS)" $(ALLOW_EXPERIMENTAL) $(PG_INTEROP_MOF_PATH)/PG_Events$(PG_INTEROP_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading TestInstanceProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestInstanceProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestInstanceProviderSchema.mof + @ $(ECHO) +++++ Loading TestChunkingStressProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestChunkingStressProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestChunkingStressProviderSchema.mof + @ $(ECHO) +++++ Loading IndicationStressTest class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" IndicationStressTestProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" IndicationStressTestProviderSchema.mof + @ $(ECHO) +++++ Loading TestFaultyProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestFaultyProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestFaultyProviderSchema.mof + + @ $(ECHO) +++++ Registering TestInstanceProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestInstanceProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestInstanceProviderRegistration.mof + @ $(ECHO) +++++ Registering TestChunkingStressProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestChunkingStressProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestChunkingStressProviderRegistration.mof + @ $(ECHO) +++++ Registering IndicationStressTest Provider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" IndicationStressTestProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" IndicationStressTestProviderR.mof + @ $(ECHO) +++++ Registering IndicationStressTestConsumer Provider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" IndicationStressTestConsumerR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" IndicationStressTestConsumerR.mof + @ $(ECHO) +++++ Registering ProviderLifecycleIndicationConsumer Provider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" ProviderLifecycleIndicationConsumerR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" ProviderLifecycleIndicationConsumerR.mof + @ $(ECHO) +++++ Registering TestFaultyProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestFaultyProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestFaultyProviderRegistration.mof + @ $(ECHO) +++++ Registering TestGoodInstanceProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestGoodInstanceProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestGoodInstanceProviderRegistration.mof + + @ $(ECHO) +++++ Loading DeliveryRetryTest class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" DeliveryRetryTestProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" DeliveryRetryTestProviderSchema.mof + + @ $(ECHO) +++++ Registering DeliveryRetryTest Provider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" DeliveryRetryTestProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" DeliveryRetryTestProviderR.mof + + @ $(ECHO) +++++ Registering IndicationStressTestConsumer Provider ... + @ $(ECHO) +++++ Loading IndicationTestProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" IndicationTestProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" IndicationTestProvider.mof + @ $(ECHO) +++++ Registering IndicationTestProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" IndicationTestProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" IndicationTestProviderR.mof + + @ $(ECHO) +++++ Loading MethodTestProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" MethodTestProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" MethodTestProvider.mof + @ $(ECHO) +++++ Loading GroupMethodProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" GroupMethodProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" GroupMethodProvider.mof + @ $(ECHO) +++++ Loading ProviderLifecycleIndicationProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" ProviderLifecycleIndicationProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" ProviderLifecycleIndicationProvider.mof + @ $(ECHO) +++++ Registering MethodTestProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" MethodTestProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" MethodTestProviderR.mof + + @ $(ECHO) +++++ Loading CLITestProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" CLITestProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" CLITestProvider.mof + @ $(ECHO) +++++ Registering CLITestProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CLITestProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CLITestProviderR.mof + + @ $(ECHO) +++++ Loading TestCIM_ErrorProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestCIM_ErrorProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestCIM_ErrorProvider.mof + @ $(ECHO) +++++ Registering TestCIM_ErrorProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCIM_ErrorProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCIM_ErrorProviderR.mof + + @ $(ECHO) +++++ Installing the Family MOF file for the association provider +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TST_Family.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TST_Family.mof + @ $(ECHO) +++++ Registering FamilyProvider schema Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" FamilyProviderSchemaR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" FamilyProviderSchemaR.mof + + @ $(ECHO) +++++ Loading CIMOMHandleTestProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" CIMOMHandleTestProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" CIMOMHandleTestProviderSchema.mof + @ $(ECHO) +++++ Registering CIMOMHandleTestProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CIMOMHandleTestProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CIMOMHandleTestProviderRegistration.mof + + @ $(ECHO) +++++ Loading TestAggregationOutputProvider.mof into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestAggregationOutputProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestAggregationOutputProvider.mof + @ $(ECHO) +++++ Registering TestAggregationOutputProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestAggregationOutputProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestAggregationOutputProviderR.mof + + @ $(ECHO) +++++ Loading LocalizedProvider.mof into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" LocalizedProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" LocalizedProvider.mof + @ $(ECHO) +++++ Registering LocalizedProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" LocalizedProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" LocalizedProviderR.mof + + @ $(ECHO) +++++ Loading ResponseStressTest class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" ResponseStressTest.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" ResponseStressTest.mof + @ $(ECHO) +++++ Registering ResponseStressTestProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" ResponseStressTestProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" ResponseStressTestProviderRegistration.mof + + ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), true) + @ $(ECHO) +++++ Loading TestCMPI_ProviderSchema class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestCMPI_ProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestCMPI_ProviderSchema.mof + + @ $(ECHO) +++++ Registering TestCMPI_ProviderRegistration ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_ProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_ProviderRegistration.mof + + @ $(ECHO) +++++ Loading TestCMPI_Association class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestCMPI_AssociationProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestCMPI_AssociationProvider.mof + @ $(ECHO) +++++ Registering TestCMPI_AssociationProviderRegistration ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_AssociationProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_AssociationProviderR.mof + + @ $(ECHO) +++++ Loading CMPIPerf_TestProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" CMPIPerf_TestProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" CMPIPerf_TestProviderSchema.mof + @ $(ECHO) +++++ Registering CMPIPerf_TestProviderRegistration ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CMPIPerf_TestProviderRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" CMPIPerf_TestProviderRegistration.mof + + ifdef PEGASUS_ENABLE_EXECQUERY + @ $(ECHO) +++++ Registering TestCMPI_ProviderExecQueryRegistration ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_ProviderExecQueryRegistration.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestCMPI_ProviderExecQueryRegistration.mof + endif + + endif + + ifndef PEGASUS_DISABLE_PROV_USERCTXT + @ $(ECHO) +++++ Loading UserContextTestProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" UserContextTestProvider.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" UserContextTestProvider.mof + + @ $(ECHO) +++++ Registering UserContextTestProvider ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextRequestorR.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextPrivilegedR.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextDesignatedR.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextCIMServerR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextRequestorR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextPrivilegedR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextDesignatedR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" UserContextCIMServerR.mof + endif + @ $(ECHO) +++++ Loading OOPModuleFailureTestProvider class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" FailureTestIndication.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" FailureTestIndication.mof + + ifdef PEGASUS_BUILD_INTEROP + @ $(ECHO) +++++ Loading TestServerProfile class definitions into $(TESTPROVIDERNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestServerProfileSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTPROVIDERNS)" TestServerProfileSchema.mof + @ $(ECHO) +++++ Registering TestServerProfile Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestServerProfileR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" TestServerProfileR.mof + endif + + @ $(ECHO) +++++ EmbeddedInstanceTest provider class definitions into $(EI_DYNAMIC_TEST_NAMESPACE) and $(EI_STATIC_TEST_NAMESPACE) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(EI_DYNAMIC_TEST_NAMESPACE) $(EI_SCHEMA_DIR)/Core_Qualifiers.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" CIMError.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Core.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Event.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Interop.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" EmbeddedInstanceProviderSchema.mof +- +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(EI_STATIC_TEST_NAMESPACE) $(EI_SCHEMA_DIR)/Core_Qualifiers.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" CIMError.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Core.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Event.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Interop.mof +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" EmbeddedInstanceProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(EI_DYNAMIC_TEST_NAMESPACE) $(EI_SCHEMA_DIR)/Core_Qualifiers.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" CIMError.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Core.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Event.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Interop.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_DYNAMIC_TEST_NAMESPACE)" "-aE" EmbeddedInstanceProviderSchema.mof ++ ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(EI_STATIC_TEST_NAMESPACE) $(EI_SCHEMA_DIR)/Core_Qualifiers.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" CIMError.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Core.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Event.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" $(EI_SCHEMA_DIR)/CIM_Interop.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(EI_SCHEMA_DIR)" "-n$(EI_STATIC_TEST_NAMESPACE)" "-aE" EmbeddedInstanceProviderSchema.mof + +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" EmbeddedInstanceProviderR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(INTEROPNS)" EmbeddedInstanceProviderR.mof + # create remote namespace for Remote CMPI test providers + ifdef PEGASUS_ENABLE_REMOTE_CMPI + @ echo +++++ Creating remote namespace ... +@@ -231,28 +231,28 @@ endif + ## Indication filter source namespaces testing + ## + @ $(ECHO) +++++ Loading Core$(CIM_SCHEMA_VER)_Qualifiers.mof into $(TESTINDSRCNS1) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(TESTINDSRCNS1) $(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(TESTINDSRCNS1) $(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(TESTINDSRCNS1) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS1)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS1)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_Event$(CIM_SCHEMA_VER) into $(TESTINDSRCNS1) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS1)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS1)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading IndicationStressTest class definition into $(TESTINDSRCNS1) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS1)" IndicationStressTestProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS1)" IndicationStressTestProviderSchema.mof + ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), true) + @ $(ECHO) +++++ Loading TestCMPI_ProviderSchema class definitions into $(TESTINDSRCNS1) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS1)" TestCMPI_ProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS1)" TestCMPI_ProviderSchema.mof + endif + @ $(ECHO) +++++ Loading Core$(CIM_SCHEMA_VER)_Qualifiers.mof into $(TESTINDSRCNS2) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(TESTINDSRCNS2) $(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(TESTINDSRCNS2) $(CIM_SCHEMA_DIR)/Core$(CIM_SCHEMA_VER)_Qualifiers.mof + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(TESTINDSRCNS2) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS2)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS2)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading CIM_Event$(CIM_SCHEMA_VER) into $(TESTINDSRCNS2) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS2)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(TESTINDSRCNS2)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Event$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading IndicationStressTest class definition into $(TESTINDSRCNS2) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS2)" IndicationStressTestProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS2)" IndicationStressTestProviderSchema.mof + ifeq ($(PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER), true) + @ $(ECHO) +++++ Loading TestCMPI_ProviderSchema class definitions into $(TESTINDSRCNS2) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS2)" TestCMPI_ProviderSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(TESTINDSRCNS2)" TestCMPI_ProviderSchema.mof + endif + + +diff -up pegasus/test/wetest/static/Load/Makefile.orig pegasus/test/wetest/static/Load/Makefile +--- pegasus/test/wetest/static/Load/Makefile.orig 2015-04-02 13:19:28.925192771 +0200 ++++ pegasus/test/wetest/static/Load/Makefile 2015-04-02 13:20:21.994384585 +0200 +@@ -42,14 +42,14 @@ STATICTESTNS=test/static + + repository: + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(STATICTESTNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" -n$(STATICTESTNS) \ ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" -n$(STATICTESTNS) \ + $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading WET_Schema into $(STATICTESTNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(STATICTESTNS) WET_Schema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(STATICTESTNS) WET_Schema.mof + @ $(ECHO) +++++ Loading Static Test Schema into $(STATICTESTNS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(STATICTESTNS) StaticTestSchema.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(STATICTESTNS) StaticTestSchema.mof + @ $(ECHO) +++++ Registering Static Tests Schema Providers ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(INTEROPNS) StaticTestSchemaR.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" -n$(INTEROPNS) StaticTestSchemaR.mof + + repositoryServer: + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(STATICTESTNS) namespace ... +diff -up pegasus/test/wetest/wsman/Load/Makefile.orig pegasus/test/wetest/wsman/Load/Makefile +--- pegasus/test/wetest/wsman/Load/Makefile.orig 2015-04-02 13:40:54.714859175 +0200 ++++ pegasus/test/wetest/wsman/Load/Makefile 2015-04-02 13:41:33.960003910 +0200 +@@ -46,9 +46,9 @@ WSM_TEST_NS=test/WsmTest + # NOTE: I believe that the remove is duplicated for some reason. + repository: + @ $(ECHO) +++++ Loading CIM_Core$(CIM_SCHEMA_VER) into $(WSM_TEST_NS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(WSM_TEST_NS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-I$(CIM_SCHEMA_DIR)" "-n$(WSM_TEST_NS)" $(ALLOW_EXPERIMENTAL) $(CIM_SCHEMA_DIR)/CIM_Core$(CIM_SCHEMA_VER).mof + @ $(ECHO) +++++ Loading Wsm test class definitions into $(WSM_TEST_NS) namespace ... +- @ cimmofl "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(WSM_TEST_NS)" WsmTest.mof ++ @ cimmofl "-aE" "-R$(REPOSITORY_DIR)" "-N$(REPOSITORY_NAME)" "-M$(REPOSITORY_MODE)" "-n$(WSM_TEST_NS)" WsmTest.mof + + # Load the sample mof through the Client interface compiler but do not + # clean out the existing version. diff --git a/pegasus-2.12.0-empty_arrays.patch b/pegasus-2.12.0-empty_arrays.patch new file mode 100644 index 0000000..19cc7c2 --- /dev/null +++ b/pegasus-2.12.0-empty_arrays.patch @@ -0,0 +1,30 @@ +diff -up pegasus/src/Pegasus/ProviderManager2/CMPI/CMPISCMOUtilities.cpp.orig pegasus/src/Pegasus/ProviderManager2/CMPI/CMPISCMOUtilities.cpp +--- pegasus/src/Pegasus/ProviderManager2/CMPI/CMPISCMOUtilities.cpp.orig 2015-03-31 15:28:05.958848322 +0200 ++++ pegasus/src/Pegasus/ProviderManager2/CMPI/CMPISCMOUtilities.cpp 2015-03-31 15:29:13.253136407 +0200 +@@ -349,13 +349,6 @@ CMPIrc CMPISCMOUtilities::scmoValue2CMPI + data->value.uint64 = 0; + data->state = CMPI_goodValue; + +- //Check for NULL CIMValue +- if( scmoValue == 0 ) +- { +- data->state = CMPI_nullValue; +- return CMPI_RC_OK; +- } +- + if (type & CMPI_ARRAY) + { + // Get the type of the element of the CMPIArray +@@ -389,6 +382,12 @@ CMPIrc CMPISCMOUtilities::scmoValue2CMPI + } + else + { ++ //Check for NULL CIMValue ++ if( scmoValue == 0 ) ++ { ++ data->state = CMPI_nullValue; ++ return CMPI_RC_OK; ++ } + // Check for encpsulated type, which need special handling + if (type&CMPI_ENC) + { diff --git a/pegasus-2.12.0-null_value.patch b/pegasus-2.12.0-null_value.patch new file mode 100644 index 0000000..70eff76 --- /dev/null +++ b/pegasus-2.12.0-null_value.patch @@ -0,0 +1,27 @@ +diff -up pegasus/src/Pegasus/ProviderManager2/CMPI/CMPI_Enumeration.cpp.null_value pegasus/src/Pegasus/ProviderManager2/CMPI/CMPI_Enumeration.cpp +--- pegasus/src/Pegasus/ProviderManager2/CMPI/CMPI_Enumeration.cpp.null_value 2012-10-22 19:24:19.593698102 +0200 ++++ pegasus/src/Pegasus/ProviderManager2/CMPI/CMPI_Enumeration.cpp 2012-10-22 19:28:19.190897537 +0200 +@@ -167,6 +167,7 @@ extern "C" + (new CMPI_Object( + new SCMOInstance((*ia)[ie->cursor++]), + CMPI_Object::ObjectTypeInstance)); ++ data.state = CMPI_goodValue; + CMSetStatus(rc, CMPI_RC_OK); + } + else +@@ -185,6 +186,7 @@ extern "C" + (new CMPI_Object( + new SCMOInstance((*ia)[ie->cursor++]), + CMPI_Object::ObjectTypeInstance)); ++ data.state = CMPI_goodValue; + CMSetStatus(rc, CMPI_RC_OK); + } + else +@@ -203,6 +205,7 @@ extern "C" + (new CMPI_Object( + new SCMOInstance((*opa)[oe->cursor++]), + CMPI_Object::ObjectTypeObjectPath)); ++ data.state = CMPI_goodValue; + CMSetStatus(rc, CMPI_RC_OK); + } + else diff --git a/pegasus-2.12.0-schema-version-and-includes.patch b/pegasus-2.12.0-schema-version-and-includes.patch new file mode 100644 index 0000000..95c064b --- /dev/null +++ b/pegasus-2.12.0-schema-version-and-includes.patch @@ -0,0 +1,126 @@ +diff -up pegasus/Schemas/CIM238/CIM_Core.mof.orig pegasus/Schemas/CIM238/CIM_Core.mof +--- pegasus/Schemas/CIM238/CIM_Core.mof.orig 2015-04-07 15:24:25.280804943 +0200 ++++ pegasus/Schemas/CIM238/CIM_Core.mof 2015-04-07 15:24:25.321805120 +0200 +@@ -146,11 +146,14 @@ + #pragma include ("DMTF/Core/CIM_SpareGroup.mof") + #pragma include ("DMTF/Core/CIM_StatusCollection.mof") + #pragma include ("DMTF/Core/CIM_StorageAllocationSettingData.mof") ++#pragma include ("DMTF/User/CIM_Identity.mof") ++#pragma include ("DMTF/User/CIM_StorageHardwareID.mof") + #pragma include ("DMTF/Core/CIM_StorageHardwareIDElementSettingData.mof") + #pragma include ("DMTF/Core/CIM_StorageRedundancyGroup.mof") + #pragma include ("DMTF/Core/CIM_SystemSetting.mof") + #pragma include ("DMTF/Core/CIM_SystemSettingContext.mof") + #pragma include ("DMTF/Core/CIM_SystemSpecificCollection.mof") ++#pragma include ("DMTF/System/CIM_VirtualSystemSettingData.mof") + #pragma include ("DMTF/Core/CIM_VirtualEthernetSwitchSettingData.mof") + #pragma include ("DMTF/Core/CIM_VirtualSystemManagementCapabilities.mof") + #pragma include ("DMTF/Core/CIM_VirtualSystemSnapshotCapabilities.mof") +@@ -185,6 +188,8 @@ + #pragma include ("DMTF/Core/CIM_ScopedSetting.mof") + #pragma include ("DMTF/Core/CIM_StatisticsCollection.mof") + #pragma include ("DMTF/Core/CIM_StorageRedundancySet.mof") ++#pragma include ("DMTF/Interop/CIM_Message.mof") ++#pragma include ("DMTF/Interop/CIM_Error.mof") + #pragma include ("DMTF/Core/CIM_ConcreteJob.mof") + #pragma include ("DMTF/Core/CIM_DefaultSetting.mof") + #pragma include ("DMTF/Core/CIM_EnabledLogicalElement.mof") +@@ -214,6 +219,7 @@ + #pragma include ("DMTF/Core/CIM_AdminDomain.mof") + #pragma include ("DMTF/Core/CIM_BasedOn.mof") + #pragma include ("DMTF/Core/CIM_BasicExecutionService.mof") ++#pragma include ("DMTF/System/CIM_ComputerSystem.mof") + #pragma include ("DMTF/Core/CIM_ComputerSystemElementSettingData.mof") + #pragma include ("DMTF/Core/CIM_ConfigurationForSystem.mof") + #pragma include ("DMTF/Core/CIM_ContainedDomain.mof") +@@ -245,6 +251,8 @@ + #pragma include ("DMTF/Core/CIM_SettingForSystem.mof") + #pragma include ("DMTF/Core/CIM_SoftwareIdentityResource.mof") + #pragma include ("DMTF/Core/CIM_SystemDeviceView.mof") ++#pragma include ("DMTF/Device/CIM_ProtocolController.mof") ++#pragma include ("DMTF/Device/CIM_SCSIProtocolController.mof") + #pragma include ("DMTF/Core/CIM_SystemSCSIProtocolController.mof") + #pragma include ("DMTF/Core/CIM_VirtualSystemManagementService.mof") + #pragma include ("DMTF/Core/CIM_VirtualSystemSnapshotService.mof") +@@ -258,6 +266,13 @@ + #pragma include ("DMTF/Core/CIM_ProtocolService.mof") + #pragma include ("DMTF/Core/CIM_ProvidesEndpoint.mof") + #pragma include ("DMTF/Core/CIM_RemotePort.mof") ++#pragma include ("DMTF/User/CIM_SecurityService.mof") ++#pragma include ("DMTF/User/CIM_AuthenticationService.mof") ++#pragma include ("DMTF/User/CIM_IdentityManagementService.mof") ++#pragma include ("DMTF/User/CIM_StorageHardwareIDManagementService.mof") + #pragma include ("DMTF/Core/CIM_StorageHardwareIDManagementServiceDependency.mof") ++#pragma include ("DMTF/Device/CIM_LogicalPort.mof") ++#pragma include ("DMTF/Device/CIM_NetworkPort.mof") ++#pragma include ("DMTF/Device/CIM_FCPort.mof") + #pragma include ("DMTF/Core/CIM_SystemFCPort.mof") + +diff -up pegasus/Schemas/CIM238/CIM_Event.mof.orig pegasus/Schemas/CIM238/CIM_Event.mof +--- pegasus/Schemas/CIM238/CIM_Event.mof.orig 2015-04-07 15:24:25.283804956 +0200 ++++ pegasus/Schemas/CIM238/CIM_Event.mof 2015-04-07 15:24:25.321805120 +0200 +@@ -73,5 +73,6 @@ + #pragma include ("DMTF/Event/CIM_IPNetworkSecurityIndication.mof") + #pragma include ("DMTF/Event/CIM_IPPacketFilterIndication.mof") + #pragma include ("DMTF/Event/CIM_IndicationService.mof") ++#pragma include ("DMTF/System/CIM_Log.mof") + #pragma include ("DMTF/Event/CIM_LogOfIndication.mof") + +diff -up pegasus/Schemas/CIM238/CIM_Interop.mof.orig pegasus/Schemas/CIM238/CIM_Interop.mof +--- pegasus/Schemas/CIM238/CIM_Interop.mof.orig 2015-04-07 15:24:25.285804965 +0200 ++++ pegasus/Schemas/CIM238/CIM_Interop.mof 2015-04-07 15:24:25.321805120 +0200 +@@ -57,6 +57,7 @@ + #pragma include ("DMTF/Interop/CIM_ElementConformsToProfile.mof") + #pragma include ("DMTF/Interop/CIM_ReferencedProfile.mof") + #pragma include ("DMTF/Interop/CIM_SubProfileRequiresProfile.mof") ++#pragma include ("DMTF/Network/CIM_ProtocolServiceCapabilities.mof") + #pragma include ("DMTF/Interop/CIM_WBEMProtocolServiceCapabilities.mof") + #pragma include ("DMTF/Interop/CIM_WSManagementCapabilities.mof") + #pragma include ("DMTF/Interop/CIM_CIMXMLCapabilities.mof") +diff -up pegasus/Schemas/CIM238/CIM_System.mof.orig pegasus/Schemas/CIM238/CIM_System.mof +--- pegasus/Schemas/CIM238/CIM_System.mof.orig 2015-04-07 15:24:25.290804986 +0200 ++++ pegasus/Schemas/CIM238/CIM_System.mof 2015-04-07 15:24:25.321805120 +0200 +@@ -67,6 +67,7 @@ + #pragma include ("DMTF/System/CIM_VirtualSystemSettingData.mof") + #pragma include ("DMTF/System/CIM_AttachedElement.mof") + #pragma include ("DMTF/System/CIM_BatchJobGroup.mof") ++#pragma include ("DMTF/User/CIM_Credential.mof") + #pragma include ("DMTF/System/CIM_BIOSServiceCapabilities.mof") + #pragma include ("DMTF/System/CIM_BootServiceCapabilities.mof") + #pragma include ("DMTF/System/CIM_ComputerSystemNodeCapabilities.mof") +@@ -86,8 +87,10 @@ + #pragma include ("DMTF/System/CIM_FileImportCapabilities.mof") + #pragma include ("DMTF/System/CIM_FileSystemConfigurationCapabilities.mof") + #pragma include ("DMTF/System/CIM_FileSystemSettingData.mof") ++#pragma include ("DMTF/Device/CIM_StatisticsCapabilities.mof") + #pragma include ("DMTF/System/CIM_FileSystemStatisticsCapabilities.mof") + #pragma include ("DMTF/System/CIM_FileSystemStatisticsManifestCollection.mof") ++#pragma include ("DMTF/User/CIM_Privilege.mof") + #pragma include ("DMTF/System/CIM_ImportedFileShareSetting.mof") + #pragma include ("DMTF/System/CIM_ImportedShareRoot.mof") + #pragma include ("DMTF/System/CIM_LogEntry.mof") +@@ -147,8 +150,10 @@ + #pragma include ("DMTF/System/CIM_ExportedFileShareCapabilities.mof") + #pragma include ("DMTF/System/CIM_FCHBADiagnosticTest.mof") + #pragma include ("DMTF/System/CIM_FileSystem.mof") ++#pragma include ("DMTF/Device/CIM_StorageSetting.mof") + #pragma include ("DMTF/System/CIM_FileSystemCapabilities.mof") + #pragma include ("DMTF/System/CIM_FileSystemConfigurationService.mof") ++#pragma include ("DMTF/Device/CIM_StatisticsService.mof") + #pragma include ("DMTF/System/CIM_FileSystemStatisticsService.mof") + #pragma include ("DMTF/System/CIM_HelpService.mof") + #pragma include ("DMTF/System/CIM_HelpServiceAvailableToFile.mof") +diff -up pegasus/Schemas/CIM238/DMTF/qualifiers.mof.orig pegasus/Schemas/CIM238/DMTF/qualifiers.mof +--- pegasus/Schemas/CIM238/DMTF/qualifiers.mof.orig 2013-08-12 11:34:14.000000000 +0200 ++++ pegasus/Schemas/CIM238/DMTF/qualifiers.mof 2015-04-07 15:24:25.321805120 +0200 +@@ -152,8 +152,8 @@ Qualifier PUnit : string = null, + Qualifier Read : boolean = true, + Scope(property); + +-Qualifier Reference : string = null, +- Scope(property); ++//Qualifier Reference : string = null, ++// Scope(property); + + Qualifier Required : boolean = false, + Scope(property, reference, method, parameter), diff --git a/pegasus-2.13.0-enable-subscriptions-for-nonprivileged-users.patch b/pegasus-2.13.0-enable-subscriptions-for-nonprivileged-users.patch new file mode 100644 index 0000000..7312327 --- /dev/null +++ b/pegasus-2.13.0-enable-subscriptions-for-nonprivileged-users.patch @@ -0,0 +1,24 @@ +diff -up pegasus/rpm/manLinux/man8.Z/cimconfig.8.orig pegasus/rpm/manLinux/man8.Z/cimconfig.8 +--- pegasus/rpm/manLinux/man8.Z/cimconfig.8.orig 2014-01-07 14:51:40.841757649 +0100 ++++ pegasus/rpm/manLinux/man8.Z/cimconfig.8 2014-01-07 14:52:03.415820767 +0100 +@@ -161,7 +161,7 @@ and listener destination instances other + is required. + .PD 0 + .IP +-.BR "Default Value: " False ++.BR "Default Value: " True + .IP + .BR Dynamic: \0No + .PD +diff -up pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp.orig pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp +--- pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp.orig 2014-01-07 14:48:14.377180640 +0100 ++++ pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp 2014-01-07 14:51:30.760729464 +0100 +@@ -121,7 +121,7 @@ static struct ConfigPropertyRow properti + #if defined(PEGASUS_OS_HPUX) || defined(PEGASUS_OS_LINUX) + # ifdef PEGASUS_USE_RELEASE_CONFIG_OPTIONS + {"enableSubscriptionsForNonprivilegedUsers", +- "false", IS_STATIC, IS_VISIBLE}, ++ "true", IS_STATIC, IS_VISIBLE}, + # else + {"enableSubscriptionsForNonprivilegedUsers", "true", IS_STATIC, IS_VISIBLE}, + # endif diff --git a/pegasus-2.13.0-gcc5-build.patch b/pegasus-2.13.0-gcc5-build.patch new file mode 100644 index 0000000..35fae89 --- /dev/null +++ b/pegasus-2.13.0-gcc5-build.patch @@ -0,0 +1,23 @@ +diff -up pegasus/src/Pegasus/ControlProviders/InteropProvider/ElementConformsToProfile.cpp.orig pegasus/src/Pegasus/ControlProviders/InteropProvider/ElementConformsToProfile.cpp +--- pegasus/src/Pegasus/ControlProviders/InteropProvider/ElementConformsToProfile.cpp.orig 2015-02-10 15:00:48.660891308 +0100 ++++ pegasus/src/Pegasus/ControlProviders/InteropProvider/ElementConformsToProfile.cpp 2015-02-10 15:02:01.811194154 +0100 +@@ -129,6 +129,7 @@ Array InteropProvider::enum + Array InteropProvider::enumElementConformsToProfileInstances( + const OperationContext & opContext, const CIMNamespaceName & opNamespace) + { ++ const Uint32 PEGASUS_DYNAMIC_LEN(PEGASUS_DYNAMIC.size()); + CIMClass elementConformsClass = repository->getClass( + PEGASUS_NAMESPACENAME_INTEROP, + PEGASUS_CLASSNAME_PG_ELEMENTCONFORMSTOPROFILE, +diff -up pegasus/src/Pegasus/ControlProviders/InteropProvider/InteropConstants.h.orig pegasus/src/Pegasus/ControlProviders/InteropProvider/InteropConstants.h +--- pegasus/src/Pegasus/ControlProviders/InteropProvider/InteropConstants.h.orig 2015-02-10 14:43:34.168607514 +0100 ++++ pegasus/src/Pegasus/ControlProviders/InteropProvider/InteropConstants.h 2015-02-10 14:43:44.165648967 +0100 +@@ -150,7 +150,7 @@ const String PEGASUS_INTERNAL_PROVIDER_T + const String PEGASUS_INTERNAL_SERVICE_TYPE( + "Internal Service"); + const String PEGASUS_DYNAMIC("__DYNAMIC_"); +-const Uint32 PEGASUS_DYNAMIC_LEN(PEGASUS_DYNAMIC.size()); ++// const Uint32 PEGASUS_DYNAMIC_LEN(PEGASUS_DYNAMIC.size()); + const CIMNamespaceName PEGASUS_NAMESPACENAME_ROOT("root"); + + #define thisProvider "InteropProvider" diff --git a/pegasus-2.14.1-add-pegwsmserver-to-ldd-libs.patch b/pegasus-2.14.1-add-pegwsmserver-to-ldd-libs.patch new file mode 100644 index 0000000..cba4f19 --- /dev/null +++ b/pegasus-2.14.1-add-pegwsmserver-to-ldd-libs.patch @@ -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 diff --git a/pegasus-2.14.1-build-fixes.patch b/pegasus-2.14.1-build-fixes.patch new file mode 100644 index 0000000..ab170bb --- /dev/null +++ b/pegasus-2.14.1-build-fixes.patch @@ -0,0 +1,28 @@ +diff -up pegasus/src/Pegasus/Common/Message.cpp.orig pegasus/src/Pegasus/Common/Message.cpp +--- pegasus/src/Pegasus/Common/Message.cpp.orig 2015-03-14 14:56:48.000000000 +0100 ++++ pegasus/src/Pegasus/Common/Message.cpp 2015-04-08 10:02:47.355935316 +0200 +@@ -430,7 +430,8 @@ CIMOperationType Message::convertMessage + */ + Boolean Message::valid() const + { +- return magic && (_type < NUMBER_OF_MESSAGES); ++ //return magic && (_type < NUMBER_OF_MESSAGES); ++ return true; + } + + +diff -up pegasus/src/Pegasus/Server/CIMOperationRequestDispatcher.cpp.orig pegasus/src/Pegasus/Server/CIMOperationRequestDispatcher.cpp +--- pegasus/src/Pegasus/Server/CIMOperationRequestDispatcher.cpp.orig 2015-03-14 14:56:48.000000000 +0100 ++++ pegasus/src/Pegasus/Server/CIMOperationRequestDispatcher.cpp 2015-04-08 10:02:47.357935317 +0200 +@@ -1008,9 +1008,11 @@ Boolean CIMOperationRequestDispatcher::_ + } + else + { ++/* + EnumerationContext* ent = _enumerationContextTable->find( + poA->_contextId); + PEGASUS_DEBUG_ASSERT(ent == en); ++*/ + } + + PEGASUS_DEBUG_ASSERT(poA->_contextId == en->getContextId()); diff --git a/pegasus-2.14.1-cimconfig-man-page-fixes.patch b/pegasus-2.14.1-cimconfig-man-page-fixes.patch new file mode 100644 index 0000000..2617d07 --- /dev/null +++ b/pegasus-2.14.1-cimconfig-man-page-fixes.patch @@ -0,0 +1,46 @@ +diff -up pegasus/rpm/manLinux/man8.Z/cimconfig.8.orig pegasus/rpm/manLinux/man8.Z/cimconfig.8 +--- pegasus/rpm/manLinux/man8.Z/cimconfig.8.orig 2015-09-17 14:29:03.519331559 +0200 ++++ pegasus/rpm/manLinux/man8.Z/cimconfig.8 2015-09-17 15:02:37.993855252 +0200 +@@ -211,7 +211,7 @@ configuration. + .PP + .B fullyQualifiedHostName + .IP +-.BR Description: " Can be used to override the local system supplied ++.BR Description: " Can be used to override the local system supplied + fully qualified hostname (with domain) the CIM Server is using to build objects. + If not set, querying this configuration option will report the system + supplied fully qualified hostname and behavior is not changed. +@@ -220,7 +220,8 @@ value will force the server to assume th + name with domain. Setting this allows the administrator to set the name that + indication operations and the CIM_ObjectManager assume for SystemName returned + as instance and key properties. +-.IP In common setups it is not recommended to explicitly set this value. ++.IP ++In common setups it is not recommended to explicitly set this value. + Some scenarios scenarios in which changing the default value makes sense include: + .IP + - The case where what the CIM Server shall return to clients for host name +@@ -516,6 +517,23 @@ by the pegasus webserver. + .BR Dynamic: \0No + .PD + .PP ++.B httpSessionTimeout ++.IP ++.BR Description: " If set to a positive integer, this value specifies a HTTP session lifetime ++in seconds. After initial authentication using standard HTTP mechanisms (HTTP Basic or Negotiate ++authentication), the server generates a cookie and sends it back to the client, as described in ++RFC 6265. The client can then use the cookie in subsequent requests to skip the usual HTTP ++authentication. The cookie is valid only for period of time specified by this configuration option. ++If set to zero, session management is turned off and CIM server will not issue cookies. ++This option is available only when Pegasus was compiled with PEGASUS_ENABLE_SESSION_COOKIES set ++to 'true'. ++.PD 0 ++.IP ++.BR "Default Value: " 0 ++.IP ++.BR Dynamic: \0Yes ++.PD ++.PP + + + If both the diff --git a/pegasus-2.14.1-crypto-policy-compliance.patch b/pegasus-2.14.1-crypto-policy-compliance.patch new file mode 100644 index 0000000..08e2957 --- /dev/null +++ b/pegasus-2.14.1-crypto-policy-compliance.patch @@ -0,0 +1,24 @@ +diff -up pegasus/rpm/manLinux/man8.Z/cimconfig.8.orig pegasus/rpm/manLinux/man8.Z/cimconfig.8 +--- pegasus/rpm/manLinux/man8.Z/cimconfig.8.orig 2020-06-25 14:03:32.211892328 +0200 ++++ pegasus/rpm/manLinux/man8.Z/cimconfig.8 2020-06-25 14:11:31.687821336 +0200 +@@ -463,7 +463,7 @@ mentioned between single quotes since it + like .+, !, -. + .PD 0 + .IP +-.BR "Default Value: " DEFAULT\ (The\ default\ cipher\ list\ of\ OpenSSL) ++.BR "Default Value: " PROFILE=SYSTEM\ (Protocols\ enforced\ by\ system-wide\ crypto\ policy) + .IP + .BR Dynamic: \0No + .PD +diff -up pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp.orig pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp +--- pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp.orig 2020-06-25 14:02:19.104445704 +0200 ++++ pegasus/src/Pegasus/Config/SecurityPropertyOwner.cpp 2020-06-25 14:02:54.695663130 +0200 +@@ -140,7 +140,7 @@ static struct ConfigPropertyRow properti + #ifdef PEGASUS_ENABLE_USERGROUP_AUTHORIZATION + {"authorizedUserGroups", "", IS_STATIC, IS_VISIBLE}, + #endif +- {"sslCipherSuite", "DEFAULT", IS_STATIC, IS_VISIBLE} ++ {"sslCipherSuite", "PROFILE=SYSTEM", IS_STATIC, IS_VISIBLE} + #ifdef PEGASUS_ENABLE_SESSION_COOKIES + ,{"httpSessionTimeout", "0", IS_DYNAMIC, IS_VISIBLE} + #endif diff --git a/pegasus-2.14.1-fix-Wreserved-user-defined-literal.patch b/pegasus-2.14.1-fix-Wreserved-user-defined-literal.patch new file mode 100644 index 0000000..5078f3b --- /dev/null +++ b/pegasus-2.14.1-fix-Wreserved-user-defined-literal.patch @@ -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 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 connections; + SLPClientOptions* opts = (SLPClientOptions*)NULL; + if (argc == 2) diff --git a/pegasus-2.14.1-fix-setup-sdk-ppc64le.patch b/pegasus-2.14.1-fix-setup-sdk-ppc64le.patch new file mode 100644 index 0000000..dc65fa6 --- /dev/null +++ b/pegasus-2.14.1-fix-setup-sdk-ppc64le.patch @@ -0,0 +1,19 @@ +diff -up pegasus/mak/config-linux.mak.orig pegasus/mak/config-linux.mak +diff -up pegasus/mak/SDKMakefile.orig pegasus/mak/SDKMakefile +--- pegasus/mak/SDKMakefile.orig 2015-10-06 13:05:36.418021720 +0200 ++++ pegasus/mak/SDKMakefile 2015-10-06 13:08:41.135869147 +0200 +@@ -482,6 +482,13 @@ ifeq ($(RUNTIME_PLATFORM_TEST_NEEDED), t + @$(ECHO-E) " endif" \ + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak + ++ @$(ECHO-E) " ifeq (\044(shell uname -i),ppc64le)" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " PEGASUS_PLATFORM = LINUX_PPC64_GNU" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " endif" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ + @$(ECHO-E) " ifeq (\044(shell uname -i),s390)" \ + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak + @$(ECHO-E) " PEGASUS_PLATFORM = LINUX_ZSERIES_GNU" \ +diff -up pegasus/src/SDK/samples/mak/config.mak.orig pegasus/src/SDK/samples/mak/config.mak diff --git a/pegasus-2.14.1-fix-setup-sdk.patch b/pegasus-2.14.1-fix-setup-sdk.patch new file mode 100644 index 0000000..9c21f2d --- /dev/null +++ b/pegasus-2.14.1-fix-setup-sdk.patch @@ -0,0 +1,67 @@ +diff -up pegasus/src/SDK/samples/Providers/Load/Makefile.orig pegasus/src/SDK/samples/Providers/Load/Makefile +--- pegasus/src/SDK/samples/Providers/Load/Makefile.orig 2012-05-14 11:12:20.000000000 +0200 ++++ pegasus/src/SDK/samples/Providers/Load/Makefile 2015-05-26 13:47:11.475608966 +0200 +@@ -37,7 +37,7 @@ else + ifeq ($(PEGASUS_INTEROP_NAMESPACE),interop) + INTEROPNS=interop + else +-INTEROPNS=root/PG_InterOp ++INTEROPNS=root/interop + endif + endif + +@@ -48,20 +48,20 @@ createCXXrepository: + @$(ECHO) "+++++ Creating $(SAMPLECXXPROVIDERNS) namespace ..." + @$(ECHO) "+++++ Loading SDK_CIM_Schema.mof into" \ + "$(SAMPLECXXPROVIDERNS) namespace ..." +- @$(PEGASUS_BIN_DIR)/cimmof -I$(PEGASUS_CIM_SCHEMA_DIR) \ ++ @$(PEGASUS_BIN_DIR)/cimmof "-aE" -I$(PEGASUS_CIM_SCHEMA_DIR) \ + -n$(SAMPLECXXPROVIDERNS) SDK_CIM_Schema.mof + @ $(ECHO) "+++++ Loading class definitions into " \ + "$(SAMPLECXXPROVIDERNS) namespace ..." +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(SAMPLECXXPROVIDERNS) \ ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(SAMPLECXXPROVIDERNS) \ + SampleProviderSchema.mof + + createCMPIrepository: + @$(ECHO) "+++++ Creating $(SAMPLECMPIPROVIDERNS) namespace ..." + @$(ECHO) "+++++ Loading SDK_CIM_Schema.mof into" \ + "$(SAMPLECMPIPROVIDERNS) namespace ..." +- @$(PEGASUS_BIN_DIR)/cimmof -I$(PEGASUS_CIM_SCHEMA_DIR) \ ++ @$(PEGASUS_BIN_DIR)/cimmof "-aE" -I$(PEGASUS_CIM_SCHEMA_DIR) \ + -n$(SAMPLECMPIPROVIDERNS) SDK_CIM_Schema.mof +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(SAMPLECMPIPROVIDERNS) CWS_FilesAndDir.mof ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(SAMPLECMPIPROVIDERNS) CWS_FilesAndDir.mof + + createrepository: createCXXrepository createCMPIrepository + @$(ECHO) "+++++ Repository created." +@@ -69,12 +69,12 @@ createrepository: createCXXrepository cr + registerproviders: + @ $(ECHO) "+++++ Registering providers for" \ + "$(SAMPLECXXPROVIDERNS) namespace ..." +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(INTEROPNS) InstanceProviderR.mof +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(INTEROPNS) MethodProviderR.mof +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(INTEROPNS) IndicationProviderR.mof +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(INTEROPNS) SimpleDisplayConsumerR.mof +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(INTEROPNS) CWS_FilesAndDirR.mof +- @ $(PEGASUS_BIN_DIR)/cimmof -n$(INTEROPNS) AssociationProviderR.mof ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(INTEROPNS) InstanceProviderR.mof ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(INTEROPNS) MethodProviderR.mof ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(INTEROPNS) IndicationProviderR.mof ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(INTEROPNS) SimpleDisplayConsumerR.mof ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(INTEROPNS) CWS_FilesAndDirR.mof ++ @ $(PEGASUS_BIN_DIR)/cimmof "-aE" -n$(INTEROPNS) AssociationProviderR.mof + + deregisterproviders: + @ $(ECHO) "+++++ Deregistering SDKInstanceProviderModule ..." +diff -up pegasus/src/SDK/samples/Providers/Load/SDK_CIM_Schema.mof.orig pegasus/src/SDK/samples/Providers/Load/SDK_CIM_Schema.mof +--- pegasus/src/SDK/samples/Providers/Load/SDK_CIM_Schema.mof.orig 2008-12-16 19:58:05.000000000 +0100 ++++ pegasus/src/SDK/samples/Providers/Load/SDK_CIM_Schema.mof 2015-05-26 13:47:48.406767875 +0200 +@@ -45,6 +45,7 @@ + #pragma include ("DMTF/Core/CIM_ManagedElement.mof") + #pragma include ("DMTF/Core/CIM_ManagedSystemElement.mof") + #pragma include ("DMTF/Core/CIM_LogicalElement.mof") ++#pragma include ("DMTF/Core/CIM_AbstractComponent.mof") + #pragma include ("DMTF/Core/CIM_Component.mof") + #pragma include ("DMTF/Event/CIM_Indication.mof") + #pragma include ("DMTF/System/CIM_LogicalFile.mof") diff --git a/pegasus-2.14.1-openssl-1.1-fix.patch b/pegasus-2.14.1-openssl-1.1-fix.patch new file mode 100644 index 0000000..c96934f --- /dev/null +++ b/pegasus-2.14.1-openssl-1.1-fix.patch @@ -0,0 +1,96 @@ +diff -up pegasus/src/Pegasus/Common/SSLContext.cpp.orig pegasus/src/Pegasus/Common/SSLContext.cpp +--- pegasus/src/Pegasus/Common/SSLContext.cpp.orig 2017-02-28 14:39:49.497066327 +0100 ++++ pegasus/src/Pegasus/Common/SSLContext.cpp 2017-03-01 10:56:06.726453475 +0100 +@@ -225,27 +225,31 @@ int SSLCallback::verificationCRLCallback + PEG_TRACE_CSTRING(TRC_SSL, Tracer::LEVEL4, buf); + + //initialize the CRL store +- X509_STORE_CTX crlStoreCtx; +- X509_STORE_CTX_init(&crlStoreCtx, sslCRLStore, NULL, NULL); ++ X509_STORE_CTX* crlStoreCtx; ++ crlStoreCtx = X509_STORE_CTX_new(); ++ X509_STORE_CTX_init(crlStoreCtx, sslCRLStore, NULL, NULL); + + PEG_TRACE_CSTRING(TRC_SSL, Tracer::LEVEL4, + "---> SSL: Initialized CRL store"); + + //attempt to get a CRL issued by the certificate's issuer +- X509_OBJECT obj; ++ X509_OBJECT* obj; ++ obj = X509_OBJECT_new(); + if (X509_STORE_get_by_subject( +- &crlStoreCtx, X509_LU_CRL, issuerName, &obj) <= 0) ++ crlStoreCtx, X509_LU_CRL, issuerName, obj) <= 0) + { +- X509_STORE_CTX_cleanup(&crlStoreCtx); ++ X509_OBJECT_free(obj); ++ X509_STORE_CTX_cleanup(crlStoreCtx); + PEG_TRACE_CSTRING(TRC_SSL, Tracer::LEVEL3, + "---> SSL: No CRL by that issuer"); + PEG_METHOD_EXIT(); + return 0; + } +- X509_STORE_CTX_cleanup(&crlStoreCtx); ++ X509_STORE_CTX_cleanup(crlStoreCtx); + + //get CRL +- X509_CRL* crl = obj.data.crl; ++ X509_CRL* crl; ++ crl = X509_OBJECT_get0_X509_CRL(obj); + if (crl == NULL) + { + PEG_TRACE_CSTRING(TRC_SSL, Tracer::LEVEL4, "---> SSL: CRL is null"); +@@ -272,18 +276,18 @@ int SSLCallback::verificationCRLCallback + { + revokedCert = sk_X509_REVOKED_value(X509_CRL_get_REVOKED(crl), i); + //a matching serial number indicates revocation +- if (ASN1_INTEGER_cmp(revokedCert->serialNumber, serialNumber) == 0) ++ if (ASN1_INTEGER_cmp(X509_REVOKED_get0_serialNumber(revokedCert), serialNumber) == 0) + { + PEG_TRACE_CSTRING(TRC_SSL, Tracer::LEVEL2, + "---> SSL: Certificate is revoked"); + X509_STORE_CTX_set_error(ctx, X509_V_ERR_CERT_REVOKED); +- X509_CRL_free(crl); ++ X509_OBJECT_free(obj); + PEG_METHOD_EXIT(); + return 1; + } + } + +- X509_CRL_free(crl); ++ X509_OBJECT_free(obj); + + PEG_TRACE_CSTRING(TRC_SSL, Tracer::LEVEL4, + "---> SSL: Certificate is not revoked at this level"); +diff -up pegasus/src/Pegasus/Common/SSLContextRep.h.orig pegasus/src/Pegasus/Common/SSLContextRep.h +--- pegasus/src/Pegasus/Common/SSLContextRep.h.orig 2017-02-28 14:32:44.379013979 +0100 ++++ pegasus/src/Pegasus/Common/SSLContextRep.h 2017-02-28 14:36:38.088039077 +0100 +@@ -104,7 +104,11 @@ public: + + //important as per following site for + //http://www.openssl.org/support/faq.html#PROG ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + CRYPTO_malloc_init(); ++#else ++ OPENSSL_malloc_init(); ++#endif + SSL_library_init(); + SSL_load_error_strings(); + } +diff -up pegasus/src/Pegasus/ControlProviders/CertificateProvider/CertificateProvider.cpp.orig pegasus/src/Pegasus/ControlProviders/CertificateProvider/CertificateProvider.cpp +--- pegasus/src/Pegasus/ControlProviders/CertificateProvider/CertificateProvider.cpp.orig 2017-03-01 10:34:19.367952613 +0100 ++++ pegasus/src/Pegasus/ControlProviders/CertificateProvider/CertificateProvider.cpp 2017-03-01 10:36:18.003931270 +0100 +@@ -531,11 +531,11 @@ inline CIMInstance _getCRLInstance(X509_ + for (int i = 0; i < numRevoked; i++) + { + r = sk_X509_REVOKED_value(revoked, i); +- rawSerialNumber = ASN1_INTEGER_get(r->serialNumber); ++ rawSerialNumber = ASN1_INTEGER_get(X509_REVOKED_get0_serialNumber(r)); + sprintf(serial, "%lu", (unsigned long)rawSerialNumber); + revokedSerialNumbers.append(String(serial)); + +- revocationDate = getDateTime(r->revocationDate); ++ revocationDate = getDateTime(X509_REVOKED_get0_revocationDate(r)); + revocationDates.append(revocationDate); + } + diff --git a/pegasus-2.14.1-snmpv3-trap.patch b/pegasus-2.14.1-snmpv3-trap.patch new file mode 100644 index 0000000..c387d9f --- /dev/null +++ b/pegasus-2.14.1-snmpv3-trap.patch @@ -0,0 +1,359 @@ +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 2013-01-21 06:00:43.000000000 +0100 ++++ pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.cpp 2015-05-25 15:11:02.368906571 +0200 +@@ -228,9 +228,138 @@ void snmpDeliverTrap_netsnmp::_createSes + (const char*)targetHostCStr, + portNumber); + } ++ } ++ ++ switch (snmpVersion) ++ { ++ case _SNMPv1_TRAP: ++ { ++ snmpSession.version = SNMP_VERSION_1; ++ _addCommunity(snmpSession,securityName); ++ break; ++ } ++ case _SNMPv2C_TRAP: ++ { ++ snmpSession.version = SNMP_VERSION_2c; ++ _addCommunity(snmpSession,securityName); ++ break; ++ } ++#ifdef PEGASUS_ENABLE_NET_SNMPV3 ++ case _SNMPv3_TRAP: ++ { ++ snmpSession.version = SNMP_VERSION_3; ++ CString securityNameCStr = securityName.getCString(); ++ size_t securityNameLen = strlen(securityNameCStr); ++ SNMP_FREE(snmpSession.securityName); ++ snmpSession.securityName = (char *)calloc(1,securityNameLen+1); ++ snmpSession.securityNameLen = securityNameLen; ++ memcpy(snmpSession.securityName, (const char*)securityNameCStr, ++ securityNameLen); ++ ++ CString engineIdCStr = engineID.getCString(); ++ size_t engineIdHexLen = strlen(engineIdCStr); ++ size_t engineIdBinLen = 0; ++ u_char *engineIdBin = (u_char *)calloc(1,engineIdHexLen); ++ free(snmpSession.securityEngineID); ++ if(!snmp_hex_to_binary(&engineIdBin, &engineIdHexLen, ++ &engineIdBinLen, 1,engineIdCStr)) ++ { ++ PEG_TRACE_CSTRING(TRC_DISCARDED_DATA, Tracer::LEVEL2, ++ "Snmp Indication Handler failed to generate binary" ++ " engine ID for sending the SNMPv3 trap."); ++ throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, ++ MessageLoaderParms( ++ "Handler.snmpIndicationHandler." ++ "snmpIndicationHandler." ++ "FAILED_TO_DELIVER_TRAP", ++ "Failed to deliver trap.")); ++ } ++ snmpSession.securityEngineIDLen = engineIdBinLen; ++ snmpSession.securityEngineID = engineIdBin; ++ ++ switch(snmpSecLevel) ++ { ++ case 1: ++ snmpSession.securityLevel = SNMP_SEC_LEVEL_NOAUTH; ++ break; ++ case 2: ++ snmpSession.securityLevel = SNMP_SEC_LEVEL_AUTHNOPRIV; ++ break; ++ case 3: ++ snmpSession.securityLevel = SNMP_SEC_LEVEL_AUTHPRIV; ++ break; ++ default: ++ //use the dedault in the net-snmp conf file. ++ break; ++ } ++ ++ SNMP_FREE(snmpSession.securityAuthProto); ++ if(snmpSecAuthProto == 1) // MD5 ++ { ++ snmpSession.securityAuthProto = snmp_duplicate_objid( ++ usmHMACMD5AuthProtocol, ++ USM_AUTH_PROTO_MD5_LEN); ++ snmpSession.securityAuthProtoLen = USM_AUTH_PROTO_MD5_LEN; ++ } ++ else if(snmpSecAuthProto == 2)// SHA ++ { ++ snmpSession.securityAuthProto = snmp_duplicate_objid( ++ usmHMACSHA1AuthProtocol, ++ USM_AUTH_PROTO_SHA_LEN); ++ snmpSession.securityAuthProtoLen = USM_AUTH_PROTO_SHA_LEN; ++ } ++ // use the default in net-snmp conf files. + +- sessionHandle = snmp_sess_open(&snmpSession); ++ if(snmpSecAuthKey.size() > 0) ++ { ++ for(Uint32 i=0;i 0) ++ { ++ for(Uint32 j=0;jversion = SNMP_VERSION_1; +- _addCommunity(sessionPtr,securityName); +- break; +- +- } +- case _SNMPv2C_TRAP: +- { +- sessionPtr->version = SNMP_VERSION_2c; +- _addCommunity(sessionPtr,securityName); +- break; +- } +-#ifdef PEGASUS_ENABLE_NET_SNMPV3 +- case _SNMPv3_TRAP: +- { +- sessionPtr->version = SNMP_VERSION_3; +- CString securityNameCStr = securityName.getCString(); +- size_t securityNameLen = strlen(securityNameCStr); +- SNMP_FREE(sessionPtr->securityName); +- sessionPtr->securityName = (char *)calloc(1,securityNameLen+1); +- sessionPtr->securityNameLen = securityNameLen; +- memcpy(sessionPtr->securityName, (const char*)securityNameCStr, +- securityNameLen); +- +- CString engineIdCStr = engineID.getCString(); +- size_t engineIdHexLen = strlen(engineIdCStr); +- size_t engineIdBinLen = 0; +- u_char *engineIdBin = (u_char *)calloc(1,engineIdHexLen); +- free(sessionPtr->securityEngineID); +- if(!snmp_hex_to_binary(&engineIdBin, &engineIdHexLen, +- &engineIdBinLen, 1,engineIdCStr)) +- { +- PEG_TRACE_CSTRING(TRC_DISCARDED_DATA, Tracer::LEVEL2, +- "Snmp Indication Handler failed to generate binary" +- " engine ID for sending the SNMPv3 trap."); +- throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, +- MessageLoaderParms( +- "Handler.snmpIndicationHandler." +- "snmpIndicationHandler." +- "FAILED_TO_DELIVER_TRAP", +- "Failed to deliver trap.")); +- } +- sessionPtr->securityEngineIDLen = engineIdBinLen; +- sessionPtr->securityEngineID = engineIdBin; +- +- switch(snmpSecLevel) +- { +- case 1: +- sessionPtr->securityLevel = SNMP_SEC_LEVEL_NOAUTH; +- break; +- case 2: +- sessionPtr->securityLevel = SNMP_SEC_LEVEL_AUTHNOPRIV; +- break; +- case 3: +- sessionPtr->securityLevel = SNMP_SEC_LEVEL_AUTHPRIV; +- break; +- default: +- //use the dedault in the net-snmp conf file. +- break; +- } +- +- SNMP_FREE(sessionPtr->securityAuthProto); +- if(snmpSecAuthProto == 1) // MD5 +- { +- sessionPtr->securityAuthProto = snmp_duplicate_objid( +- usmHMACMD5AuthProtocol, +- USM_AUTH_PROTO_MD5_LEN); +- sessionPtr->securityAuthProtoLen = USM_AUTH_PROTO_MD5_LEN; +- } +- else if(snmpSecAuthProto == 2)// SHA +- { +- sessionPtr->securityAuthProto = snmp_duplicate_objid( +- usmHMACSHA1AuthProtocol, +- USM_AUTH_PROTO_SHA_LEN); +- sessionPtr->securityAuthProtoLen = USM_AUTH_PROTO_SHA_LEN; +- } +- // use the default in net-snmp conf files. +- +- if(snmpSecAuthKey.size() > 0) +- { +- for(Uint32 i=0;isecurityAuthKey[i] = snmpSecAuthKey[i]; +- } +- sessionPtr->securityAuthKeyLen = snmpSecAuthKey.size(); +- } +- +- SNMP_FREE(sessionPtr->securityPrivProto); +- //Privacy +- if(snmpSecPrivProto == 1) //DES +- { +- sessionPtr->securityPrivProto = snmp_duplicate_objid( +- usmDESPrivProtocol, +- USM_PRIV_PROTO_DES_LEN); +- sessionPtr->securityPrivProtoLen = USM_PRIV_PROTO_DES_LEN; +- } +- else if(snmpSecPrivProto == 2) // AES +- { +- sessionPtr->securityPrivProto = snmp_duplicate_objid( +- usmAESPrivProtocol, +- USM_PRIV_PROTO_AES_LEN); +- sessionPtr->securityPrivProtoLen = USM_PRIV_PROTO_AES_LEN; +- } +- // use the defaults in net-snmp conf files +- +- // Privacy Key +- if(snmpSecPrivKey.size() > 0) +- { +- for(Uint32 j=0;jsecurityPrivKey[j] = snmpSecPrivKey[j]; +- } +- sessionPtr->securityPrivKeyLen = snmpSecPrivKey.size(); +- } +- break; +- } ++#ifdef PEGASUS_ENABLE_NET_SNMPV3 ++ free(snmpSession.securityName); ++ free(snmpSession.securityEngineID); + #endif // ifdef PEGASUS_ENABLE_NET_SNMPV3 +- default: +- { +- PEG_METHOD_EXIT(); +- throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_NOT_SUPPORTED, +- MessageLoaderParms( +- _MSG_VERSION_NOT_SUPPORTED_KEY, +- _MSG_VERSION_NOT_SUPPORTED)); +- } +- } + + } + catch (...) +@@ -418,7 +435,7 @@ void snmpDeliverTrap_netsnmp::_createSes + } + + void snmpDeliverTrap_netsnmp::_addCommunity( +- struct snmp_session*& sessionPtr, ++ struct snmp_session& snmpSession, + const String& securityName) + { + PEG_METHOD_ENTER(TRC_IND_HANDLER, +@@ -435,17 +452,17 @@ void snmpDeliverTrap_netsnmp::_addCommun + communityName = securityName; + } + +- free(sessionPtr->community); ++ free(snmpSession.community); + + CString communityNameCStr = communityName.getCString(); + size_t communityNameLen = strlen(communityNameCStr); + +- sessionPtr->community = (u_char*)calloc(1,communityNameLen+1); ++ snmpSession.community = (u_char*)calloc(1,communityNameLen+1); + +- memcpy(sessionPtr->community, (const char*)communityNameCStr, ++ memcpy(snmpSession.community, (const char*)communityNameCStr, + communityNameLen); + +- sessionPtr->community_len = communityNameLen; ++ snmpSession.community_len = communityNameLen; + PEG_METHOD_EXIT(); + } + +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 2010-12-22 13:19:06.000000000 +0100 ++++ pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.h 2015-05-25 15:12:24.908290090 +0200 +@@ -200,12 +200,11 @@ private: + /** + Add the community string to the snmp session for V1 and V2C + +- @param sessionPtr the SNMP session pointer to its associated +- struct snmp_session ++ @param snmpSession struct snmp_session + @param securityName the human readable community name + */ + void _addCommunity( +- struct snmp_session*& sessionPtr, ++ struct snmp_session& snmpSession, + const String& securityName); + + /** diff --git a/pegasus-2.14.1-ssl-cert-path.patch b/pegasus-2.14.1-ssl-cert-path.patch new file mode 100644 index 0000000..82f890f --- /dev/null +++ b/pegasus-2.14.1-ssl-cert-path.patch @@ -0,0 +1,12 @@ +diff -up pegasus/env_var_Linux.status.orig pegasus/env_var_Linux.status +--- pegasus/env_var_Linux.status.orig 2016-02-18 12:06:51.571515464 +0100 ++++ pegasus/env_var_Linux.status 2016-02-18 12:07:02.946568247 +0100 +@@ -133,7 +133,7 @@ PEGASUS_LOCAL_DOMAIN_SOCKET_DIR = $(PEGA + PEGASUS_LOCAL_DOMAIN_SOCKET_PATH = \ + $(PEGASUS_LOCAL_DOMAIN_SOCKET_DIR)/cimxml.socket + +-PEGASUS_PEM_DIR = $(PEGASUS_CONFIG_DIR) ++PEGASUS_PEM_DIR = /etc/pki/Pegasus + PEGASUS_SSL_KEY_FILE = file.pem + PEGASUS_SSL_KEY_FILE_PATH = $(PEGASUS_PEM_DIR)/$(PEGASUS_SSL_KEY_FILE) + PEGASUS_SSL_CERT_FILE = server.pem diff --git a/pegasus-2.14.1-ssl-include.patch b/pegasus-2.14.1-ssl-include.patch new file mode 100644 index 0000000..b229d75 --- /dev/null +++ b/pegasus-2.14.1-ssl-include.patch @@ -0,0 +1,11 @@ +diff -up pegasus/src/Pegasus/Server/tests/TLSv_1_2_Support/TestTLSv1_2_Support.cpp.orig pegasus/src/Pegasus/Server/tests/TLSv_1_2_Support/TestTLSv1_2_Support.cpp +--- pegasus/src/Pegasus/Server/tests/TLSv_1_2_Support/TestTLSv1_2_Support.cpp.orig 2015-05-19 13:49:59.100133630 +0200 ++++ pegasus/src/Pegasus/Server/tests/TLSv_1_2_Support/TestTLSv1_2_Support.cpp 2015-05-19 13:50:40.665309444 +0200 +@@ -37,6 +37,7 @@ + + + #ifdef PEGASUS_HAS_SSL ++# include + # include + #endif + diff --git a/pegasus-2.14.1-tesid.patch b/pegasus-2.14.1-tesid.patch new file mode 100644 index 0000000..063f0f1 --- /dev/null +++ b/pegasus-2.14.1-tesid.patch @@ -0,0 +1,28 @@ +diff -up pegasus/src/Clients/benchmarkTest/Load/Makefile.orig pegasus/src/Clients/benchmarkTest/Load/Makefile +--- pegasus/src/Clients/benchmarkTest/Load/Makefile.orig 2015-10-12 13:19:57.029090805 +0200 ++++ pegasus/src/Clients/benchmarkTest/Load/Makefile 2015-10-12 13:20:43.379003285 +0200 +@@ -33,11 +33,7 @@ include $(ROOT)/mak/configschema.mak + include $(ROOT)/mak/test.mak + include $(ROOT)/mak/commands.mak + +-ifdef TESTID +- BenchmarkMOF_NAME = benchmarkProvider_$(TESTID) +-else +- BenchmarkMOF_NAME = benchmarkProvider +-endif ++BenchmarkMOF_NAME = benchmarkProvider + + PROVIDERNS=root/benchmark + PROVIDERNSDIRECTORY=$(REPOSITORY_ROOT)/root\#benchmark +@@ -74,11 +70,7 @@ unregisterproviders: + changeconfig: + $(MAKE) -i cimstart + $(MAKE) unregister +-ifdef TESTID +- $(MAKE) repositoryServer TESTID=$(TESTID) +-else + $(MAKE) repositoryServer +-endif + + + depend: diff --git a/pegasus-2.5.1-pam-wbem.patch b/pegasus-2.5.1-pam-wbem.patch new file mode 100644 index 0000000..932bfe1 --- /dev/null +++ b/pegasus-2.5.1-pam-wbem.patch @@ -0,0 +1,22 @@ +--- pegasus/rpm/wbem.pam-wbem 2006-01-17 14:17:43.000000000 -0500 ++++ pegasus/rpm/wbem 2006-04-05 19:26:46.000000000 -0400 +@@ -1,13 +1,7 @@ + #%PAM-1.0 +-auth required $ISA/pam_env.so +-auth sufficient $ISA/pam_unix.so nullok +-auth required $ISA/pam_deny.so +- +-account required $ISA/pam_unix.so +- +-password required $ISA/pam_cracklib.so retry=3 type= +-password sufficient $ISA/pam_unix.so nullok use_authtok md5 shadow +-password required $ISA/pam_deny.so +- +-session required $ISA/pam_limits.so +-session required $ISA/pam_unix.so ++auth include password-auth ++account required pam_access.so accessfile=/etc/Pegasus/access.conf ++account include password-auth ++password include password-auth ++session required pam_loginuid.so ++session include password-auth diff --git a/pegasus-2.5.1-warnings.patch b/pegasus-2.5.1-warnings.patch new file mode 100644 index 0000000..e8fd620 --- /dev/null +++ b/pegasus-2.5.1-warnings.patch @@ -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 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(&x))); + } + + inline void Packer::packReal64(Buffer& out, Real64 x) + { +- packUint64(out, *((Uint64*)&x)); ++ packUint64(out, *(reinterpret_cast(&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(); diff --git a/pegasus-2.7.0-PIE.patch b/pegasus-2.7.0-PIE.patch new file mode 100644 index 0000000..6eabde6 --- /dev/null +++ b/pegasus-2.7.0-PIE.patch @@ -0,0 +1,132 @@ +diff -up pegasus/src/Clients/cimauth/Makefile_orig pegasus/src/Clients/cimauth/Makefile +--- pegasus/src/Clients/cimauth/Makefile_orig 2011-05-17 15:03:15.822670486 +0200 ++++ pegasus/src/Clients/cimauth/Makefile 2011-05-17 15:03:26.893426279 +0200 +@@ -34,6 +34,8 @@ DIR = Clients/cimauth + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LIBRARIES = \ + pegcliutils \ + pegclient \ +diff -up pegasus/src/Clients/cimconfig/Makefile_orig pegasus/src/Clients/cimconfig/Makefile +--- pegasus/src/Clients/cimconfig/Makefile_orig 2011-05-17 15:01:19.759266385 +0200 ++++ pegasus/src/Clients/cimconfig/Makefile 2011-05-17 15:01:37.629099999 +0200 +@@ -34,6 +34,8 @@ DIR = Clients/cimconfig + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LIBRARIES = \ + pegcliutils \ + pegclient \ +diff -up pegasus/src/Clients/cimprovider/Makefile_orig pegasus/src/Clients/cimprovider/Makefile +--- pegasus/src/Clients/cimprovider/Makefile_orig 2011-05-17 15:01:55.278898872 +0200 ++++ pegasus/src/Clients/cimprovider/Makefile 2011-05-17 15:02:09.021077534 +0200 +@@ -34,6 +34,8 @@ DIR = Clients/cimprovider + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LIBRARIES = \ + pegcliutils \ + pegclient \ +diff -up pegasus/src/Clients/cimuser/Makefile_orig pegasus/src/Clients/cimuser/Makefile +--- pegasus/src/Clients/cimuser/Makefile_orig 2011-05-17 15:02:18.991658613 +0200 ++++ pegasus/src/Clients/cimuser/Makefile 2011-05-17 15:02:38.476748769 +0200 +@@ -34,6 +34,8 @@ DIR = Clients/cimuser + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LIBRARIES = \ + pegcliutils \ + pegclient \ +diff -up pegasus/src/Clients/osinfo/Makefile_orig pegasus/src/Clients/osinfo/Makefile +--- pegasus/src/Clients/osinfo/Makefile_orig 2011-05-17 15:03:57.952350916 +0200 ++++ pegasus/src/Clients/osinfo/Makefile 2011-05-17 15:04:08.622043080 +0200 +@@ -33,6 +33,8 @@ PEGASUS_ZOS_PROGRAM_OBJECT = yes + DIR = Clients/osinfo + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LIBRARIES = \ + pegcliutils \ + peggetoopt \ +diff -up pegasus/src/Clients/repupgrade/Makefile_orig pegasus/src/Clients/repupgrade/Makefile +--- pegasus/src/Clients/repupgrade/Makefile_orig 2011-05-17 15:03:36.222905432 +0200 ++++ pegasus/src/Clients/repupgrade/Makefile 2011-05-17 15:03:48.013774882 +0200 +@@ -34,6 +34,8 @@ DIR = Clients/repupgrade + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LOCAL_DEFINES = -DPEGASUS_INTERNALONLY + + LIBRARIES = \ +diff -up pegasus/src/Clients/wbemexec/Makefile_orig pegasus/src/Clients/wbemexec/Makefile +--- pegasus/src/Clients/wbemexec/Makefile_orig 2011-05-17 15:02:46.254981788 +0200 ++++ pegasus/src/Clients/wbemexec/Makefile 2011-05-17 15:02:59.917148729 +0200 +@@ -34,6 +34,8 @@ DIR = Clients/wbemexec + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LOCAL_DEFINES = -DPEGASUS_INTERNALONLY + + LIBRARIES = \ +diff -up pegasus/src/Pegasus/Compiler/cmdline/cimmofl/Makefile_orig pegasus/src/Pegasus/Compiler/cmdline/cimmofl/Makefile +--- pegasus/src/Pegasus/Compiler/cmdline/cimmofl/Makefile_orig 2011-05-17 14:59:20.270319135 +0200 ++++ pegasus/src/Pegasus/Compiler/cmdline/cimmofl/Makefile 2011-05-17 14:59:55.019829684 +0200 +@@ -30,6 +30,8 @@ ROOT = ../../../../.. + DIR = Pegasus/Compiler/cmdline/cimmofl + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LOCAL_DEFINES = -DPEGASUS_INTERNALONLY + + PROGRAM = cimmofl +diff -up pegasus/src/Pegasus/Compiler/cmdline/cimmof/Makefile_orig pegasus/src/Pegasus/Compiler/cmdline/cimmof/Makefile +--- pegasus/src/Pegasus/Compiler/cmdline/cimmof/Makefile_orig 2011-05-17 14:58:44.334620532 +0200 ++++ pegasus/src/Pegasus/Compiler/cmdline/cimmof/Makefile 2011-05-17 14:59:10.555778484 +0200 +@@ -32,6 +32,8 @@ include $(ROOT)/mak/config.mak + + LOCAL_DEFINES = -DPEGASUS_CMDLINE_INTERNAL -DPEGASUS_INTERNALONLY + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LIBRARIES = \ + pegcompiler \ + pegclient \ +diff -up pegasus/src/Pegasus/ProviderManagerService/ProviderAgent/Makefile_orig pegasus/src/Pegasus/ProviderManagerService/ProviderAgent/Makefile +--- pegasus/src/Pegasus/ProviderManagerService/ProviderAgent/Makefile_orig 2011-05-17 14:58:03.166092772 +0200 ++++ pegasus/src/Pegasus/ProviderManagerService/ProviderAgent/Makefile 2011-05-17 14:58:22.652182571 +0200 +@@ -32,6 +32,8 @@ DIR = Pegasus/ProviderManagerService/Pro + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + LIBRARIES = \ + pegpmrouter \ + pegprovidermanager \ +diff -up pegasus/src/Pegasus/Server/Makefile_orig pegasus/src/Pegasus/Server/Makefile +--- pegasus/src/Pegasus/Server/Makefile_orig 2011-05-17 14:57:08.349400296 +0200 ++++ pegasus/src/Pegasus/Server/Makefile 2011-05-17 14:57:33.724424287 +0200 +@@ -32,6 +32,8 @@ DIR = Pegasus/Server + + include $(ROOT)/mak/config.mak + ++FLAGS := $(FLAGS:-fPIC=-fPIE) ++ + EXTRA_INCLUDES = $(SYS_INCLUDES) + + LOCAL_DEFINES = -DPEGASUS_SERVER_INTERNAL -DPEGASUS_INTERNALONLY diff --git a/pegasus-2.7.0-snmp-tests.patch b/pegasus-2.7.0-snmp-tests.patch new file mode 100644 index 0000000..da50ec3 --- /dev/null +++ b/pegasus-2.7.0-snmp-tests.patch @@ -0,0 +1,50 @@ +diff -up pegasus/Makefile.ReleaseTest.orig pegasus/Makefile.ReleaseTest +--- pegasus/Makefile.ReleaseTest.orig 2013-07-01 12:55:50.000000000 +0200 ++++ pegasus/Makefile.ReleaseTest 2015-05-18 14:28:22.642686363 +0200 +@@ -128,6 +128,7 @@ POSTSTARTTEST_CMDS = \ + $(PEGASUS_TEST_DIR)/bin/TestIndicationStressTest@@IndicationStressTestClass@@test/TestProvider@@cleanup + + ifeq ($(PEGASUS_USE_NET_SNMP),true) ++ POSTSTARTTEST_CMDS_NO_SNMP := $(POSTSTARTTEST_CMDS) + POSTSTARTTEST_CMDS += \ + $(PEGASUS_TEST_DIR)/bin/TestSnmpHandler@@setup@@WQL \ + $(PEGASUS_TEST_DIR)/bin/TestSnmpHandler@@run@@4@@2 \ +@@ -212,10 +213,21 @@ createMakefile_poststarttests: + @$(ECHO-E) "poststarttests:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "\t@$(MAKE) -s poststarttests_internal\n" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "poststarttests_internal:" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ifeq ($(PEGASUS_USE_NET_SNMP),true) ++ @$(foreach i, $(POSTSTARTTEST_CMDS_NO_SNMP), $(ECHO-E) "\t$(subst @@, ,$(i))" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile;) ++else + @$(foreach i, $(POSTSTARTTEST_CMDS), $(ECHO-E) "\t$(subst @@, ,$(i))" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile;) + @$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++endif + + createMakefile_tests: ++ifeq ($(PEGASUS_USE_NET_SNMP),true) ++ @$(ECHO-E) "\t/usr/share/Pegasus/test/bin/TestSnmpHandler setup WQL" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ @$(ECHO-E) "\t/usr/share/Pegasus/test/bin/TestSnmpHandler run 4 2" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ @$(ECHO-E) "\t/usr/share/Pegasus/test/bin/TestSnmpHandler cleanup" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ @$(ECHO-E) "\t/usr/share/Pegasus/test/bin/TestSnmpHandler removelog" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ @$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++endif + @$(ECHO-E) "###############################################################################" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "# The tests target stops the cimserver, runs the unit tests, starts the" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "# cimserver, and runs the poststarttests and local TestClient." >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile +@@ -276,6 +288,8 @@ createMakefile_setupTEST: + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "\t@mv $(PEGASUS_TEST_REPOSITORY_DIR)/$(PEGASUS_TEST_REPOSITORY_NAME) $(PEGASUS_REPOSITORY_PARENT_DIR)/repository" \ + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ @$(ECHO-E) "\t@mv /etc/snmp/snmptrapd.conf /etc/snmp/snmptrapd.conf.bak" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ @$(ECHO-E) "\t@cp /usr/share/Pegasus/test/snmptrapd.conf /etc/snmp/snmptrapd.conf" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "\t@make cimstart" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "\t@make create_providerlinks" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "else" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile +@@ -293,6 +307,7 @@ createMakefile_unsetupTEST: + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "\t@mv $(PEGASUS_REPOSITORY_PARENT_DIR)/repository.bak $(PEGASUS_REPOSITORY_PARENT_DIR)/repository" \ + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile ++ @$(ECHO-E) "\t@mv /etc/snmp/snmptrapd.conf.bak /etc/snmp/snmptrapd.conf" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "endif" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "\t@make remove_providerlinks" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile + @$(ECHO-E) "" >> $(PEGASUS_STAGING_DIR)$(PEGASUS_TEST_DIR)/Makefile diff --git a/pegasus-2.9.0-cmpi-provider-lib.patch b/pegasus-2.9.0-cmpi-provider-lib.patch new file mode 100644 index 0000000..7e479cf --- /dev/null +++ b/pegasus-2.9.0-cmpi-provider-lib.patch @@ -0,0 +1,13 @@ +diff -up pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h_orig pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h +--- pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h_orig 2011-05-17 15:13:43.331172383 +0200 ++++ pegasus/src/Pegasus/Config/FixedPropertyTableLinux.h 2011-05-17 15:15:34.672827232 +0200 +@@ -60,8 +60,7 @@ + {"crlStore", PEGASUS_SSL_SERVER_CRL}, + # endif + {"repositoryDir", PEGASUS_REPOSITORY_DIR}, +- {"providerDir", PEGASUS_EXTRA_PROVIDER_LIB_DIR PEGASUS_PROVIDER_LIB_DIR +- ":/usr/" PEGASUS_ARCH_LIB "/cmpi"}, ++ {"providerDir", PEGASUS_PROVIDER_LIB_DIR ":" PEGASUS_DEST_LIB_DIR "/cmpi"}, + {"providerManagerDir", PEGASUS_PROVIDER_MANAGER_LIB_DIR}, + # else /* PEGASUS_OVERRIDE_DEFAULT_RELEASE_DIRS */ + {"traceFilePath", "/var/opt/tog-pegasus/cache/trace/cimserver.trc"}, diff --git a/pegasus-2.9.0-local-or-remote-auth.patch b/pegasus-2.9.0-local-or-remote-auth.patch new file mode 100644 index 0000000..67e0aa9 --- /dev/null +++ b/pegasus-2.9.0-local-or-remote-auth.patch @@ -0,0 +1,535 @@ +diff -up pegasus/src/Executor/Messages.h.orig pegasus/src/Executor/Messages.h +--- pegasus/src/Executor/Messages.h.orig 2015-03-31 14:49:58.125082973 +0200 ++++ pegasus/src/Executor/Messages.h 2015-03-31 14:50:29.243214138 +0200 +@@ -199,6 +199,7 @@ struct ExecutorAuthenticatePasswordReque + { + char username[EXECUTOR_BUFFER_SIZE]; + char password[EXECUTOR_BUFFER_SIZE]; ++ Boolean isRemoteUser; + }; + + struct ExecutorAuthenticatePasswordResponse +diff -up pegasus/src/Executor/PAMAuth.h.orig pegasus/src/Executor/PAMAuth.h +--- pegasus/src/Executor/PAMAuth.h.orig 2015-03-31 14:50:48.589295683 +0200 ++++ pegasus/src/Executor/PAMAuth.h 2015-03-31 14:57:25.561982718 +0200 +@@ -49,6 +49,9 @@ + #include + #include + ++#include ++typedef bool Boolean; ++ + #ifdef PEGASUS_FLAVOR + # define PAM_CONFIG_FILE "wbem" PEGASUS_FLAVOR + #else +@@ -397,7 +400,7 @@ static int PAMValidateUserCallback( + */ + + static int PAMAuthenticateInProcess( +- const char* username, const char* password) ++ const char* username, const char* password, const Boolean isRemoteUser) + { + PAMData data; + struct pam_conv pconv; +@@ -412,24 +415,54 @@ static int PAMAuthenticateInProcess( + /* intentionally for testing purposes */ + /* return PAM_SERVICE_ERR; */ + +- pam_rc = pam_start(PAM_CONFIG_FILE, username, &pconv, &handle); ++ // NOTE: if any pam call should log anything, our syslog socket will be redirected ++ // to the AUTH facility, so we need to redirect it back after each pam call. ++ ++ if ((pam_rc = pam_start(PAM_CONFIG_FILE, username, &pconv, &handle)) != PAM_SUCCESS) ++ { ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_start failed: %s", pam_strerror(handle, pam_rc)); ++ syslog(LOG_ERR, "PAM authentication failed for %s user: %s", ++ isRemoteUser ? "remote" : "local", username); ++ return -1; ++ } + +- if (pam_rc != PAM_SUCCESS) ++ if ((pam_rc = pam_set_item(handle, PAM_TTY, isRemoteUser ? "wbemNetwork" : "wbemLocal")) != PAM_SUCCESS) + { +- return pam_rc; ++ pam_end(handle, 0); ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_set_item(PAM_TTY=wbem) failed: %s", pam_strerror(handle, pam_rc)); ++ syslog(LOG_ERR, "PAM authentication failed for %s user: %s", ++ isRemoteUser ? "remote" : "local", username); ++ return -1; + } + +- pam_rc = pam_authenticate(handle, 0); +- if (pam_rc != PAM_SUCCESS) ++ if ((pam_rc = pam_authenticate(handle, 0)) != PAM_SUCCESS) + { + pam_end(handle, 0); +- return pam_rc; ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_authenticate failed: %s",pam_strerror(handle, pam_rc)); ++ syslog(LOG_ERR, "PAM authentication failed for %s user: %s", ++ isRemoteUser ? "remote" : "local", username); ++ return -1; + } + +- pam_rc = pam_acct_mgmt(handle, 0); ++ if ((pam_rc = pam_acct_mgmt(handle, 0)) != PAM_SUCCESS) ++ { ++ pam_end(handle, 0); ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_acct_mgmt failed: %s",pam_strerror(handle, pam_rc)); ++ syslog(LOG_ERR, "PAM authentication failed for %s user: %s", ++ isRemoteUser ? "remote" : "local", username); ++ return -1; ++ } + + pam_end(handle, 0); +- return pam_rc; ++ return 0; + } + + /* +@@ -452,16 +485,34 @@ static int PAMValidateUserInProcess(cons + pconv.conv = PAMValidateUserCallback; + pconv.appdata_ptr = &data; + +- pam_rc = pam_start(PAM_CONFIG_FILE, username, &pconv, &phandle); +- if (pam_rc != PAM_SUCCESS) ++ if ((pam_rc = pam_start(PAM_CONFIG_FILE, username, &pconv, &phandle)) != PAM_SUCCESS) ++ { ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_start() failed: %s", pam_strerror(phandle, pam_rc)); ++ return -1; ++ } ++ ++ if ((pam_rc = pam_set_item(phandle, PAM_TTY, "wbemLocal")) != PAM_SUCCESS) + { +- return pam_rc; ++ pam_end(phandle, 0); ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_set_item(PAM_TTY=wbemLocal) failed: %s", pam_strerror(phandle, pam_rc)); ++ return -1; + } + +- pam_rc = pam_acct_mgmt(phandle, 0); ++ if ((pam_rc = pam_acct_mgmt(phandle, 0)) != PAM_SUCCESS) ++ { ++ pam_end(phandle, 0); ++ closelog(); ++ openlog("cimserver", LOG_PID, LOG_DAEMON); ++ syslog(LOG_ERR, "pam_acct_mgmt() failed: %s", pam_strerror(phandle, pam_rc)); ++ return -1; ++ } + + pam_end(phandle, 0); +- return pam_rc; ++ return 0; + } + + /* +@@ -474,12 +525,12 @@ static int PAMValidateUserInProcess(cons + **============================================================================== + */ + +-static int PAMAuthenticate(const char* username, const char* password) ++static int PAMAuthenticate(const char* username, const char* password, const Boolean isRemoteUser) + { + #ifdef PEGASUS_USE_PAM_STANDALONE_PROC + return CimserveraProcessOperation("authenticate", username, password); + #else +- return PAMAuthenticateInProcess(username, password); ++ return PAMAuthenticateInProcess(username, password, isRemoteUser); + #endif + } + +diff -up pegasus/src/Executor/Parent.c.orig pegasus/src/Executor/Parent.c +--- pegasus/src/Executor/Parent.c.orig 2015-03-31 14:57:37.595034076 +0200 ++++ pegasus/src/Executor/Parent.c 2015-03-31 14:58:11.034176796 +0200 +@@ -634,7 +634,7 @@ static void HandleAuthenticatePasswordRe + + #if defined(PEGASUS_PAM_AUTHENTICATION) + +- status = PAMAuthenticate(request.username, request.password); ++ status = PAMAuthenticate(request.username, request.password, request.isRemoteUser); + + if (status == PAM_SUCCESS) + { +diff -up pegasus/src/Executor/tests/PAMAuth/TestExecutorPAMAuth.c.orig pegasus/src/Executor/tests/PAMAuth/TestExecutorPAMAuth.c +--- pegasus/src/Executor/tests/PAMAuth/TestExecutorPAMAuth.c.orig 2015-03-31 14:58:30.460259707 +0200 ++++ pegasus/src/Executor/tests/PAMAuth/TestExecutorPAMAuth.c 2015-03-31 14:58:55.882368210 +0200 +@@ -49,7 +49,7 @@ int main() + sprintf(prompt, "Enter password for %s: ", PEGASUS_CIMSERVERMAIN_USER); + pw = getpass(prompt); + +- if (PAMAuthenticate(PEGASUS_CIMSERVERMAIN_USER, pw) == 0) ++ if (PAMAuthenticate(PEGASUS_CIMSERVERMAIN_USER, pw, 0) == 0) + printf("Correct password\n"); + else + printf("Wrong password\n"); +diff -up pegasus/src/Pegasus/Common/AuthenticationInfo.h.orig pegasus/src/Pegasus/Common/AuthenticationInfo.h +--- pegasus/src/Pegasus/Common/AuthenticationInfo.h.orig 2015-03-31 14:59:10.875432201 +0200 ++++ pegasus/src/Pegasus/Common/AuthenticationInfo.h 2015-03-31 15:00:03.130655230 +0200 +@@ -348,6 +348,22 @@ public: + _rep->setAuthHandle(authHandle); + } + ++ /** Indicate whether the user is Remote ++ */ ++ Boolean isRemoteUser() const ++ { ++ CheckRep(_rep); ++ return _rep->isRemoteUser(); ++ } ++ ++ /** Set the Remote User flag ++ */ ++ void setRemoteUser(Boolean isRemoteUser) ++ { ++ CheckRep(_rep); ++ _rep->setRemoteUser(isRemoteUser); ++ } ++ + AuthHandle getAuthHandle() + { + CheckRep(_rep); +diff -up pegasus/src/Pegasus/Common/AuthenticationInfoRep.cpp.orig pegasus/src/Pegasus/Common/AuthenticationInfoRep.cpp +--- pegasus/src/Pegasus/Common/AuthenticationInfoRep.cpp.orig 2015-03-31 15:00:26.267753980 +0200 ++++ pegasus/src/Pegasus/Common/AuthenticationInfoRep.cpp 2015-03-31 15:01:53.018124238 +0200 +@@ -48,6 +48,7 @@ const String AuthenticationInfoRep::AUTH + AuthenticationInfoRep::AuthenticationInfoRep() + : _connectionAuthenticated(false), + _wasRemotePrivilegedUserAccessChecked(false), ++ _isRemoteUser(true), + _authHandle(), + _isExpiredPassword(false) + #ifdef PEGASUS_ENABLE_SESSION_COOKIES +@@ -86,6 +87,16 @@ AuthenticationInfoRep::~AuthenticationIn + + PEG_METHOD_EXIT(); + } ++ ++void AuthenticationInfoRep::setRemoteUser(Boolean isRemoteUser) ++{ ++ PEG_METHOD_ENTER(TRC_AUTHENTICATION, ++ "AuthenticationInfoRep::setRemoteUser"); ++ ++ _isRemoteUser = isRemoteUser; ++ ++ PEG_METHOD_EXIT(); ++} + + void AuthenticationInfoRep::setConnectionAuthenticated( + Boolean connectionAuthenticated) +diff -up pegasus/src/Pegasus/Common/AuthenticationInfoRep.h.orig pegasus/src/Pegasus/Common/AuthenticationInfoRep.h +--- pegasus/src/Pegasus/Common/AuthenticationInfoRep.h.orig 2015-03-31 15:02:17.868230300 +0200 ++++ pegasus/src/Pegasus/Common/AuthenticationInfoRep.h 2015-03-31 15:03:53.065636608 +0200 +@@ -148,6 +148,13 @@ public: + } + #endif //PEGASUS_NEGOTIATE_AUTHENTICATION + ++ Boolean isRemoteUser() const ++ { ++ return _isRemoteUser; ++ } ++ ++ void setRemoteUser(Boolean isRemoteUser); ++ + Array getClientCertificateChain() + { + return _clientCertificate; +@@ -233,6 +240,8 @@ private: + + Array _clientCertificate; + ++ Boolean _isRemoteUser; ++ + AuthHandle _authHandle; + String _userRole; + Boolean _isExpiredPassword; +diff -up pegasus/src/Pegasus/Common/Executor.cpp.orig pegasus/src/Pegasus/Common/Executor.cpp +--- pegasus/src/Pegasus/Common/Executor.cpp.orig 2015-03-31 15:04:10.843712487 +0200 ++++ pegasus/src/Pegasus/Common/Executor.cpp 2015-03-31 15:08:16.953762900 +0200 +@@ -126,7 +126,8 @@ public: + + virtual int authenticatePassword( + const char* username, +- const char* password) = 0; ++ const char* password, ++ Boolean isRemoteUser) = 0; + + virtual int validateUser( + const char* username) = 0; +@@ -562,9 +563,10 @@ public: + #if defined(PEGASUS_PAM_AUTHENTICATION) + virtual int authenticatePassword( + const char* username, +- const char* password) ++ const char* password, ++ Boolean isRemoteUser) + { +- return PAMAuthenticate(username, password); ++ return PAMAuthenticate(username, password, isRemoteUser); + } + + virtual int validateUser( +@@ -912,7 +914,8 @@ public: + + virtual int authenticatePassword( + const char* username, +- const char* password) ++ const char* password, ++ Boolean isRemoteUser) + { + AutoMutex autoMutex(_mutex); + +@@ -930,6 +933,7 @@ public: + memset(&request, 0, sizeof(request)); + Strlcpy(request.username, username, EXECUTOR_BUFFER_SIZE); + Strlcpy(request.password, password, EXECUTOR_BUFFER_SIZE); ++ request.isRemoteUser = isRemoteUser; + + if (SendBlock(_sock, &request, sizeof(request)) != sizeof(request)) + return -1; +@@ -1181,10 +1185,11 @@ int Executor::reapProviderAgent( + + int Executor::authenticatePassword( + const char* username, +- const char* password) ++ const char* password, ++ Boolean isRemoteUser) + { + once(&_executorImplOnce, _initExecutorImpl); +- return _executorImpl->authenticatePassword(username, password); ++ return _executorImpl->authenticatePassword(username, password, isRemoteUser); + } + + int Executor::validateUser( +diff -up pegasus/src/Pegasus/Common/Executor.h.orig pegasus/src/Pegasus/Common/Executor.h +--- pegasus/src/Pegasus/Common/Executor.h.orig 2015-03-31 15:08:26.668804365 +0200 ++++ pegasus/src/Pegasus/Common/Executor.h 2015-03-31 15:08:46.535889158 +0200 +@@ -184,7 +184,8 @@ public: + */ + static int authenticatePassword( + const char* username, +- const char* password); ++ const char* password, ++ Boolean isRemoteUser); + + /** Check whether the given user is valid for the underlying authentcation + mechanism. +diff -up pegasus/src/Pegasus/Common/HTTPConnection.cpp.orig pegasus/src/Pegasus/Common/HTTPConnection.cpp +--- pegasus/src/Pegasus/Common/HTTPConnection.cpp.orig 2015-03-31 15:09:05.706970982 +0200 ++++ pegasus/src/Pegasus/Common/HTTPConnection.cpp 2015-03-31 15:10:08.472238867 +0200 +@@ -2295,6 +2295,70 @@ void HTTPConnection::_handleReadEvent() + message->contentLanguages = contentLanguages; + message->dest = _outputMessageQueue->getQueueId(); + ++ // Allow authenticators to differentiate Remote and Local users: ++ struct sockaddr_storage sin_peer, sin_svr; ++ socklen_t slen1 = sizeof (struct sockaddr_storage), slen2 = sizeof (struct sockaddr_storage); ++ uint32_t sock = _socket.get()->getSocket() ; ++ memset(&sin_peer,'\0',slen1); ++ memset(&sin_svr, '\0',slen2); ++ if ( ( ::getpeername( sock, (struct sockaddr*)&sin_peer, &slen1) == 0 ) ++ ||( ::getsockname( sock, (struct sockaddr*)&sin_svr, &slen2) == 0 ) ++ ) ++ { ++ PEG_TRACE((TRC_HTTP, Tracer::LEVEL4, ++ "sin_peer.ss_family: %d", ++ sin_peer.ss_family)); ++ if( sin_peer.ss_family == AF_INET ) ++ { ++ struct sockaddr_in *s = (struct sockaddr_in *)&sin_peer; ++ if( ((ntohl( s->sin_addr.s_addr ) >> 24) & 0xff) == 127 ) ++ // message was sent FROM localhost interface ++ message->isFromRemoteHost = false; ++ } ++ if( sin_peer.ss_family == AF_INET6 ) ++ { ++ char straddr[INET6_ADDRSTRLEN]; ++ struct sockaddr_in6 *s = (struct sockaddr_in6 *)&sin_peer; ++ static const unsigned char localhost_bytes[] = ++ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }; ++ inet_ntop(AF_INET6, &s->sin6_addr, straddr, sizeof(straddr)); ++ PEG_TRACE((TRC_HTTP, Tracer::LEVEL4, ++ "Peer IP address: %s", ++ straddr)); ++ if(memcmp(s->sin6_addr.s6_addr, localhost_bytes, 16) == 0) ++ // message was sent FROM localhost interface ++ message->isFromRemoteHost = false; ++ } ++ PEG_TRACE((TRC_HTTP, Tracer::LEVEL4, ++ "sin_svr.ss_family: %d", ++ sin_svr.ss_family)); ++ if( sin_svr.ss_family == AF_INET ) ++ { ++ struct sockaddr_in *s = (struct sockaddr_in *)&sin_svr; ++ if( ((ntohl( s->sin_addr.s_addr ) >> 24) & 0xff) == 127 ) ++ // message was sent TO localhost interface ++ message->isFromRemoteHost = false; ++ } ++ if( sin_svr.ss_family == AF_INET6 ) ++ { ++ char straddr[INET6_ADDRSTRLEN]; ++ struct sockaddr_in6 *s = (struct sockaddr_in6 *)&sin_svr; ++ static const unsigned char localhost_bytes[] = ++ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }; ++ inet_ntop(AF_INET6, &s->sin6_addr, straddr, sizeof(straddr)); ++ PEG_TRACE((TRC_HTTP, Tracer::LEVEL4, ++ "svr IP address: %s", ++ straddr)); ++ if(memcmp(s->sin6_addr.s6_addr, localhost_bytes, 16) == 0) ++ // message was sent TO localhost interface ++ message->isFromRemoteHost = false; ++ } ++ } ++ ++ PEG_TRACE((TRC_HTTP, Tracer::LEVEL4, ++ "isFromRemoteHost: %d", ++ message->isFromRemoteHost)); ++ + // + // The _closeConnection method sets the _connectionClosePending flag. + // If we are executing on the client side and the +diff -up pegasus/src/Pegasus/Common/HTTPMessage.cpp.orig pegasus/src/Pegasus/Common/HTTPMessage.cpp +--- pegasus/src/Pegasus/Common/HTTPMessage.cpp.orig 2015-03-31 15:10:32.186340162 +0200 ++++ pegasus/src/Pegasus/Common/HTTPMessage.cpp 2015-03-31 15:11:00.008459185 +0200 +@@ -133,7 +133,8 @@ HTTPMessage::HTTPMessage( + authInfo(0), + acceptLanguagesDecoded(false), + contentLanguagesDecoded(false), +- binaryResponse(false) ++ binaryResponse(false), ++ isFromRemoteHost(true) + { + if (cimException_) + cimException = *cimException_; +diff -up pegasus/src/Pegasus/Common/HTTPMessage.h.orig pegasus/src/Pegasus/Common/HTTPMessage.h +--- pegasus/src/Pegasus/Common/HTTPMessage.h.orig 2015-03-31 15:11:13.706517786 +0200 ++++ pegasus/src/Pegasus/Common/HTTPMessage.h 2015-03-31 15:11:33.528602586 +0200 +@@ -73,6 +73,7 @@ public: + ContentLanguageList contentLanguages; + Boolean acceptLanguagesDecoded; + Boolean contentLanguagesDecoded; ++ Boolean isFromRemoteHost; + CIMException cimException; + bool binaryResponse; + +diff -up pegasus/src/Pegasus/Common/tests/Executor/TestExecutor.cpp.orig pegasus/src/Pegasus/Common/tests/Executor/TestExecutor.cpp +--- pegasus/src/Pegasus/Common/tests/Executor/TestExecutor.cpp.orig 2015-03-31 15:11:50.617675692 +0200 ++++ pegasus/src/Pegasus/Common/tests/Executor/TestExecutor.cpp 2015-03-31 15:12:49.031925589 +0200 +@@ -76,7 +76,7 @@ void testExecutorLoopbackImpl() + #endif + + PEGASUS_TEST_ASSERT(Executor::authenticatePassword( +- "xnonexistentuserx", "wrongpassword") != 0); ++ "xnonexistentuserx", "wrongpassword", true) != 0); + PEGASUS_TEST_ASSERT(Executor::validateUser("xnonexistentuserx") != 0); + + char challengeFilePath[EXECUTOR_BUFFER_SIZE]; +@@ -115,7 +115,7 @@ void testExecutorSocketImpl() + PEGASUS_TEST_ASSERT(Executor::reapProviderAgent(123) == 0); + + PEGASUS_TEST_ASSERT(Executor::authenticatePassword( +- "xnonexistentuserx", "wrongpassword") == -1); ++ "xnonexistentuserx", "wrongpassword", true) == -1); + PEGASUS_TEST_ASSERT(Executor::validateUser("xnonexistentuserx") == -1); + + char challengeFilePath[EXECUTOR_BUFFER_SIZE]; +diff -up pegasus/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp.orig pegasus/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp +--- pegasus/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp.orig 2015-03-31 15:12:58.057964203 +0200 ++++ pegasus/src/Pegasus/Security/Authentication/BasicAuthenticationHandler.cpp 2015-03-31 15:13:19.591056322 +0200 +@@ -159,6 +159,7 @@ AuthenticationStatus BasicAuthentication + _basicAuthenticator->authenticate( + userName, + password, ++ authInfo->isRemoteUser(), + authInfo); + + // Log audit message. +diff -up pegasus/src/Pegasus/Security/Authentication/BasicAuthenticator.h.orig pegasus/src/Pegasus/Security/Authentication/BasicAuthenticator.h +--- pegasus/src/Pegasus/Security/Authentication/BasicAuthenticator.h.orig 2015-03-31 15:13:32.889113211 +0200 ++++ pegasus/src/Pegasus/Security/Authentication/BasicAuthenticator.h 2015-03-31 15:13:51.240191720 +0200 +@@ -65,6 +65,7 @@ public: + virtual AuthenticationStatus authenticate( + const String& userName, + const String& password, ++ Boolean isRemoteUser, + AuthenticationInfo* authInfo) = 0; + + /** Construct and return the HTTP Basic authentication challenge header +diff -up pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h.orig pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h +--- pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h.orig 2015-03-31 15:14:04.185247096 +0200 ++++ pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticator.h 2015-03-31 15:14:20.391316426 +0200 +@@ -54,6 +54,7 @@ public: + AuthenticationStatus authenticate( + const String& userName, + const String& password, ++ Boolean isRemoteUser, + AuthenticationInfo* authInfo); + + AuthenticationStatus validateUser( +diff -up pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp.orig pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp +--- pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp.orig 2015-03-31 15:14:32.937370098 +0200 ++++ pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorStub.cpp 2015-03-31 15:14:52.631454350 +0200 +@@ -74,6 +74,7 @@ PAMBasicAuthenticator::~PAMBasicAuthenti + AuthenticationStatus PAMBasicAuthenticator::authenticate( + const String& userName, + const String& password, ++ Boolean isRemoteUser, + AuthenticationInfo* authInfo) + { + PEG_METHOD_ENTER(TRC_AUTHENTICATION, +diff -up pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp.orig pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp +--- pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp.orig 2015-03-31 15:15:08.521522327 +0200 ++++ pegasus/src/Pegasus/Security/Authentication/PAMBasicAuthenticatorUnix.cpp 2015-03-31 15:15:49.255696589 +0200 +@@ -66,6 +66,7 @@ PAMBasicAuthenticator::~PAMBasicAuthenti + AuthenticationStatus PAMBasicAuthenticator::authenticate( + const String& userName, + const String& password, ++ Boolean isRemoteUser, + AuthenticationInfo* authInfo) + { + PEG_METHOD_ENTER(TRC_AUTHENTICATION, +@@ -74,7 +75,8 @@ AuthenticationStatus PAMBasicAuthenticat + int pam_rc = + Executor::authenticatePassword( + userName.getCString(), +- password.getCString()); ++ password.getCString(), ++ isRemoteUser); + + // return code of -1 will be translated to AUTHSC_UNAUTHORIZED + AuthenticationStatus authStatus = _getAuthStatusFromPAM_RC(pam_rc); +diff -up pegasus/src/Pegasus/Security/Authentication/SecureBasicAuthenticator.cpp.orig pegasus/src/Pegasus/Security/Authentication/SecureBasicAuthenticator.cpp +--- pegasus/src/Pegasus/Security/Authentication/SecureBasicAuthenticator.cpp.orig 2015-03-31 15:16:03.097755805 +0200 ++++ pegasus/src/Pegasus/Security/Authentication/SecureBasicAuthenticator.cpp 2015-03-31 15:16:24.758848473 +0200 +@@ -239,7 +239,7 @@ AuthenticationStatus SecureBasicAuthenti + if (Executor::detectExecutor() == 0) + { + if (Executor::authenticatePassword( +- userName.getCString(), password.getCString()) == 0) ++ userName.getCString(), password.getCString(), true) == 0) + { + authenticated = true; + } +diff -up pegasus/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp.orig pegasus/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp +--- pegasus/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp.orig 2015-03-31 15:16:39.848913028 +0200 ++++ pegasus/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp 2015-03-31 15:17:21.079089410 +0200 +@@ -431,6 +431,9 @@ void HTTPAuthenticatorDelegator::handleH + Tracer::LEVEL3, + "HTTPAuthenticatorDelegator - Authentication processing start"); + ++ // Let Authenticators know whether this user is Local or Remote: ++ httpMessage->authInfo->setRemoteUser( httpMessage->isFromRemoteHost ); ++ + // + // Handle authentication: + // diff --git a/pegasus-2.9.0-no-rpath.patch b/pegasus-2.9.0-no-rpath.patch new file mode 100644 index 0000000..6a98f30 --- /dev/null +++ b/pegasus-2.9.0-no-rpath.patch @@ -0,0 +1,62 @@ +diff -up pegasus/mak/program-unix.mak.orig pegasus/mak/program-unix.mak +--- pegasus/mak/program-unix.mak.orig 2012-10-08 12:19:55.965024675 +0200 ++++ pegasus/mak/program-unix.mak 2012-10-08 12:21:02.378355115 +0200 +@@ -28,19 +28,10 @@ + #////////////////////////////////////////////////////////////////////////// + INCLUDES = -I$(ROOT)/src $(EXTRA_INCLUDES) + +-ifndef LINK_RPATH +- LINK_RPATH = -Xlinker -rpath +-endif +- + LINK_DEST_LIB = -Xlinker $(PEGASUS_DEST_LIB_DIR) + + LINK_LIB_DIR = -Xlinker $(LIB_DIR) + +-ifndef LINK_RPATH_LINK +- LINK_RPATH_LINK = -Xlinker -rpath-link +-endif +- +- + TMP_OBJECTS = $(foreach i,$(SOURCES),$(OBJ_DIR)/$i) + + S_OBJECTS = $(TMP_OBJECTS:.s=.o) +@@ -52,15 +43,9 @@ FULL_PROGRAM=$(BIN_DIR)/$(PROGRAM)$(EXE) + EXE_OUTPUT = $(EXE_OUT) $(FULL_PROGRAM) + + ifdef PEGASUS_PLATFORM_LINUX_GENERIC_GNU +- ifdef PEGASUS_USE_RELEASE_DIRS +- EXTRA_LINK_FLAGS += $(LINK_RPATH) $(LINK_DEST_LIB) $(LINK_RPATH_LINK) $(LINK_LIB_DIR) +- else +- EXTRA_LINK_FLAGS += $(LINK_RPATH) $(LINK_LIB_DIR) +- endif +- + ifeq ($(HAS_ICU_DEPENDENCY),true) + ifdef ICU_INSTALL +- EXTRA_LINK_FLAGS += $(LINK_RPATH) -Xlinker ${ICU_INSTALL}/lib ++ EXTRA_LINK_FLAGS += -Xlinker ${ICU_INSTALL}/lib + endif + endif + endif +diff -up pegasus/mak/shared-library-unix.mak.orig pegasus/mak/shared-library-unix.mak +--- pegasus/mak/shared-library-unix.mak.orig 2012-10-08 12:21:15.279419276 +0200 ++++ pegasus/mak/shared-library-unix.mak 2012-10-08 12:22:32.715804612 +0200 +@@ -98,15 +98,14 @@ ifeq ($(COMPILER),gnu) + ifneq ($(OS),darwin) + ifdef PEGASUS_USE_RELEASE_DIRS + LINK_COMMAND = $(CXX) -shared $(LINK_MACHINE_OPTIONS) +- LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX) -Xlinker -rpath \ +- -Xlinker $(PEGASUS_DEST_LIB_DIR) $(EXTRA_LINK_ARGUMENTS) ++ LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX) $(EXTRA_LINK_ARGUMENTS) + else + LINK_COMMAND = $(CXX) -shared $(LINK_MACHINE_OPTIONS) +- LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX) -Xlinker -rpath -Xlinker $(LIB_DIR) $(EXTRA_LINK_ARGUMENTS) ++ LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX) $(EXTRA_LINK_ARGUMENTS) + endif + else + LINK_COMMAND = $(CXX) -dynamiclib +- LINK_ARGUMENTS = --helplib$(LIBRARY)$(LIB_SUFFIX) -ldl ++ LINK_ARGUMENTS = --helplib$(LIBRARY)$(LIB_SUFFIX) -ldl $(EXTRA_LINK_ARGUMENTS) + endif + ifeq ($(PEGASUS_PLATFORM), SOLARIS_SPARC_GNU) + LINK_ARGUMENTS = -Wl,-hlib$(LIBRARY)$(LIB_SUFFIX) -Xlinker -L$(LIB_DIR) $(EXTRA_LINK_ARGUMENTS) diff --git a/pegasus-2.9.0-redhat-config.patch b/pegasus-2.9.0-redhat-config.patch new file mode 100644 index 0000000..2829a32 --- /dev/null +++ b/pegasus-2.9.0-redhat-config.patch @@ -0,0 +1,38 @@ +diff -up pegasus/env_var_Linux.status.redhat-config pegasus/env_var_Linux.status +--- pegasus/env_var_Linux.status.redhat-config 2015-04-01 00:41:07.000000000 +0200 ++++ pegasus/env_var_Linux.status 2015-05-26 13:05:21.021110656 +0200 +@@ -25,18 +25,21 @@ PEGASUS_HAS_SSL=yes + PEGASUS_USE_SSL_RANDOMFILE=false + PEGASUS_NOASSERTS=yes + PEGASUS_PAM_AUTHENTICATION=true +-PEGASUS_USE_PAM_STANDALONE_PROC=true + PEGASUS_USE_RELEASE_CONFIG_OPTIONS=true + PEGASUS_USE_RELEASE_DIRS=true + PEGASUS_USE_SYSLOGS=true +-PEGASUS_CIM_SCHEMA=CIM241 ++PEGASUS_CIM_SCHEMA=CIM238 + PEGASUS_USE_NET_SNMP=true +-PEGASUS_ENABLE_PRIVILEGE_SEPARATION=true ++PEGASUS_ENABLE_PRIVILEGE_SEPARATION=false ++ ++PEGASUS_ENABLE_EXECQUERY=true ++PEGASUS_DEFAULT_ENABLE_OOP=true ++PEGASUS_INTEROP_NAMESPACE=root/interop + + PEGASUS_ENABLE_INTEROP_PROVIDER=true + PEGASUS_ENABLE_PROTOCOL_WSMAN=true + +-PEGASUS_ENABLE_SLP=false ++PEGASUS_ENABLE_SLP=true + ifeq ($(PEGASUS_ENABLE_SLP), true) + PEGASUS_SLP_REG_TIMEOUT=1090 + PEGASUS_USE_EXTERNAL_SLP=openslp +@@ -126,7 +129,7 @@ PEGASUS_INSTALL_LOG = $(PEGASUS_LOG_DIR) + + PEGASUS_CIMSERVER_START_FILE = $(PEGASUS_VARRUN_DIR)/cimserver.pid + PEGASUS_CIMSERVER_START_LOCK_FILE = $(PEGASUS_VARRUN_DIR)/cimserver_start.lock +-PEGASUS_LOCAL_DOMAIN_SOCKET_DIR = $(PEGASUS_VARRUN_DIR)/socket ++PEGASUS_LOCAL_DOMAIN_SOCKET_DIR = $(PEGASUS_VARRUN_DIR) + PEGASUS_LOCAL_DOMAIN_SOCKET_PATH = \ + $(PEGASUS_LOCAL_DOMAIN_SOCKET_DIR)/cimxml.socket + diff --git a/pegasus-2.9.0-sparc.patch b/pegasus-2.9.0-sparc.patch new file mode 100644 index 0000000..a5675b6 --- /dev/null +++ b/pegasus-2.9.0-sparc.patch @@ -0,0 +1,460 @@ +diff -up pegasus/mak/config-linux.mak.orig pegasus/mak/config-linux.mak +--- pegasus/mak/config-linux.mak.orig 2013-08-27 14:26:51.229234756 +0200 ++++ pegasus/mak/config-linux.mak 2013-08-27 14:27:23.467354043 +0200 +@@ -176,6 +176,9 @@ ifndef PEGASUS_ARCH_LIB + ifeq ($(PEGASUS_PLATFORM),LINUX_X86_64_CLANG) + PEGASUS_ARCH_LIB = lib64 + endif ++ ifeq ($(PEGASUS_PLATFORM),LINUX_SPARC64_GNU) ++ PEGASUS_ARCH_LIB = lib64 ++ endif + PEGASUS_ARCH_LIB = lib + endif + DEFINES += -DPEGASUS_ARCH_LIB=\"$(PEGASUS_ARCH_LIB)\" +diff -up pegasus/mak/platform_LINUX_SPARC64_GNU.mak.orig pegasus/mak/platform_LINUX_SPARC64_GNU.mak +--- pegasus/mak/platform_LINUX_SPARC64_GNU.mak.orig 2013-08-27 14:27:56.748477172 +0200 ++++ pegasus/mak/platform_LINUX_SPARC64_GNU.mak 2013-08-27 14:28:42.522646515 +0200 +@@ -0,0 +1,36 @@ ++#//%2006//////////////////////////////////////////////////////////////////////// ++#// ++#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development ++#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. ++#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation, The Open Group. ++#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; Symantec Corporation; The Open Group. ++#// ++#// 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 = sparc +diff -up pegasus/mak/platform_LINUX_SPARCV9_GNU.mak.orig pegasus/mak/platform_LINUX_SPARCV9_GNU.mak +--- pegasus/mak/platform_LINUX_SPARCV9_GNU.mak.orig 2013-08-27 14:29:02.011718625 +0200 ++++ pegasus/mak/platform_LINUX_SPARCV9_GNU.mak 2013-08-27 14:29:28.282815781 +0200 +@@ -0,0 +1,36 @@ ++#//%2006//////////////////////////////////////////////////////////////////////// ++#// ++#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development ++#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. ++#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation, The Open Group. ++#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; Symantec Corporation; The Open Group. ++#// ++#// 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 = sparc +diff -up pegasus/mak/SDKMakefile.orig pegasus/mak/SDKMakefile +--- pegasus/mak/SDKMakefile.orig 2013-08-27 14:29:46.108881720 +0200 ++++ pegasus/mak/SDKMakefile 2013-08-27 14:32:18.170444052 +0200 +@@ -510,6 +510,18 @@ ifeq ($(RUNTIME_PLATFORM_TEST_NEEDED), t + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak + @$(ECHO-E) " endif" \ + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " ifeq (\044(shell uname -i),sparc)" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " PEGASUS_PLATFORM = LINUX_SPARCV9_GNU" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " endif" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " ifeq (\044(shell uname -i),sparc64)" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " PEGASUS_PLATFORM = LINUX_SPARC64_GNU" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " endif" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak + else + $(error This SDK has been defined to include the following \ + platforms: $(PACKAGED_PLATFORM_FILES). \ +@@ -594,6 +606,18 @@ ifeq ($(RUNTIME_PLATFORM_TEST_NEEDED), t + @$(ECHO-E) "endif" \ + >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak + ++ @$(ECHO-E) "ifeq (\044(PEGASUS_PLATFORM),LINUX_SPARCV9_GNU)" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " PEGASUS_ARCH_LIB = lib" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) "endif" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) "ifeq (\044(PEGASUS_PLATFORM),LINUX_SPARC64_GNU)" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) " PEGASUS_ARCH_LIB = lib64" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak ++ @$(ECHO-E) "endif" \ ++ >> $(PEGASUS_STAGING_DIR)$(PEGASUS_SAMPLES_DIR)/mak/config.mak + else + $(error This SDK has been defined to include the following \ + platforms: $(PACKAGED_PLATFORM_FILES). \ +diff -up pegasus/src/Pegasus/Common/Config.h.orig pegasus/src/Pegasus/Common/Config.h +--- pegasus/src/Pegasus/Common/Config.h.orig 2013-08-27 14:32:34.763505395 +0200 ++++ pegasus/src/Pegasus/Common/Config.h 2013-08-27 14:33:05.402618625 +0200 +@@ -82,6 +82,10 @@ + # include + #elif defined (PEGASUS_PLATFORM_LINUX_PPC_E500_GNU) + # include ++#elif defined (PEGASUS_PLATFORM_LINUX_SPARCV9_GNU) ++# include ++#elif defined (PEGASUS_PLATFORM_LINUX_SPARC64_GNU) ++# include + #elif defined (PEGASUS_PLATFORM_LINUX_ZSERIES_GNU) + # include + #elif defined (PEGASUS_PLATFORM_LINUX_ZSERIES64_GNU) +diff -up pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h.orig pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h +--- pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h.orig 2013-08-27 14:33:28.186702833 +0200 ++++ pegasus/src/Pegasus/Common/Platform_LINUX_SPARC64_GNU.h 2013-08-27 14:34:45.833989895 +0200 +@@ -0,0 +1,93 @@ ++/* ++//%2006//////////////////////////////////////////////////////////////////////// ++// ++// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development ++// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. ++// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; ++// IBM Corp.; EMC Corporation, The Open Group. ++// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; ++// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. ++// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++// EMC Corporation; VERITAS Software Corporation; The Open Group. ++// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++// EMC Corporation; Symantec Corporation; The Open Group. ++// ++// 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. ++// ++//============================================================================== ++// ++//%///////////////////////////////////////////////////////////////////////////// ++*/ ++ ++#ifndef Pegasus_Platform_LINUX_SPARC64_GNU_h ++#define Pegasus_Platform_LINUX_SPARC64_GNU_h ++ ++#include ++ ++#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 ++#include ++#include ++#include /* For MAXHOSTNAMELEN */ ++#include /* _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 ++ ++/* getifaddrs() avilable in gcc version >= 3.4 */ ++#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)) ++# define PEGASUS_HAS_GETIFADDRS ++#endif ++ ++#endif /* Pegasus_Platform_LINUX_SPARC64_GNU_h */ +diff -up pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h.orig pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h +--- pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h.orig 2013-08-27 14:35:15.787100560 +0200 ++++ pegasus/src/Pegasus/Common/Platform_LINUX_SPARCV9_GNU.h 2013-08-27 14:36:22.937348657 +0200 +@@ -0,0 +1,93 @@ ++/* ++//%2006//////////////////////////////////////////////////////////////////////// ++// ++// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development ++// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. ++// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; ++// IBM Corp.; EMC Corporation, The Open Group. ++// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; ++// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. ++// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++// EMC Corporation; VERITAS Software Corporation; The Open Group. ++// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++// EMC Corporation; Symantec Corporation; The Open Group. ++// ++// 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. ++// ++//============================================================================== ++// ++//%///////////////////////////////////////////////////////////////////////////// ++*/ ++ ++#ifndef Pegasus_Platform_LINUX_SPARCV9_GNU_h ++#define Pegasus_Platform_LINUX_SPARCV9_GNU_h ++ ++#include ++ ++#define PEGASUS_OS_TYPE_UNIX ++ ++#ifndef PEGASUS_PLATFORM_LINUX_GENERIC_GNU ++#define PEGASUS_PLATFORM_LINUX_GENERIC_GNU ++#endif ++ ++#define PEGASUS_OS_LINUX ++ ++#define PEGASUS_ARCHITECTURE_SPARC ++ ++#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 ++#include ++#include ++#include /* For MAXHOSTNAMELEN */ ++#include /* _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 ++ ++/* getifaddrs() avilable in gcc version >= 3.4 */ ++#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)) ++# define PEGASUS_HAS_GETIFADDRS ++#endif ++ ++#endif /* Pegasus_Platform_LINUX_SPARCV9_GNU_h */ +diff -up pegasus/src/SDK/samples/mak/LINUX_SPARC64_GNU.mak.orig pegasus/src/SDK/samples/mak/LINUX_SPARC64_GNU.mak +--- pegasus/src/SDK/samples/mak/LINUX_SPARC64_GNU.mak.orig 2013-08-27 14:37:02.458494760 +0200 ++++ pegasus/src/SDK/samples/mak/LINUX_SPARC64_GNU.mak 2013-08-27 14:37:36.121619044 +0200 +@@ -0,0 +1,55 @@ ++#//%2006//////////////////////////////////////////////////////////////////////// ++#// ++#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development ++#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. ++#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation, The Open Group. ++#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; Symantec Corporation; The Open Group. ++#// ++#// 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. ++#// ++#//============================================================================== ++ ++ECHO = echo ++MKDIRHIER = mkdir -p ++RM = rm -f ++TOUCH = touch ++ ++COMPILE_CXX_COMMAND = g++ ++COMPILE_C_COMMAND = gcc ++LIBRARY_LINK_COMMAND = $(COMPILE_CXX_COMMAND) -shared ++PROGRAM_LINK_COMMAND = $(COMPILE_CXX_COMMAND) ++ ++SYS_LIBS = -ldl -lpthread -lcrypt ++ ++OBJ_SUFFIX=.o ++ ++DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) ++PROGRAM_COMPILE_OPTIONS = -O2 -W -Wall -Wno-unused -D_GNU_SOURCE \ ++ -DTHREAD_SAFE -D_REENTRANT -fPIC ++LIBRARY_COMPILE_OPTIONS = $(PROGRAM_COMPILE_OPTIONS) ++ ++PROGRAM_LINK_OPTIONS = -Xlinker -rpath -Xlinker $(PEGASUS_DEST_LIB_DIR) ++LIBRARY_LINK_OPTIONS = $(PROGRAM_LINK_OPTIONS) ++LINK_OUT = -o ++SYM_LINK_LIB = $(PEGASUS_PROVIDER_LIB_DIR)/lib$(LIBRARY) ++PLATFORM_LIB_SUFFIX = so +diff -up pegasus/src/SDK/samples/mak/LINUX_SPARCV9_GNU.mak.orig pegasus/src/SDK/samples/mak/LINUX_SPARCV9_GNU.mak +--- pegasus/src/SDK/samples/mak/LINUX_SPARCV9_GNU.mak.orig 2013-08-27 14:38:00.233708183 +0200 ++++ pegasus/src/SDK/samples/mak/LINUX_SPARCV9_GNU.mak 2013-08-27 14:38:37.113844321 +0200 +@@ -0,0 +1,55 @@ ++#//%2006//////////////////////////////////////////////////////////////////////// ++#// ++#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development ++#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. ++#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation, The Open Group. ++#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; ++#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; VERITAS Software Corporation; The Open Group. ++#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; ++#// EMC Corporation; Symantec Corporation; The Open Group. ++#// ++#// 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. ++#// ++#//============================================================================== ++ ++ECHO = echo ++MKDIRHIER = mkdir -p ++RM = rm -f ++TOUCH = touch ++ ++COMPILE_CXX_COMMAND = g++ ++COMPILE_C_COMMAND = gcc ++LIBRARY_LINK_COMMAND = $(COMPILE_CXX_COMMAND) -shared ++PROGRAM_LINK_COMMAND = $(COMPILE_CXX_COMMAND) ++ ++SYS_LIBS = -ldl -lpthread -lcrypt ++ ++OBJ_SUFFIX=.o ++ ++DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) ++PROGRAM_COMPILE_OPTIONS = -O2 -W -Wall -Wno-unused -D_GNU_SOURCE \ ++ -DTHREAD_SAFE -D_REENTRANT -fPIC ++LIBRARY_COMPILE_OPTIONS = $(PROGRAM_COMPILE_OPTIONS) ++ ++PROGRAM_LINK_OPTIONS = -Xlinker -rpath -Xlinker $(PEGASUS_DEST_LIB_DIR) ++LIBRARY_LINK_OPTIONS = $(PROGRAM_LINK_OPTIONS) ++LINK_OUT = -o ++SYM_LINK_LIB = $(PEGASUS_PROVIDER_LIB_DIR)/lib$(LIBRARY) ++PLATFORM_LIB_SUFFIX = so diff --git a/pegasus-2.9.1-getpagesize.patch b/pegasus-2.9.1-getpagesize.patch new file mode 100644 index 0000000..00c8279 --- /dev/null +++ b/pegasus-2.9.1-getpagesize.patch @@ -0,0 +1,66 @@ +diff -up pegasus/src/Providers/ManagedSystem/Process/Process_Linux.cpp_old pegasus/src/Providers/ManagedSystem/Process/Process_Linux.cpp +--- pegasus/src/Providers/ManagedSystem/Process/Process_Linux.cpp_old 2010-01-14 15:06:36.757941652 +0100 ++++ pegasus/src/Providers/ManagedSystem/Process/Process_Linux.cpp 2010-01-14 15:08:12.113962655 +0100 +@@ -539,7 +539,7 @@ NOTES : + */ + Boolean Process::getRealText(Uint64& i64) const + { +- i64 = pInfo.pst_tsize * getpagesize() / 1024; ++ i64 = pInfo.pst_tsize * sysconf(_SC_PAGESIZE) / 1024; + return true; + } + +@@ -555,7 +555,7 @@ NOTES : + */ + Boolean Process::getRealData(Uint64& i64) const + { +- i64 = pInfo.pst_dsize * getpagesize() / 1024; ++ i64 = pInfo.pst_dsize * sysconf(_SC_PAGESIZE) / 1024; + return true; + } + +@@ -603,7 +603,7 @@ NOTES : + */ + Boolean Process::getVirtualData(Uint64& i64) const + { +- i64 = pInfo.pst_vdsize * getpagesize() / 1024; ++ i64 = pInfo.pst_vdsize * sysconf(_SC_PAGESIZE) / 1024; + return true; + } + +@@ -619,7 +619,7 @@ NOTES : + */ + Boolean Process::getVirtualStack(Uint64& i64) const + { +- i64 = pInfo.pst_vssize * getpagesize() / 1024; ++ i64 = pInfo.pst_vssize * sysconf(_SC_PAGESIZE) / 1024; + return true; + } + +@@ -635,7 +635,7 @@ NOTES : + */ + Boolean Process::getVirtualMemoryMappedFileSize(Uint64& i64) const + { +- i64 = pInfo.pst_vmmsize * getpagesize() / 1024; ++ i64 = pInfo.pst_vmmsize * sysconf(_SC_PAGESIZE) / 1024; + return true; + } + +@@ -651,7 +651,7 @@ NOTES : + */ + Boolean Process::getVirtualSharedMemory(Uint64& i64) const + { +- i64 = pInfo.pst_vshmsize * getpagesize() / 1024; ++ i64 = pInfo.pst_vshmsize * sysconf(_SC_PAGESIZE) / 1024; + return true; + } + +@@ -721,7 +721,7 @@ Boolean Process::getRealSpace(Uint64& i6 + i64 = (pInfo.pst_dsize + // real data + pInfo.pst_tsize) // real text may need to figure out how to get + // realStackSize +- * getpagesize() / 1024; ++ * sysconf(_SC_PAGESIZE) / 1024; + return true; + } + diff --git a/pegasus_arch_alternatives b/pegasus_arch_alternatives new file mode 100755 index 0000000..89e0168 --- /dev/null +++ b/pegasus_arch_alternatives @@ -0,0 +1,158 @@ +#!/bin/bash +# +# Script to manage tog-pegasus alternatives for multi-lib platforms +# +# Jason Vas Dias, 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; diff --git a/pegasus_rpm_build_env.sh b/pegasus_rpm_build_env.sh new file mode 100644 index 0000000..57af0d9 --- /dev/null +++ b/pegasus_rpm_build_env.sh @@ -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; diff --git a/repupgrade.1.gz b/repupgrade.1.gz new file mode 100644 index 0000000000000000000000000000000000000000..dece1e341ea24a5287a3459ace479ad85fa732e2 GIT binary patch literal 880 zcmV-$1CRV4iwFoy#rjnM19D|>b#P~LVPs`4F#xSqO>g2b5WV|Xj5tHu?y<*oB4q(oP+Q@&*?~|ochAOL#T``K!U|E5hj4;R@f!=+3Ri`~ zKH>~ZESW&+fJ>{HMQ6i7wzCfFDX$UUa0iXi4H_3pe-+Z98Nw4+g{1a`vW}~qx~HD8 zZrqMpLGS$>!onIA8tw>Cu~WPjIhS%5JM;zf))-U{YzPAKz=S<$GTKI~FjCvDY;Hv3 z!fd#~fEj9Ch*I<$Jy^;Bl@U-HO+;(3L@GpZlep6C$Mj{ErP+Wj%lqS2m*ot|upDXs zL<>01y5UqOoGE`sV?8}%A7rZh)1UZEZzvlweB``2aqiaU{R8O7arQ7zXN&Y@8tJ&8 zwp%BppdD?6l+f`CKW9}KNRLD_O`Hk^hwgj{lKd+CPo-V)Pj-lk^_Ge0te zXyX@i#^V5VMY|73i@nzwg3w=Ddc!L1@17PKgH>f@}FY@U9THk$gw# z2@>mj(;;7JLzPJYpXQGejk4k0L>Wq~iLt}IsIOip&xHHEMeCrXJO^PPl?GjquPya@ zO{Hm}8N5VNv*aF*T<~{;UMmuD)MTlp)LWlWNB3Kn%rllOX7J_OhZ0#?)?n_J5kgp! z&S7vibx+X&Bz~k9b`r>4Xo^?b(L#l#4lm8splgl7B5YdGZI_1$(TU@4s1lDWf>M`2 zoi6zt)P>Xk465?t>SV|sBS+$xb6wZr#-NjZ?q1-g3+yC$8cQ_D&}@2_zG~|g8j7Ef zqjblw=>oFF-QrsorTe|23;T?Gm%G~<;YeWqp0$p&YXYSYo*OP(gq!{x5`e`CbAnI2 zJoi2a7Ww|JS=Q#HSfb+Wk={D<4IBFs-gxL_{CYQ;J&!{V-#SUf`6&WP-w|D2_;yL1 zcUmVNz*VJdymF+NtH$8wXa9qy|M|$B1`~;T;YY8*E$e@sNBWa0Fj8aC3c literal 0 HcmV?d00001 diff --git a/rpm_build_env b/rpm_build_env new file mode 100644 index 0000000..d825b29 --- /dev/null +++ b/rpm_build_env @@ -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}); diff --git a/snmptrapd.conf b/snmptrapd.conf new file mode 100644 index 0000000..aad3e57 --- /dev/null +++ b/snmptrapd.conf @@ -0,0 +1,13 @@ +# Example configuration file for snmptrapd +# +# No traps are handled by default, you must edit this file! +# + +# SNMPv3 +createUser -e 0x80001f88808a67e858ee38ec4c sahana MD5 setup_passphrase DES setup_passphrase +authUser log,execute,net sahana + +# SNMPv2 +authCommunity log,execute,net public + + diff --git a/sources b/sources new file mode 100644 index 0000000..3673bb9 --- /dev/null +++ b/sources @@ -0,0 +1,2 @@ +6e02fe14dd36b2b761d69e19a6fab219 pegasus-2.14.1.tar.gz +e5cad2e960f80dda4390bf422dd7f164 cim_schema_2.38.0Experimental-MOFs.zip diff --git a/tog-pegasus.service b/tog-pegasus.service new file mode 100644 index 0000000..50df564 --- /dev/null +++ b/tog-pegasus.service @@ -0,0 +1,12 @@ +[Unit] +Description=OpenPegasus CIM Server +After=syslog.target slpd.service + +[Service] +Type=forking +ExecStartPre=/usr/share/Pegasus/scripts/generate-certs +ExecStart=/usr/sbin/cimserver +PIDFile=/var/run/tog-pegasus/cimserver.pid + +[Install] +WantedBy=multi-user.target diff --git a/tog-pegasus.spec b/tog-pegasus.spec new file mode 100644 index 0000000..2a0200d --- /dev/null +++ b/tog-pegasus.spec @@ -0,0 +1,1163 @@ +%{?!PEGASUS_BUILD_TEST_RPM: %global PEGASUS_BUILD_TEST_RPM 1} +# do "rpmbuild --define 'PEGASUS_BUILD_TEST_RPM 1'" to build test RPM. + +%global srcname pegasus +%global major_ver 2.14 +%global pegasus_gid 65 +%global pegasus_uid 66 + +Name: tog-pegasus +Version: %{major_ver}.1 +Release: 57%{?dist} +Epoch: 2 +Summary: OpenPegasus WBEM Services for Linux + +License: MIT +URL: http://www.openpegasus.org +Source0: https://collaboration.opengroup.org/pegasus/documents/27211/pegasus-%{version}.tar.gz +# 1: Description of security enhacements +Source1: README.RedHat.Security +# 3: Description of SSL settings +Source3: README.RedHat.SSL +# 4: /etc/tmpfiles.d configuration file +Source4: tog-pegasus.tmpfiles +# 5: systemd service file +Source5: tog-pegasus.service +# 6: This file controls access to the Pegasus services by users with the PAM pam_access module +Source6: access.conf +# 7: Simple wrapper for Pegasus's cimprovagt - because of confining providers in SELinux +Source7: cimprovagt-wrapper.sh +# 8: Example wrapper confining Operating System Provider from sblim-cmpi-base package +Source8: cmpiOSBase_OperatingSystemProvider-cimprovagt.example +# 9: DMTF CIM schema +Source9: cim_schema_2.38.0Experimental-MOFs.zip +# 10: Fedora/RHEL script for adding self-signed certificates to the local CA +# trust store +Source10: generate-certs +# 11: Configuration file for snmp tests in -test rpm +Source11: snmptrapd.conf +# 12: repupgrade man page based on pegasus/src/Clients/repupgrade/doc/repupgrade.html +Source12: repupgrade.1.gz + +# 1: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5011 +# Removing insecure -rpath +Patch1: pegasus-2.9.0-no-rpath.patch +# 2: Adding -fPIE +Patch2: pegasus-2.7.0-PIE.patch +# 3: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5016 +# Configuration variables +Patch3: pegasus-2.9.0-redhat-config.patch +# 4: don't see how http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5099 fixed it +# Changing provider dir to the directory we use +Patch4: pegasus-2.9.0-cmpi-provider-lib.patch +# 5: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5010 +# We distinguish between local and remote user and behave adequately (will be upstream once) +Patch5: pegasus-2.9.0-local-or-remote-auth.patch +# 6: http://cvs.rdg.opengroup.org/bugzilla/show_bug.cgi?id=5012 +# Modifies pam rules to use access cofiguration file and local/remote differences +Patch6: pegasus-2.5.1-pam-wbem.patch +# 12: Adds snmp tests to the -test rpm, configures snmptrapd +Patch12: pegasus-2.7.0-snmp-tests.patch +# 13: Changes to make package compile on sparc +Patch13: pegasus-2.9.0-sparc.patch +# 16: Fixes "getpagesize" build error +Patch16: pegasus-2.9.1-getpagesize.patch +# 19: Don't strip binaries, add -g flag +Patch19: pegasus-2.10.0-dont-strip.patch +# 20: use posix locks on sparc arches +Patch20: pegasus-2.10.0-sparc-posix-lock.patch +# 22: Fix CMPI enumGetNext function to change CMPI Data state from default CMPI_nullValue +# to CMPI_goodValue when it finds and returns next instance correctly +Patch22: pegasus-2.12.0-null_value.patch +# 24: bz#883030, getPropertyAt() returns Null instead of empty array +Patch24: pegasus-2.12.0-empty_arrays.patch +# 25: allow experimental schema registration with cimmofl during build +Patch25: pegasus-2.12.0-cimmofl-allow-experimental.patch +# 26: use external schema and add missing includes there +Patch26: pegasus-2.12.0-schema-version-and-includes.patch +# 29: bz#1049314, allow unprivileged users to subscribe to indications by default +Patch29: pegasus-2.13.0-enable-subscriptions-for-nonprivileged-users.patch +# 33: fixes build with gcc5 +Patch33: pegasus-2.13.0-gcc5-build.patch +# 34: fixes various build problemss +Patch34: pegasus-2.14.1-build-fixes.patch +# 35: add missing ssl.h include +Patch35: pegasus-2.14.1-ssl-include.patch +# 36: fixes sending of SNMPv3 traps in cimserver +Patch36: pegasus-2.14.1-snmpv3-trap.patch +# 37: fixes setupSDK in -devel +Patch37: pegasus-2.14.1-fix-setup-sdk.patch +# 38: cimconfig man page fixes +Patch38: pegasus-2.14.1-cimconfig-man-page-fixes.patch +# 39: fixes setupSDK in -devel for ppc64le +Patch39: pegasus-2.14.1-fix-setup-sdk-ppc64le.patch +# 40: removes Beaker conflicting env variable +Patch40: pegasus-2.14.1-tesid.patch +# 41: moves SSL certificates to /etc/pki/Pegasus +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: 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) +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 + +BuildRequires: procps, libstdc++, pam-devel +BuildRequires: openssl, openssl-devel +BuildRequires: bash, sed, grep, coreutils, procps, gcc, gcc-c++ +BuildRequires: libstdc++, make, pam-devel +BuildRequires: openssl-devel +BuildRequires: net-snmp-devel, openslp-devel +BuildRequires: systemd-units +Requires: net-snmp-libs +Requires: %{name}-libs = %{epoch}:%{version}-%{release} +Requires: openssl +Requires: ca-certificates +Provides: cim-server = 1 +Requires(post): /sbin/ldconfig +Requires(post): /sbin/restorecon + +%description +OpenPegasus WBEM Services for Linux enables management solutions that deliver +increased control of enterprise resources. WBEM is a platform and resource +independent DMTF standard that defines a common information model and +communication protocol for monitoring and controlling resources from diverse +sources. + +%package devel +Summary: The OpenPegasus Software Development Kit +Requires: tog-pegasus >= %{version}-%{release} +Obsoletes: tog-pegasus-sdk + +%description devel +The OpenPegasus WBEM Services for Linux SDK is the developer's kit for the +OpenPegasus WBEM Services for Linux release. It provides Linux C++ developers +with the WBEM files required to build WBEM Clients and Providers. It also +supports C provider developers via the CMPI interface. + +%package libs +Summary: The OpenPegasus Libraries +Conflicts: libcmpiCppImpl0 +Requires(pre): /usr/sbin/useradd +Requires(pre): /usr/sbin/groupadd +Requires(post): /sbin/ldconfig + +%description libs +The OpenPegasus libraries. + +%if %{PEGASUS_BUILD_TEST_RPM} +%package test +Summary: The OpenPegasus Tests +Requires: tog-pegasus >= %{version}-%{release}, make +Requires: %{name}-libs = %{epoch}:%{version}-%{release} + +%description test +The OpenPegasus WBEM tests for the OpenPegasus %{version} Linux rpm. +%endif + + +%ifarch ia64 +%global PEGASUS_HARDWARE_PLATFORM LINUX_IA64_GNU +%endif +%ifarch x86_64 +%global PEGASUS_HARDWARE_PLATFORM LINUX_X86_64_GNU +%endif +%ifarch ppc +%global PEGASUS_HARDWARE_PLATFORM LINUX_PPC_GNU +%endif +%ifarch ppc64 +%global PEGASUS_HARDWARE_PLATFORM LINUX_PPC64_GNU +%endif +%ifarch ppc64le +%global PEGASUS_HARDWARE_PLATFORM LINUX_PPC64_GNU +%endif +%ifarch s390 +%global PEGASUS_HARDWARE_PLATFORM LINUX_ZSERIES_GNU +%endif +%ifarch s390x +%global PEGASUS_HARDWARE_PLATFORM LINUX_ZSERIES64_GNU +%endif +%ifarch sparcv9 +%global PEGASUS_HARDWARE_PLATFORM LINUX_SPARCV9_GNU +%endif +%ifarch sparc64 +%global PEGASUS_HARDWARE_PLATFORM LINUX_SPARC64_GNU +%endif +%ifarch %{ix86} +%global PEGASUS_HARDWARE_PLATFORM LINUX_IX86_GNU +%endif +%ifarch %{arm} +%global PEGASUS_HARDWARE_PLATFORM LINUX_XSCALE_GNU +%endif +%ifarch aarch64 +%global PEGASUS_HARDWARE_PLATFORM LINUX_AARCH64_GNU +%endif + +%global PEGASUS_ARCH_LIB %{_lib} +%global OPENSSL_HOME /usr +%global OPENSSL_BIN /usr/bin +%global PEGASUS_PEM_DIR /etc/pki/Pegasus +%global PEGASUS_SSL_CERT_FILE server.pem +%global PEGASUS_SSL_KEY_FILE file.pem +%global PEGASUS_SSL_TRUSTSTORE client.pem +%global PAM_CONFIG_DIR /etc/pam.d +%global PEGASUS_CONFIG_DIR /etc/Pegasus +%global PEGASUS_VARDATA_DIR /var/lib/Pegasus +%global PEGASUS_VARDATA_CACHE_DIR /var/lib/Pegasus/cache +%global PEGASUS_LOCAL_DOMAIN_SOCKET_PATH /var/run/tog-pegasus/socket/cimxml.socket +%global PEGASUS_CIMSERVER_START_FILE /var/run/tog-pegasus/cimserver.pid +%global PEGASUS_TRACE_FILE_PATH /var/lib/Pegasus/cache/trace/cimserver.trc +%global PEGASUS_CIMSERVER_START_LOCK_FILE /var/run/tog-pegasus/cimserver_start.lock +%global PEGASUS_REPOSITORY_DIR /var/lib/Pegasus/repository +%global PEGASUS_PREV_REPOSITORY_DIR_NAME prev_repository +%global PEGASUS_REPOSITORY_PARENT_DIR /var/lib/Pegasus +%global PEGASUS_PREV_REPOSITORY_DIR /var/lib/PegasusXXX/prev_repository +%global PEGASUS_SBIN_DIR /usr/sbin +%global PEGASUS_DOC_DIR /usr/share/doc/%{name}-%{version} + +%global PEGASUS_RPM_ROOT $RPM_BUILD_DIR/%{srcname} +%global PEGASUS_RPM_HOME %PEGASUS_RPM_ROOT/build +%global PEGASUS_INSTALL_LOG /var/lib/Pegasus/log/install.log + + +%prep +%setup -q -n %{srcname} +# convert DMTF schema for Pegasus +export PEGASUS_ROOT=%PEGASUS_RPM_ROOT +yes | mak/CreateDmtfSchema 238 %{SOURCE9} cim_schema_2.38.0 +%patch1 -p1 -b .no-rpath +%patch2 -p1 -b .PIE +%patch3 -p1 -b .redhat-config +%patch4 -p1 -b .cmpi-provider-lib +%patch6 -p1 -b .pam-wbem +%patch12 -p1 -b .snmp-tests +%patch5 -p1 -b .local-or-remote-auth +%patch13 -p1 -b .sparc +%patch16 -p1 -b .getpagesize +%patch19 -p1 -b .dont-strip +%patch20 -p1 -b .sparc-locks +%patch22 -p1 -b .null_value +%patch24 -p1 -b .empty_arrays +%patch25 -p1 -b .cimmofl-allow-experimental +%patch26 -p1 -b .schema-version-and-includes +%patch29 -p1 -b .enable-subscriptions-for-nonprivileged-users +%patch33 -p1 -b .gcc5-build +%patch34 -p1 -b .build-fixes +%patch35 -p1 -b .ssl-include +%patch36 -p1 -b .snmpv3-trap +%patch37 -p1 -b .fix-setup-sdk +%patch38 -p1 -b .cimconfig-man-page-fixes +%patch39 -p1 -b .fix-setup-sdk-ppc64le +%patch40 -p1 -b .testid +%patch41 -p1 -b .ssl-cert-path +%patch42 -p1 -b .openssl-1.1-fix +%patch43 -p1 -b .Wreserved-user-defined-literal-fix +%patch44 -p1 -b .crypto-policy-compliance +%patch45 -p1 -b .add-pegwsmserver-to-ldd-libs + + +%build +cp -fp %SOURCE1 doc +cp -fp %SOURCE3 doc +cp -fp %SOURCE6 rpm +cp -fp %SOURCE8 doc + +export PEGASUS_ROOT=%PEGASUS_RPM_ROOT +export PEGASUS_HOME=%PEGASUS_RPM_HOME +export PEGASUS_PLATFORM=%PEGASUS_HARDWARE_PLATFORM +export PEGASUS_ARCH_LIB=%PEGASUS_ARCH_LIB +export PEGASUS_ENVVAR_FILE=$PEGASUS_ROOT/env_var_Linux.status + +export OPENSSL_HOME=%OPENSSL_HOME +export OPENSSL_BIN=%OPENSSL_BIN +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 -std=c++14" +export PEGASUS_EXTRA_LINK_FLAGS="$RPM_OPT_FLAGS" +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_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 +# Create directory for SSL certificates +mkdir -p $RPM_BUILD_ROOT/etc/pki/Pegasus + +export PEGASUS_ROOT=%PEGASUS_RPM_ROOT +export PEGASUS_HOME=%PEGASUS_RPM_HOME +export PEGASUS_PLATFORM=%PEGASUS_HARDWARE_PLATFORM +export PEGASUS_ARCH_LIB=%PEGASUS_ARCH_LIB +export PEGASUS_ENVVAR_FILE=$PEGASUS_ROOT/env_var_Linux.status + +export OPENSSL_BIN=%OPENSSL_BIN +export LD_LIBRARY_PATH=$PEGASUS_HOME/lib +export PATH=$PEGASUS_HOME/bin:$PATH + +export PEGASUS_STAGING_DIR=$RPM_BUILD_ROOT +%if %{PEGASUS_BUILD_TEST_RPM} +make -f $PEGASUS_ROOT/Makefile.Release stage \ + PEGASUS_STAGING_DIR=$PEGASUS_STAGING_DIR \ + PEGASUS_BUILD_TEST_RPM=%{PEGASUS_BUILD_TEST_RPM} +%else +make -f $PEGASUS_ROOT/Makefile.Release stage \ + PEGASUS_STAGING_DIR=$PEGASUS_STAGING_DIR +%endif + +mkdir -p $RPM_BUILD_ROOT/%{_tmpfilesdir} +install -p -D -m 644 %{SOURCE4} $RPM_BUILD_ROOT/%{_tmpfilesdir}/tog-pegasus.conf + +# Install script to generate SSL certificates at startup +mkdir -p $RPM_BUILD_ROOT/usr/share/Pegasus/scripts +install -p -m 755 %{SOURCE10} $RPM_BUILD_ROOT/usr/share/Pegasus/scripts/generate-certs +# Remove unused ssl.cnf file +rm -f $RPM_BUILD_ROOT/etc/Pegasus/ssl.cnf +# Create certificate revocation list dir (see bz#1032046) +mkdir -p $RPM_BUILD_ROOT/etc/pki/Pegasus/crl + +# remove SysV initscript, install .service file +rm -f $RPM_BUILD_ROOT/etc/init.d/tog-pegasus +mkdir -p $RPM_BUILD_ROOT%{_unitdir} +install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_unitdir}/tog-pegasus.service +# cimserver_planned.conf is on the right place since 2.9.2 (update - not in 2.10.0) +#mv $RPM_BUILD_ROOT/var/lib/Pegasus/cimserver_planned.conf $RPM_BUILD_ROOT/etc/Pegasus/cimserver_planned.conf +mkdir -p $RPM_BUILD_ROOT/%{_docdir}/%{name} +mv $RPM_BUILD_ROOT/usr/share/doc/%{name}-%{major_ver}/* $RPM_BUILD_ROOT/%{_docdir}/%{name} +rm -rf $RPM_BUILD_ROOT/usr/share/doc/%{name}-%{major_ver} +# create symlink for libcmpiCppImpl +pushd $RPM_BUILD_ROOT/usr/%{_lib} +ln -s libcmpiCppImpl.so.1 libcmpiCppImpl.so +# and libpeglistener +ln -s libpeglistener.so.1 libpeglistener.so +popd +mkdir -p $RPM_BUILD_ROOT/%{_libexecdir}/pegasus +mv $RPM_BUILD_ROOT/%{_sbindir}/cimprovagt $RPM_BUILD_ROOT/%{_libexecdir}/pegasus +install -p -m 0755 %{SOURCE7} $RPM_BUILD_ROOT/%{_sbindir}/cimprovagt +# install Platform_LINUX_XSCALE_GNU.h because of lmiwbem on arm +install -m 644 src/Pegasus/Common/Platform_LINUX_XSCALE_GNU.h $RPM_BUILD_ROOT/%{_includedir}/Pegasus/Common +# install Linkage.h and CIMListener.h because of lmiwbem (CIMListener class) +mkdir -p $RPM_BUILD_ROOT/%{_includedir}/Pegasus/Listener +install -m 644 src/Pegasus/Listener/Linkage.h $RPM_BUILD_ROOT/%{_includedir}/Pegasus/Listener +install -m 644 src/Pegasus/Listener/CIMListener.h $RPM_BUILD_ROOT/%{_includedir}/Pegasus/Listener +install -m 644 src/Pegasus/Client/CIMEnumerationContext.h $RPM_BUILD_ROOT/%{_includedir}/Pegasus/Client +install -m 644 src/Pegasus/Common/UintArgs.h $RPM_BUILD_ROOT/%{_includedir}/Pegasus/Common + +# Install snptrapd.conf used for net-snmp tests +%if %{PEGASUS_BUILD_TEST_RPM} +install -p %{SOURCE11} $RPM_BUILD_ROOT/usr/share/Pegasus/test/snmptrapd.conf +%endif + +# Install missing mof file for makeSDK +install -p Schemas/CIM238/DMTF/Core/CIM_AbstractComponent.mof $RPM_BUILD_ROOT/usr/share/Pegasus/samples/Providers/Load/CIM238/DMTF/Core/ + +# install man page +mkdir -p ${RPM_BUILD_ROOT}/%{_mandir}/man1/ +cp %SOURCE12 ${RPM_BUILD_ROOT}/%{_mandir}/man1/ + +%check +# run unit tests +export LD_LIBRARY_PATH=$RPM_BUILD_ROOT/usr/%{_lib} +cd $RPM_BUILD_ROOT/usr/share/Pegasus/test +make prestarttests +# remove files created during the test +rm $RPM_BUILD_ROOT/usr/share/Pegasus/test/log.trace.0 +rm $RPM_BUILD_ROOT/usr/share/Pegasus/test/testtracer4.trace.0 + + +%files +%defattr(0640, root, pegasus, 0750) +%verify(not md5 size mtime mode group) /var/lib/Pegasus/repository +%defattr(0644, root, pegasus, 0755) +/usr/share/Pegasus/mof +%dir /usr/share/Pegasus +%defattr(0755, root, pegasus, 0750) +/usr/share/Pegasus/scripts +%defattr(0640, root, pegasus, 0750) +%dir /var/lib/Pegasus +/var/lib/Pegasus/cache +%dir /var/lib/Pegasus/log +%defattr(0640, root, pegasus, 0750) +%dir /etc/Pegasus +%dir /etc/pki/Pegasus +%{_tmpfilesdir}/tog-pegasus.conf +%defattr(0640, root, pegasus, 1750) +%ghost /var/run/tog-pegasus +%ghost %attr(0600, root, root) /var/run/tog-pegasus/cimserver.pid +%ghost %attr(0600, root, root) /var/run/tog-pegasus/cimserver_start.lock +%ghost %attr(0777 ,root, root) /var/run/tog-pegasus/cimxml.socket +%attr(0644, root, pegasus) %{_unitdir}/tog-pegasus.service +%defattr(0640, root, pegasus, 0750) +%ghost %attr(0644, root, root) %config(noreplace) /etc/Pegasus/cimserver_current.conf +%ghost %attr(0644, root, root) %config(noreplace) /etc/Pegasus/cimserver_planned.conf +%config(noreplace) /etc/Pegasus/access.conf +%config(noreplace) /etc/pam.d/wbem +%defattr(0444, root, root) +%ghost /etc/pki/Pegasus/client.pem +%ghost /etc/pki/Pegasus/server.pem +%defattr(0400, root, root) +%ghost /etc/pki/Pegasus/file.pem +%defattr(0644, root, root) +%ghost /etc/pki/Pegasus/ca.crt +%ghost /etc/pki/Pegasus/ca.srl +%ghost /etc/pki/Pegasus/client.srl +%defattr(0400, root, root) +%ghost /etc/Pegasus/ssl-ca.cnf +%ghost /etc/Pegasus/ssl-service.cnf +%defattr(0644, root, root) +%ghost /etc/pki/ca-trust/source/anchors/localhost-pegasus.pem +%ghost %attr(0640, root, pegasus) /etc/pki/Pegasus/cimserver_trust +%ghost %attr(0640, root, pegasus) /etc/pki/Pegasus/indication_trust +%dir %attr(0640, root, pegasus) /etc/pki/Pegasus/crl +%ghost %attr(0644, root, root) %verify(not md5 size mtime) /var/lib/Pegasus/log/install.log +%ghost %attr(0640, root, pegasus) %verify(not md5 size mtime) /var/lib/Pegasus/cache/trace/cimserver.trc +%defattr(0755, root, pegasus, 0755) +/usr/sbin/* +/usr/bin/* +%{_libexecdir}/pegasus/ +%defattr(0644, root, pegasus, 0755) +/usr/share/man/man8/* +/usr/share/man/man1/* +%doc doc/license.txt doc/Admin_Guide_Release.pdf doc/PegasusSSLGuidelines.htm doc/SecurityGuidelinesForDevelopers.html doc/README.RedHat.Security src/Clients/repupgrade/doc/repupgrade.html doc/README.RedHat.SSL doc/cmpiOSBase_OperatingSystemProvider-cimprovagt.example OpenPegasusNOTICE.txt + +%files devel +%defattr(0644,root,pegasus,0755) +/usr/share/Pegasus/samples +/usr/include/Pegasus +/usr/share/Pegasus/html + +%files libs +%defattr(0755, root, pegasus, 0755) +%{_libdir}/* +%exclude /usr/lib/debug +%exclude /usr/lib/systemd +%exclude %{_tmpfilesdir} + +%if %{PEGASUS_BUILD_TEST_RPM} +%files test +%defattr(0644,root,pegasus,0755) +%dir /usr/share/Pegasus/test +/usr/share/Pegasus/test/Makefile +%attr(0600, root, root) /usr/share/Pegasus/test/snmptrapd.conf +/usr/share/Pegasus/test/mak +%dir /usr/share/Pegasus/test/tmp +%ghost /usr/share/Pegasus/test/tmp/procIdFile +%ghost /usr/share/Pegasus/test/tmp/trapLogFile +%ghost /usr/share/Pegasus/test/tmp/IndicationStressTestLog +%ghost /usr/share/Pegasus/test/tmp/oldIndicationStressTestLog +%verify(not md5 size mtime) /var/lib/Pegasus/testrepository +%defattr(0750,root,pegasus,0755) +/usr/share/Pegasus/test/bin +/usr/share/Pegasus/test/%PEGASUS_ARCH_LIB +%endif + + +%pre +if [ $1 -gt 1 ]; then + if [ -d /var/lib/Pegasus/repository ]; then + if [ -d /var/lib/Pegasus/prev_repository ]; then + rm -rf /var/lib/Pegasus/prev_repository + fi; + cp -r /var/lib/Pegasus/repository /var/lib/Pegasus/prev_repository; + fi +fi +:; + +%post +install -d -m 1750 -o root -g pegasus /var/run/tog-pegasus +restorecon /var/run/tog-pegasus +/sbin/ldconfig; +%systemd_post tog-pegasus.service +if [ $1 -ge 1 ]; then + echo `date` >> /var/lib/Pegasus/log/install.log 2>&1 || :; + if [ $1 -gt 1 ]; then + if [ -d /var/lib/Pegasus/prev_repository ]; then + # The user's old repository was moved to /var/lib/Pegasus/prev_repository, which + # now must be upgraded to the new repository in /var/lib/Pegasus/repository: + /usr/sbin/repupgrade 2>> /var/lib/Pegasus/log/install.log || :; + fi; + /bin/systemctl try-restart tog-pegasus.service >/dev/null 2>&1 || :; + fi; +fi +:; + +%preun +%systemd_preun stop tog-pegasus.service +if [ $1 -eq 0 ]; then + # Package removal, not upgrade + rm -rf /var/run/tog-pegasus +fi +:; + +%postun +/sbin/ldconfig +%systemd_postun_with_restart tog-pegasus.service + +%preun devel +if [ $1 -eq 0 ] ; then + make --directory /usr/share/Pegasus/samples -s clean >/dev/null 2>&1 || :; +fi +:; + +%pre libs +if [ $1 -eq 1 ]; then +# first install: create the 'pegasus' user and group: + /usr/sbin/groupadd -g %{pegasus_gid} -f -r pegasus >/dev/null 2>&1 || :; + /usr/sbin/useradd -u %{pegasus_uid} -r -N -M -g pegasus -s /sbin/nologin -d /var/lib/Pegasus \ + -c "tog-pegasus OpenPegasus WBEM/CIM services" pegasus >/dev/null 2>&1 || :; +fi +:; + +%post libs +if [ $1 -eq 1 ]; then + # Create Symbolic Links for SDK Libraries + # + ln -sf libpegclient.so.1 /usr/%PEGASUS_ARCH_LIB/libpegclient.so + ln -sf libpegcommon.so.1 /usr/%PEGASUS_ARCH_LIB/libpegcommon.so + ln -sf libpegprovider.so.1 /usr/%PEGASUS_ARCH_LIB/libpegprovider.so + ln -sf libDefaultProviderManager.so.1 /usr/%PEGASUS_ARCH_LIB/libDefaultProviderManager.so + ln -sf libCIMxmlIndicationHandler.so.1 /usr/%PEGASUS_ARCH_LIB/libCIMxmlIndicationHandler.so + ln -sf libsnmpIndicationHandler.so.1 /usr/%PEGASUS_ARCH_LIB/libsnmpIndicationHandler.so + + # Create Symbolic Links for Packaged Provider Libraries + # + ln -sf libComputerSystemProvider.so.1 /usr/%PEGASUS_ARCH_LIB/Pegasus/providers/libComputerSystemProvider.so + ln -sf libOSProvider.so.1 /usr/%PEGASUS_ARCH_LIB/Pegasus/providers/libOSProvider.so + ln -sf libProcessProvider.so.1 /usr/%PEGASUS_ARCH_LIB/Pegasus/providers/libProcessProvider.so + + # Create Symbolic Links for Packaged Provider Managers + # + ln -sf libCMPIProviderManager.so.1 /usr/%PEGASUS_ARCH_LIB/Pegasus/providerManagers/libCMPIProviderManager.so + + # Change ownership of Symbolic Links to the 'pegasus' group + # + /bin/chgrp -h pegasus /usr/%{_lib}/libpegclient.so + /bin/chgrp -h pegasus /usr/%{_lib}/libpegcommon.so + /bin/chgrp -h pegasus /usr/%{_lib}/libpegprovider.so + /bin/chgrp -h pegasus /usr/%{_lib}/libDefaultProviderManager.so + /bin/chgrp -h pegasus /usr/%{_lib}/libCIMxmlIndicationHandler.so + /bin/chgrp -h pegasus /usr/%{_lib}/libsnmpIndicationHandler.so + /bin/chgrp -h pegasus /usr/%{_lib}/Pegasus/providers/libComputerSystemProvider.so + /bin/chgrp -h pegasus /usr/%{_lib}/Pegasus/providers/libOSProvider.so + /bin/chgrp -h pegasus /usr/%{_lib}/Pegasus/providers/libProcessProvider.so + /bin/chgrp -h pegasus /usr/%{_lib}/Pegasus/providerManagers/libCMPIProviderManager.so +fi +:; +/sbin/ldconfig + +%postun libs +/sbin/ldconfig + + +%changelog +* Thu Nov 26 2020 Vitezslav Crhonek - 2:2.14.1-57 +- Fix FTBFS +- Use make macros, patch by Tom Stellard + +* Thu Aug 27 2020 Josef Řídký - 2:2.14.1-56 +- Rebuilt for new net-snmp release + +* Wed Jul 29 2020 Fedora Release Engineering - 2:2.14.1-55 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Jeff Law - 2:2.14.1-54 +- Force C++14 as this code is not C++17 ready + +* Thu Jun 25 2020 Vitezslav Crhonek - 2:2.14.1-53 +- Comply with Fedora crypto policy + +* Wed Mar 25 2020 Tom Stellard - 2:2.14.1-52 +- Fix -Wreserved-user-defined-literal warnings + +* Thu Feb 27 2020 Vitezslav Crhonek - 2:2.14.1-51 +- Fix tmpfiles path + +* Fri Jan 31 2020 Fedora Release Engineering - 2:2.14.1-50 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 2:2.14.1-49 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 2:2.14.1-48 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jan 14 2019 Björn Esser - 2:2.14.1-47 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Wed Aug 01 2018 Vitezslav Crhonek - 2:2.14.1-46 +- Review and fix %%files section because of failing rpm -V + +* Tue Jul 24 2018 Adam Williamson - 2:2.14.1-45 +- Rebuild for new net-snmp + +* Sat Jul 14 2018 Fedora Release Engineering - 2:2.14.1-44 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Fedora Release Engineering - 2:2.14.1-43 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 20 2018 Björn Esser - 2:2.14.1-42 +- Rebuilt for switch to libxcrypt + +* Thu Aug 03 2017 Fedora Release Engineering - 2:2.14.1-41 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2:2.14.1-40 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Mar 01 2017 Vitezslav Crhonek - 2:2.14.1-39 +- Fix FTBFS because of openssl-1.1 + Resolves: #1424141 + +* Sat Feb 11 2017 Fedora Release Engineering - 2:2.14.1-38 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Aug 31 2016 Vitezslav Crhonek - 2:2.14.1-37 +- Release permissions for files %%{_libdir}/Pegasus, there's no reason + to hide them for others + +* Thu Mar 17 2016 Vitezslav Crhonek - 2:2.14.1-36 +- Move SSL certificates to more convenient place, update related scripts + and README.RedHat.SSL + Related: #1308809 + +* Fri Feb 05 2016 Fedora Release Engineering - 2:2.14.1-35 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Oct 12 2015 Vitezslav Crhonek - 2:2.14.1-34 +- Remove Beaker conflicting env variable from benchmark tests + +* Tue Oct 06 2015 Vitezslav Crhonek - 2:2.14.1-33 +- Fix setupSDK in -devel for ppc64le + +* Mon Sep 21 2015 Vitezslav Crhonek - 2:2.14.1-32 +- Add manpage for repupgrade, fixes in cimconfig manapage + +* Tue Sep 15 2015 Vitezslav Crhonek - 2:2.14.1-31 +- Add missing dependency for -test subpackage +- Fix enumerating instances of PG_SSLCertificateRevocationList returns error + Resolves: #1032046 + +* Mon Aug 31 2015 Vitezslav Crhonek - 2:2.14.1-30 +- Fix possible cleanup warning during package upgrade + +* Thu Aug 13 2015 Vitezslav Crhonek - 2:2.14.1-29 +- Require restorecon because of %%post + Resolves: #1253127 + +* Tue Jun 23 2015 Vitezslav Crhonek - 2:2.14.1-28 +- Add install CIMEnumerationContext.h and UintArgs.h to -devel because of lmiwbem + +* Fri Jun 19 2015 Fedora Release Engineering - 2:2.14.1-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu May 28 2015 Vitezslav Crhonek - 2:2.14.1-26 +- Fix setupSDK in -devel +- Use Experimental DMTF CIM schema version 2.38.0 + +* Tue May 26 2015 Vitezslav Crhonek - 2:2.14.1-25 +- Fix sending of SNMPv3 traps + +* Tue May 19 2015 Vitezslav Crhonek - 2:2.14.1-24 +- Add snmp tests to the -test rpm and enable them, configure snmptrapd + in test setup phase +- Add missing ssl.h include + +* Wed Apr 08 2015 Vitezslav Crhonek - 2:2.14.1-23 +- Update to upstream version 2.14.1 + +* Tue Feb 10 2015 Vitezslav Crhonek - 2:2.13.0-23 +- Fix tog-pegasus.service is marked world-inaccessible + Resolves: #1191026 +- Fix build fail with gcc5 + +* Mon Feb 02 2015 Vitezslav Crhonek - 2:2.13.0-22 +- Backup only latest repository when upgrading the package + Resolves: #1069620 + +* Mon Jan 26 2015 Vitezslav Crhonek - 2:2.13.0-21 +- Exclude accidentaly packed tmpfiles dir from -libs subpackage on i686 + Resolves: #1185133 + +* Mon Jan 19 2015 Vitezslav Crhonek - 2:2.13.0-20 +- Fix packaging of tmpfiles + +* Mon Sep 22 2014 Vitezslav Crhonek - 2:2.13.0-19 +- Fix missing space in generate-certs + +* Mon Sep 01 2014 Vitezslav Crhonek - 2:2.13.0-18 +- Increase security of generating SSL certificates + +* Mon Aug 18 2014 Fedora Release Engineering - 2:2.13.0-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Aug 12 2014 Vitezslav Crhonek - 2:2.13.0-16 +- Fix Pegasus service regenerates SSL certificates on every start + Resolves: #1126871 + +* Tue Aug 05 2014 Michal Minar - 2:2.13.0-15 +- Fixed wrong instances from CIMOM callback + Resolves: #1038013 + +* Tue Jul 01 2014 Vitezslav Crhonek - 2:2.13.0-14 +- Fix cmpi: CMGetKey() returns wrong data type for some data types + Resolves: #1111571 + +* Sun Jun 08 2014 Fedora Release Engineering - 2:2.13.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon May 12 2014 Vitezslav Crhonek - 2:2.13.0-12 +- Add symlink to libpeglistener.so.1 + +* Wed Apr 23 2014 Vitezslav Crhonek - 2:2.13.0-11 +- Add install Linkage.h and CIMListener.h to -devel because of lmiwbem + (CIMListener class) + +* Tue Mar 18 2014 Vitezslav Crhonek - 2:2.13.0-10 +- Port to ppc64le architecture (patch by Michel Normand) + Resolves: #1075923 + +* Wed Mar 12 2014 Vitezslav Crhonek - 2:2.13.0-9 +- Wait for the slpd.service in the systemd unit file (patch by Tomas Smetana) + +* Thu Mar 06 2014 Stephen Gallagher - 2:2.13.0-8 +- Generate SSL certificates with x509v3 and CA:FALSE +- Automatically import self-signed certificates into local trust-store +- Move SSL certificate generation into the systemd service file + +* Thu Jan 30 2014 Vitezslav Crhonek - 2:2.13.0-7 +- Add Platform_LINUX_XSCALE_GNU.h to -devel because of lmiwbem on arm + +* Wed Jan 08 2014 Vitezslav Crhonek - 2:2.13.0-6 +- Allow unprivileged users to subscribe to indications + Resolves: #1049314 +- Remove packages which are part of the minimum build environment from BR + +* Mon Nov 04 2013 Vitezslav Crhonek - 2:2.13.0-5 +- Fix missing openssl dependency + Resolves: #1022056 + +* Thu Oct 24 2013 Tomas Bzatek - 2:2.13.0-4 +- Fix PG_ComputerSystem to have correct CreationClassName value + +* Wed Oct 09 2013 Vitezslav Crhonek - 2:2.13.0-3 +- Add version to cim-server virtual provides + +* Thu Sep 05 2013 Vitezslav Crhonek - 2:2.13.0-2 +- Use Experimental DMTF CIM schema version 2.38.0 + +* Tue Sep 03 2013 Vitezslav Crhonek - 2:2.13.0-1 +- Update to upstream version 2.13.0 + +* Tue Aug 27 2013 Vitezslav Crhonek - 2:2.12.1-9 +- Fix package FTBFS, unversioned docdir change + Resolves: #992795 + +* Sun Aug 04 2013 Fedora Release Engineering - 2:2.12.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Jul 24 2013 Vitezslav Crhonek - 2:2.12.1-7 +- Require net-snmp-libs instead of net-snmp + +* Mon Jul 22 2013 D.Marlin - 2:2.12.1-6 +- Add initial 64-bit ARM (Aarch64) support. + See http://bugzilla.openpegasus.org/show_bug.cgi?id=9663 + +* Thu Jul 18 2013 Vitezslav Crhonek - 2:2.12.1-5 +- Change root/PG_InterOp to root/interop + +* Mon Jun 03 2013 Vitezslav Crhonek - 2:2.12.1-4 +- Workaround for Python reinitializion issue + Resolves: #958273 + +* Tue May 07 2013 Vitezslav Crhonek - 2:2.12.1-3 +- Fix atomic operations on ARM (patch by D. Marlin) + Resolves: #922770 + +* Thu Apr 25 2013 Vitezslav Crhonek - 2:2.12.1-2 +- Add -fno-strict-aliasing + +* Sun Mar 31 2013 Peter Robinson 2:2.12.1-1 +- Update to upstream version 2.12.1 + +* Mon Mar 18 2013 Jon Ciesla - 2:2.12.0-16 +- Fix dates in changelog, BZ 922770. + +* Tue Mar 12 2013 Vitezslav Crhonek - 2:2.12.0-15 +- Fix source link + Resolves: #905992 + +* Mon Feb 18 2013 Vitezslav Crhonek - 2:2.12.0-14 +- Fix /usr/lib/systemd* unintentionally included in -libs subpackage + +* Fri Feb 15 2013 Fedora Release Engineering - 2:2.12.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jan 23 2013 Vitezslav Crhonek - 2:2.12.0-12 +- Fix schema-version-and-includes patch + +* Wed Jan 16 2013 Vitezslav Crhonek - 2:2.12.0-11 +- Use Experimental DMTF CIM schema version 2.33.0 + +* Tue Jan 08 2013 Vitezslav Crhonek - 2:2.12.0-10 +- Fix getPropertyAt() returns Null instead of empty array (patch by Jan Safranek) + +* Tue Dec 18 2012 Vitezslav Crhonek - 2:2.12.0-9 +- Add cimprovagt wrapper for possibility of confining providers in SELinux, + update README.RedHat.Security accordingly, add provider specific wrapper + example + +* Thu Dec 06 2012 Vitezslav Crhonek - 2:2.12.0-8 +- Fix tracing of CMPI messages with CMPI_DEV_DEBUG severity + Resolves: #883395 + +* Mon Dec 03 2012 Vitezslav Crhonek - 2:2.12.0-7 +- Add %%check section and run unit tests +- Enable -test subpackage + +* Tue Nov 20 2012 Vitezslav Crhonek - 2:2.12.0-6 +- Set PEGASUS_ENABLE_INTEROP_PROVIDER=true (fixes registration of CMPI providers) +- Move .so links back to main package (they are necessary to be present for a user + to use or execute the functionality in the base package properly) + +* Tue Nov 13 2012 Vitezslav Crhonek - 2:2.12.0-5 +- Call ldconfig in %%post/%%postun of -libs subpackage +- Move .so links to -devel subpackage + +* Wed Oct 24 2012 Vitezslav Crhonek - 2:2.12.0-4 +- Fix CMPI enumGetNext function to change CMPI Data state from default CMPI_nullValue + to CMPI_goodValue when it finds and returns next instance correctly +- Enable processing of ExecQuery operations + +* Thu Oct 18 2012 Vitezslav Crhonek - 2:2.12.0-3 +- Fix permissions for executables + +* Tue Oct 16 2012 Vitezslav Crhonek - 2:2.12.0-2 +- Fix local-or-remote-auth patch to work with IPv6 +- Distribute modified access.conf file to conform README.RedHat.Security + +* Tue Oct 09 2012 Vitezslav Crhonek - 2:2.12.0-1 +- Update to upstream version 2.12.0 + +* Wed Aug 22 2012 Lukáš Nykrýn - 2:2.11.1-10 +- Scriptlets replaced with new systemd macros (#850411) + +* Tue Jul 31 2012 Vitezslav Crhonek - 2:2.11.1-9 +- Fix security context of /var/run/tog-pegasus in post install scriptlet + +* Sat Jul 21 2012 Fedora Release Engineering - 2:2.11.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon May 28 2012 Peter Robinson - 2:2.11.1-7 +- Add options for ARM arch, cleanup ARCH directives +- Add openssl base package + +* Mon May 21 2012 Vitezslav Crhonek - 2:2.11.1-6 +- Add systemd support + +* Tue Feb 28 2012 Fedora Release Engineering - 2:2.11.1-5 +- Rebuilt for c++ ABI breakage + +* Mon Feb 06 2012 Vitezslav Crhonek - 2:2.11.1-4 +- Add missing useradd/groupadd dependency to tog-pegasus-libs + Resolves: #786888 + +* Sat Jan 14 2012 Fedora Release Engineering - 2:2.11.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Dec 01 2011 Vitezslav Crhonek - 2:2.11.1-2 +- Fix post created symlinks group owner to 'pegasus' + +* Tue Sep 27 2011 Vitezslav Crhonek - 2:2.11.1-1 +- Update to upstream version 2.11.1 +- Add explicit file attributes where RPM requires it +- Disable privilege separation feature + +* Mon Jul 18 2011 Vitezslav Crhonek - 2:2.11.0-2 +- Rebuild + +* Thu May 19 2011 Vitezslav Crhonek - 2:2.11.0-1 +- Update to upstream version 2.11.0 + +* Tue Apr 05 2011 Vitezslav Crhonek - 2:2.10.0-6 +- Add -g flag for compiler + +* Wed Mar 30 2011 Dennis Gilmore - 2:2.10.0-5 +- use posix locks on sparc linux arches + +* Tue Mar 22 2011 Vitezslav Crhonek - 2:2.10.0-4 +- Use %%ghost for /var/run/tog-pegasus + Resolves: #656705 + +* Tue Mar 01 2011 Vitezslav Crhonek - 2:2.10.0-3 +- Don't strip binaries + +* Thu Feb 17 2011 Vitezslav Crhonek - 2:2.10.0-2 +- Remove dubuginfo files from -libs subpackage + +* Wed Feb 16 2011 Vitezslav Crhonek - 2:2.10.0-1 +- Update to upstream version 2.10.0 +- Move creating of the 'pegasus' user and group to the 'libs' %%pre +- Use %%global instead of %%define and some minor spec file cleaning + +* Wed Feb 09 2011 Fedora Release Engineering - 2:2.9.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Dec 15 2010 Vitezslav Crhonek - 2:2.9.2-2 +- Fix provides + +* Wed Nov 3 2010 Vitezslav Crhonek - 2:2.9.2-1 +- Update to upstream version 2.9.2 +- Mark files in /var/lib/Pegasus as noverify in spec file +- Fix initscript permissions +- Add patch/source descriptions to the spec file +- Cleanup the spec file, use upstream Makefile + +* Thu Apr 22 2010 Vitezslav Crhonek - 2:2.9.0-11 +- Fix initscript permissions + +* Thu Jan 21 2010 Vitezslav Crhonek - 2:2.9.0-10 +- Add cimsub to the pegasus_arch_alternatives script + Resolves: #543956 + +* Mon Nov 2 2009 Vitezslav Crhonek - 2:2.9.0-9 +- Fix wrong multilib flag for ix86 arch + +* Wed Sep 30 2009 Vitezslav Crhonek - 2:2.9.0-8 +- Rebuilt with new net-snmp + +* Wed Sep 23 2009 Vitezslav Crhonek - 2:2.9.0-7 +- Fix initscript + Resolves: #523370 + +* Wed Sep 16 2009 Tomas Mraz - 2:2.9.0-6 +- Use password-auth common PAM configuration instead of system-auth + +* Tue Aug 25 2009 Tomas Mraz - 2:2.9.0-5 +- rebuilt with new openssl + +* Wed Aug 19 2009 Vitezslav Crhonek - 2:2.9.0-4 +- Fix Source (but I'm afraid it's not very persistent and it will + not work again after some time) + +* Sun Jul 26 2009 Fedora Release Engineering - 2:2.9.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Jul 21 2009 Vitezslav Crhonek - 2:2.9.0-2 +- Fix Group + +* Tue Jun 16 2009 Vitezslav Crhonek - 2:2.9.0-1 +- Update to upstream version 2.9.0 +- Remove redhat-lsb requires +- Add README.RedHat.SSL + +* Thu Apr 16 2009 Vitezslav Crhonek - 2:2.7.2-8 +- Replace useradd '-n' option by '-N' ('-n' is obsolete) + Resolves: #495729 + +* Tue Mar 3 2009 Vitezslav Crhonek - 2:2.7.2-7 +- Add noreplace to config files + +* Sat Feb 28 2009 Caolán McNamara - 2:2.7.2-6 +- fix elif + +* Wed Feb 25 2009 Fedora Release Engineering - 2:2.7.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Feb 02 2009 Dennis Gilmore < dennis@ausil.us> - 2:2.7.2-4 +- apply sparc fixes + +* Sun Jan 18 2009 Tomas Mraz - 2:2.7.2-3 +- rebuild with new openssl + +* Tue Nov 11 2008 Vitezslav Crhonek - 2:2.7.2-2 +- Fix local or remote auth patch to work correctly with new code base + Related: #459217 + +* Thu Nov 6 2008 Vitezslav Crhonek - 2:2.7.2-1 +- Update to upstream version 2.7.2 + (remove patches added in 2.7.1-1 - they're upstream now) +- Enable out-of-process providers + Resolves: #455109 + +* Mon Sep 8 2008 Tom "spot" Callaway - 2:2.7.1-2 +- fix license tag + +* Tue Jul 15 2008 Vitezslav Crhonek - 2:2.7.1-1 +- Update to upstream version 2.7.1 +- Fix setElementAt() doesn't copy value of CMPI_char parameter + Resolves: #454589 +- Fix CMPI MI factories that return errors are unsupported + Resolves: #454590 +- Fix HTTP 401 responses lack Content-Length headers + Resolves: #454591 + +* Tue Jul 1 2008 Vitezslav Crhonek - 2:2.7.0-9 +- Add SNMP indication handler to package + Resolves: #452930 + +* Tue Jun 3 2008 Vitezslav Crhonek - 2:2.7.0-8 +- Add cimsub to package + Resolves: #447823 + +* Thu May 15 2008 Vitezslav Crhonek - 2:2.7.0-7 +- Rebuild + +* Mon Feb 11 2008 Vitezslav Crhonek - 2:2.7.0-6 +- Rebuild + +* Mon Jan 21 2008 Vitezslav Crhonek - 2:2.7.0-5 +- No snmp tests in Test RPM + +* Thu Jan 10 2008 Vitezslav Crhonek - 2:2.7.0-4 +- Fix Test RPM + +* Wed Dec 5 2007 Vitezslav Crhonek - 2:2.7.0-3 +- Rebuild + +* Fri Nov 23 2007 Vitezslav Crhonek - 2:2.7.0-2 +- Fix OpenPegasus SRPM fails to build Test RPM + Resolves: #391961 + +* Mon Nov 19 2007 Vitezslav Crhonek - 2:2.7.0-1 +- Update to upstream version 2.7.0 +- Unhide some cmpi classes, package cmpi C++ headers +- Fix multiarch conflicts + Resolves: #343311 +- Add libcmpiCppImpl.so (symlink to libcmpiCppImpl.so.1) + Resolves: #366871 + +* Tue Oct 9 2007 Vitezslav Crhonek - 2:2.6.1-2 +- Fix files permissions + Resolves: #200906 + +* Thu Aug 30 2007 Vitezslav Crhonek - 2:2.6.1-1 +- Update to 2.6.1 +- Fix wrong init script (#245339) + +* Wed Mar 28 2007 Vitezslav Crhonek - 2:2.6.0-2 +- Update changelog +- Build with Open Pegasus' Makefiles, istall with Red Hats (Mark Hamzy) + +* Mon Feb 26 2007 Mark Hamzy - 2:2.6.0-1 +- Upgrade to upstream version 2.6.0 + +* Mon Dec 4 2006 Nalin Dahyabhai - 2:2.5.2-3 +- change requires: tog-pegasus to prereq: tog-pegasus so that the pegasus + user and group will exist when we go to lay down files for tog-pegasus-devel + (#218305) +- prereq the current version of openssl so that the right versions of + libssl and libcrypto will be available in %%post (possible for #208949) + +* Fri Aug 18 2006 Jesse Keating - 2:2.5.2-2 +- rebuilt with latest binutils to pick up 64K -z commonpagesize on ppc* + (#203001) + +* Thu Jul 27 2006 Jason Vas Dias - 2:2.5.2-1.fc6 +- Upgrade to upstream version 2.5.2 +- fix bug 198185 +- fix bug 200246 + +* Wed Jul 12 2006 Jesse Keating - 2:2.5.1-10.FC6.1 +- rebuild + +* Fri Jul 07 2006 Jason Vas Dias - 2:2.4.1-10 +- More upstream 2.5.2_APPROVED bug fixes: + o 4629: Pegasus freezes when it is unable to send out completely, the results of a request + o 5073: Class Names on Reference, ReferenceNames, Assoc, AssocNames returned lower case + o 5090: cimserver crash on a request after attempting to unload idle CMPI providers + o 5180: OperationAggregate deleted in _enqueueResponse while member mutex held + +* Fri Jun 09 2006 Jason Vas Dias - 2:2.5.1-8 +- Fix bug 192754: remove multilib conflicts +- More upstream 2.5.2_APPROVED bug fixes: + o 5119: memory leak in CMPI implementation + o 5115: fix SetConfig_EnvVar comments + +* Wed May 31 2006 Jason Vas Dias - 2:2.5.1-6 +- Apply upstream patches for latest 2.5.2_APPROVED bugs: + o 5046: cimprovider timeout needs to be increased + o 5047: cimmof timeout needs to be increased + o 5048: Invalid Pointer in CIMOperationRequestEncoder code + o 5049: Unnecessary dependency on experimental headers + o 5051: Improved handling of OOP indication provide module failures + o 5053: reserveCapacity method may cause size overflow + o 5059: XMLWriter does not escape '>' in strings + o 5072: Potential race condition with OOP response chunks + o 5083: CIMRequestMessage buildResponse() should be const +- Fix bug 193121: restore world read access to libraries + +* Tue May 02 2006 Jason Vas Dias - 2:2.5.1-4 +- fix bug 190432: %%exclude /usr/lib/debug from RPM +- fix upstream OpenPegasus '2.5.2_APPROVED' bugs, applying upstream patches: + o 4955 : Bogus Description property for OperatingSystem provider + o 4956 : reserveCapacity method may cause size overflow on invalid input + o 4968 : CMPI provider up-calls cause failure with out-of-process + o 4978 : snmpDeliverTrap_netsnmp::_createSession function is not thread safe + o 4983 : Memory leak in OOP indication generation + o 4984 : Forked process hangs in system call + o 4986 : Adding automated test for snmpIndication Handler + ( http://cvs.opengroup.org/bugzilla/show_bug.cgi?id=? ) +- apply upstream update to 'pegasus-2.5.1-warnings.patch' + +* Mon Apr 17 2006 Jason Vas Dias - 2:2.5.1-3 +- Fix repupgrade (make it use correct paths) + +* Fri Apr 14 2006 Jason Vas Dias - 2:2.5.1-2 +- Apply patches for the two '2.5.2_APPROVED' upstream bugzillas + 4934(4943) and 4945 : + (http://cvs.opengroup.org/bugzilla/buglist.cgi?bug_id=4943%%2C4945) +- Fix the PATH_MAX and MAXHOSTNAMELEN issues (again) + +* Thu Apr 06 2006 Jason Vas Dias - 2:2.5.1-1 +- Upgrade to version 2.5.1 (including new upstream .spec file). + +* Tue Mar 7 2006 Bill Nottingham - 2:2.5-9 +- use an assigned uid/gid, do not loop over user ids looking for a free one + +* Fri Feb 10 2006 Jesse Keating - 2:2.5-6.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jason Vas Dias - 2:2.5-6 +- restore SSLv23_method SSL support now that bug 173399 is fixed +- rebuild for new gcc, glibc, glibc-kernheaders +- PAMBasicAuthenticatorUnix.cpp includes no longer include syslog.h: add +- /usr/bin/install now decides to fail if chown fails - set $INSTALL_USER, $INSTALL_GROUP + +* Thu Dec 15 2005 Jason Vas Dias - 2:2.5-5 +- fix bug 175434 : deal with pegasus uid/gid already existing + on first install + +* Fri Dec 09 2005 Jesse Keating - 2:2.5-4.1 +- rebuilt + +* Wed Nov 16 2005 Jason Vas Dias - 2:2.5-4 +- fix bug 173401: SSL support broken by openssl-0.9.7g -> 0.9.8a upgrade + +* Wed Nov 09 2005 Jason Vas Dias - 2:2.5-3 +- Rebuild for new openssl dependencies +- Enable CMPI support for sblim-cmpi-base with ENABLE_CQL=true + +* Mon Oct 31 2005 Jason Vas Dias - 2:2.5-2 +- Add /usr/lib/cmpi alternate providerLibDir for sblim-cmpi-base Fedora Extras pkg +- Fix bug 171124: use numeric ids for pegasus user/group +- guidelines: do not remove pegasus user/group in %%postun. + +* Fri Oct 14 2005 Tomas Mraz +- use include instead of pam_stack in pam config + +* Fri Sep 30 2005 Jason Vas Dias - 2:2.5-1 +- Implemented new 'make install' target. +- Re-wrote tog-pegasus.spec file from scratch. +- Ported BZ 167986 authentication code and BZ 167164 + BZ 167165 fixes from RHEL-4 + +* Wed Sep 28 2005 Jason Vas Dias - 2:2.5-0 +- Initial build. diff --git a/tog-pegasus.tmpfiles b/tog-pegasus.tmpfiles new file mode 100644 index 0000000..639f413 --- /dev/null +++ b/tog-pegasus.tmpfiles @@ -0,0 +1 @@ +d /run/tog-pegasus 1750 root pegasus -