From 3d1fbb565921483555ca78ddd3e55d9d14229cd9 Mon Sep 17 00:00:00 2001 From: Vitezslav Crhonek Date: Wed, 24 Oct 2012 14:16:56 +0200 Subject: [PATCH] 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 --- pegasus-2.12.0-null_value.patch | 27 +++++++++++++++++++++++++++ pegasus-2.9.0-redhat-config.patch | 9 +++++---- tog-pegasus.spec | 11 ++++++++++- 3 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 pegasus-2.12.0-null_value.patch 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.9.0-redhat-config.patch b/pegasus-2.9.0-redhat-config.patch index c8d3531..b200b17 100644 --- a/pegasus-2.9.0-redhat-config.patch +++ b/pegasus-2.9.0-redhat-config.patch @@ -1,17 +1,18 @@ diff -up pegasus/env_var_Linux.status_orig pegasus/env_var_Linux.status --- pegasus/env_var_Linux.status_orig 2011-05-17 15:05:31.568195433 +0200 +++ pegasus/env_var_Linux.status 2011-05-17 15:12:09.216249476 +0200 -@@ -17,7 +17,8 @@ ifndef PEGASUS_STAGING_DIR +@@ -17,7 +17,9 @@ ifndef PEGASUS_STAGING_DIR PEGASUS_STAGING_DIR = $(PEGASUS_HOME)/stagingDir endif -PEGASUS_ENABLE_CQL=false ++PEGASUS_ENABLE_EXECQUERY=true +PEGASUS_ENABLE_CQL=true +PEGASUS_DEFAULT_ENABLE_OOP=true PEGASUS_DISABLE_PERFINST=yes PEGASUS_ENABLE_CMPI_PROVIDER_MANAGER=true PEGASUS_ENABLE_USERGROUP_AUTHORIZATION=true -@@ -25,7 +26,6 @@ PEGASUS_HAS_SSL=yes +@@ -25,7 +27,6 @@ PEGASUS_HAS_SSL=yes PEGASUS_USE_SSL_RANDOMFILE=false PEGASUS_NOASSERTS=yes PEGASUS_PAM_AUTHENTICATION=true @@ -19,7 +20,7 @@ diff -up pegasus/env_var_Linux.status_orig pegasus/env_var_Linux.status PEGASUS_USE_RELEASE_CONFIG_OPTIONS=true PEGASUS_USE_RELEASE_DIRS=true PEGASUS_USE_SYSLOGS=true -@@ -36,7 +36,7 @@ PEGASUS_ENABLE_PRIVILEGE_SEPARATION=true +@@ -36,7 +37,7 @@ PEGASUS_ENABLE_PRIVILEGE_SEPARATION=true PEGASUS_ENABLE_INTEROP_PROVIDER=false PEGASUS_ENABLE_PROTOCOL_WSMAN=false @@ -28,7 +29,7 @@ diff -up pegasus/env_var_Linux.status_orig pegasus/env_var_Linux.status ifeq ($(PEGASUS_ENABLE_SLP), true) PEGASUS_ENABLE_INTEROP_PROVIDER=true PEGASUS_SLP_REG_TIMEOUT=1090 -@@ -127,7 +127,7 @@ PEGASUS_INSTALL_LOG = $(PEGASUS_LOG_DIR) +@@ -127,7 +128,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 diff --git a/tog-pegasus.spec b/tog-pegasus.spec index 00f0edd..e271a2f 100644 --- a/tog-pegasus.spec +++ b/tog-pegasus.spec @@ -8,7 +8,7 @@ Name: tog-pegasus Version: %{major_ver}.0 -Release: 3%{?dist} +Release: 4%{?dist} Epoch: 2 Summary: OpenPegasus WBEM Services for Linux @@ -64,6 +64,9 @@ Patch20: pegasus-2.10.0-sparc-posix-lock.patch # 21: temporarily disable privilege separation, the package doesn't work with it, it's # necessary to prepare it first Patch21: pegasus-2.11.1-disable-privilege-separation.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 BuildRequires: bash, sed, grep, coreutils, procps, gcc, gcc-c++ BuildRequires: libstdc++, make, pam-devel @@ -191,6 +194,7 @@ rm -rf pegasus/ %patch19 -p1 -b .dont-strip %patch20 -p1 -b .sparc-locks %patch21 -p1 -b .disable-privilege-separation +%patch22 -p1 -b .null_value %build @@ -440,6 +444,11 @@ fi %changelog +* 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