rpms/qpid-cpp/devel bz538355.patch, NONE, 1.1 db4.patch, NONE, 1.1 qmf.patch, NONE, 1.1 qpid-cpp.spec, NONE, 1.1 qpidd.pp, NONE, 1.1 so_number.patch, NONE, 1.1 xqilla.patch, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
Nuno Santos
nsantos at fedoraproject.org
Thu Feb 25 20:26:37 UTC 2010
Author: nsantos
Update of /cvs/pkgs/rpms/qpid-cpp/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv8231
Modified Files:
.cvsignore sources
Added Files:
bz538355.patch db4.patch qmf.patch qpid-cpp.spec qpidd.pp
so_number.patch xqilla.patch
Log Message:
import of specfile and patches for renamed package
bz538355.patch:
bindings/qmf/python/qmf.py | 5 ---
bindings/qmf/ruby/qmf.rb | 3 -
bindings/qmf/tests/agent_ruby.rb | 4 +-
bindings/qmf/tests/python_console.py | 15 +++++++++
bindings/qmf/tests/ruby_console_test.rb | 16 ++++++++--
src/qmf/engine/ObjectIdImpl.cpp | 51 +++++++++++++++++++++++++-------
src/qmf/engine/ObjectIdImpl.h | 16 +++++-----
src/qmf/engine/ResilientConnection.cpp | 2 -
8 files changed, 83 insertions(+), 29 deletions(-)
--- NEW FILE bz538355.patch ---
Index: cpp/src/qmf/engine/ObjectIdImpl.cpp
===================================================================
--- cpp/src/qmf/engine/ObjectIdImpl.cpp (revision 886044)
+++ cpp/src/qmf/engine/ObjectIdImpl.cpp (working copy)
@@ -24,7 +24,6 @@
using namespace qmf::engine;
using qpid::framing::Buffer;
-
void AgentAttachment::setBanks(uint32_t broker, uint32_t agent)
{
first =
@@ -121,28 +120,60 @@
return repr;
}
-bool ObjectIdImpl::operator==(const ObjectIdImpl& other) const
+#define ACTUAL_FIRST (agent == 0 ? first : first | agent->first)
+#define ACTUAL_OTHER (other.agent == 0 ? other.first : other.first | other.agent->first)
+
+uint8_t ObjectIdImpl::getFlags() const
{
- uint64_t otherFirst = agent == 0 ? other.first : other.first & 0xffff000000000000LL;
+ return (ACTUAL_FIRST & 0xF000000000000000LL) >> 60;
+}
- return first == otherFirst && second == other.second;
+uint16_t ObjectIdImpl::getSequence() const
+{
+ return (ACTUAL_FIRST & 0x0FFF000000000000LL) >> 48;
}
-bool ObjectIdImpl::operator<(const ObjectIdImpl& other) const
+uint32_t ObjectIdImpl::getBrokerBank() const
{
- uint64_t otherFirst = agent == 0 ? other.first : other.first & 0xffff000000000000LL;
+ return (ACTUAL_FIRST & 0x0000FFFFF0000000LL) >> 28;
+}
- return (first < otherFirst) || ((first == otherFirst) && (second < other.second));
+uint32_t ObjectIdImpl::getAgentBank() const
+{
+ return ACTUAL_FIRST & 0x000000000FFFFFFFLL;
}
-bool ObjectIdImpl::operator>(const ObjectIdImpl& other) const
+uint64_t ObjectIdImpl::getObjectNum() const
{
- uint64_t otherFirst = agent == 0 ? other.first : other.first & 0xffff000000000000LL;
+ return second;
+}
- return (first > otherFirst) || ((first == otherFirst) && (second > other.second));
+uint32_t ObjectIdImpl::getObjectNumHi() const
+{
+ return (uint32_t) (second >> 32);
}
+uint32_t ObjectIdImpl::getObjectNumLo() const
+{
+ return (uint32_t) (second & 0x00000000FFFFFFFFLL);
+}
+bool ObjectIdImpl::operator==(const ObjectIdImpl& other) const
+{
+ return ACTUAL_FIRST == ACTUAL_OTHER && second == other.second;
+}
+
+bool ObjectIdImpl::operator<(const ObjectIdImpl& other) const
+{
+ return (ACTUAL_FIRST < ACTUAL_OTHER) || ((ACTUAL_FIRST == ACTUAL_OTHER) && (second < other.second));
+}
+
+bool ObjectIdImpl::operator>(const ObjectIdImpl& other) const
+{
+ return (ACTUAL_FIRST > ACTUAL_OTHER) || ((ACTUAL_FIRST == ACTUAL_OTHER) && (second > other.second));
+}
+
+
//==================================================================
// Wrappers
//==================================================================
Index: cpp/src/qmf/engine/ObjectIdImpl.h
===================================================================
--- cpp/src/qmf/engine/ObjectIdImpl.h (revision 886044)
+++ cpp/src/qmf/engine/ObjectIdImpl.h (working copy)
@@ -51,15 +51,15 @@
void encode(qpid::framing::Buffer& buffer) const;
void fromString(const std::string& repr);
const std::string& asString() const;
- uint8_t getFlags() const { return (first & 0xF000000000000000LL) >> 60; }
- uint16_t getSequence() const { return (first & 0x0FFF000000000000LL) >> 48; }
- uint32_t getBrokerBank() const { return (first & 0x0000FFFFF0000000LL) >> 28; }
- uint32_t getAgentBank() const { return first & 0x000000000FFFFFFFLL; }
- uint64_t getObjectNum() const { return second; }
- uint32_t getObjectNumHi() const { return (uint32_t) (second >> 32); }
- uint32_t getObjectNumLo() const { return (uint32_t) (second & 0x00000000FFFFFFFFLL); }
+ uint8_t getFlags() const;
+ uint16_t getSequence() const;
+ uint32_t getBrokerBank() const;
+ uint32_t getAgentBank() const;
+ uint64_t getObjectNum() const;
+ uint32_t getObjectNumHi() const;
+ uint32_t getObjectNumLo() const;
bool isDurable() const { return getSequence() == 0; }
- void setValue(uint64_t f, uint64_t s) { first = f; second = s; }
+ void setValue(uint64_t f, uint64_t s) { first = f; second = s; agent = 0; }
bool operator==(const ObjectIdImpl& other) const;
bool operator<(const ObjectIdImpl& other) const;
Index: cpp/src/qmf/engine/ResilientConnection.cpp
===================================================================
--- cpp/src/qmf/engine/ResilientConnection.cpp (revision 886044)
+++ cpp/src/qmf/engine/ResilientConnection.cpp (working copy)
@@ -116,9 +116,9 @@
int delayMax;
int delayFactor;
qpid::sys::Condition cond;
- qpid::sys::Thread connThread;
deque<ResilientConnectionEventImpl> eventQueue;
set<RCSession::Ptr> sessions;
+ qpid::sys::Thread connThread;
};
}
}
Index: cpp/bindings/qmf/ruby/qmf.rb
===================================================================
--- cpp/bindings/qmf/ruby/qmf.rb (revision 886044)
+++ cpp/bindings/qmf/ruby/qmf.rb (working copy)
@@ -472,8 +472,7 @@
end
def ==(other)
- return (@impl.getObjectNumHi == other.impl.getObjectNumHi) &&
- (@impl.getObjectNumLo == other.impl.getObjectNumLo)
+ return @impl == other.impl
end
def to_s
Index: cpp/bindings/qmf/python/qmf.py
===================================================================
--- cpp/bindings/qmf/python/qmf.py (revision 886044)
+++ cpp/bindings/qmf/python/qmf.py (working copy)
@@ -35,7 +35,6 @@
from qmfengine import (O_EQ, O_NE, O_LT, O_LE, O_GT, O_GE, O_RE_MATCH, O_RE_NOMATCH,
E_NOT, E_AND, E_OR, E_XOR)
-
##==============================================================================
## CONNECTION
##==============================================================================
@@ -561,10 +560,8 @@
def __eq__(self, other):
if not isinstance(other, self.__class__): return False
- return (self.impl.getObjectNumHi() == other.impl.getObjectNumHi() and
- self.impl.getObjectNumLo() == other.impl.getObjectNumLo())
+ return self.impl == other.impl
-
def __ne__(self, other):
return not self.__eq__(other)
Index: cpp/bindings/qmf/tests/agent_ruby.rb
===================================================================
--- cpp/bindings/qmf/tests/agent_ruby.rb (revision 886044)
+++ cpp/bindings/qmf/tests/agent_ruby.rb (working copy)
@@ -83,7 +83,7 @@
class App < Qmf::AgentHandler
def get_query(context, query, userId)
-# puts "Query: user=#{userId} context=#{context} class=#{query.class_name} object_num=#{query.object_id.object_num_low if query.object_id}"
+# puts "Query: user=#{userId} context=#{context} class=#{query.class_name} object_num=#{query.object_id if query.object_id}"
if query.class_name == 'parent'
@agent.query_response(context, @parent)
elsif query.object_id == @parent_oid
@@ -93,7 +93,7 @@
end
def method_call(context, name, object_id, args, userId)
-# puts "Method: user=#{userId} context=#{context} method=#{name} object_num=#{object_id.object_num_low if object_id} args=#{args}"
+# puts "Method: user=#{userId} context=#{context} method=#{name} object_num=#{object_id if object_id} args=#{args}"
retCode = 0
retText = "OK"
Index: cpp/bindings/qmf/tests/ruby_console_test.rb
===================================================================
--- cpp/bindings/qmf/tests/ruby_console_test.rb (revision 886044)
+++ cpp/bindings/qmf/tests/ruby_console_test.rb (working copy)
@@ -214,9 +214,21 @@
fail("Didn't find a non-broker agent")
end
+ def test_E_filter_by_object_id
+ mgmt_exchange = @qmfc.object(:class => "exchange", 'name' => "qpid.management")
+ assert(mgmt_exchange, "No Management Exchange")
+
+ bindings = @qmfc.objects(:class => "binding", 'exchangeRef' => mgmt_exchange.object_id)
+ if bindings.size == 0
+ fail("No bindings found on management exchange")
+ end
+
+ bindings.each do |binding|
+ assert_equal(binding.exchangeRef, mgmt_exchange.object_id)
+ end
+ end
+
end
app = ConsoleTest.new
-
-
Index: cpp/bindings/qmf/tests/python_console.py
===================================================================
--- cpp/bindings/qmf/tests/python_console.py (revision 886044)
+++ cpp/bindings/qmf/tests/python_console.py (working copy)
@@ -151,6 +151,21 @@
newList = qmf.getObjects(_objectId=parent.getObjectId())
self.assertEqual(len(newList), 1)
+ def test_E_filter_by_object_id(self):
+ self.startQmf()
+ qmf = self.qmf
+
+ list = qmf.getObjects(_class="exchange", name="qpid.management")
+ self.assertEqual(len(list), 1, "No Management Exchange")
+ mgmt_exchange = list[0]
+
+ bindings = qmf.getObjects(_class="binding", exchangeRef=mgmt_exchange.getObjectId())
+ if len(bindings) == 0:
+ self.fail("No bindings found on management exchange")
+
+ for binding in bindings:
+ self.assertEqual(binding.exchangeRef, mgmt_exchange.getObjectId())
+
def getProperty(self, msg, name):
for h in msg.headers:
if hasattr(h, name): return getattr(h, name)
db4.patch:
configure.ac | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- NEW FILE db4.patch ---
--- rhm-0.5.3684/configure.ac 2009-08-14 15:00:10.000000000 -0400
+++ rhm-0.5.3684/configure.ac 2010-02-08 14:31:52.415778607 -0500
@@ -177,17 +177,17 @@
AC_SUBST([LIB_DLOPEN])
LIBS=$gl_saved_libs
-# Require libdb_cxx (any version between 4.2 and 4.7), for the library, and for db_cxx.h.
+# Require libdb_cxx (any version between 4.2 and 4.8), for the library, and for db_cxx.h.
db4_devel_fail=0
AC_CHECK_HEADER([db_cxx.h], ,[db4_devel_fail=1])
test $db4_devel_fail == 1 && \
AC_MSG_ERROR([db4-devel package missing. Please ensure both db4 and db4-devel are installed. (hint: "yum install db4-devel" should do it...)])
gl_saved_libs=$LIBS
-AC_SEARCH_LIBS([__db_open], [db_cxx-4.7 db_cxx-4.6 db_cxx-4.5 db_cxx-4.4 db_cxx-4.3 db_cxx-4.2],
+AC_SEARCH_LIBS([__db_open], [db_cxx-4.8 db_cxx-4.7 db_cxx-4.6 db_cxx-4.5 db_cxx-4.4 db_cxx-4.3 db_cxx-4.2],
[test "$ac_cv_search___db_open" = "none required" ||
LIB_BERKELEY_DB=$ac_cv_search___db_open],
- AC_MSG_ERROR([Couldn't find required library in range db_cxx-4.2 through db_cxx-4.6]))
+ AC_MSG_ERROR([Couldn't find required library in range db_cxx-4.2 through db_cxx-4.8]))
AC_SUBST([LIB_BERKELEY_DB])
LIBS=$gl_saved_libs
qmf.patch:
bindings/qmf/ruby/qmf.rb | 4 +--
src/qmf/engine/ObjectImpl.h | 2 -
src/qpid/management/ManagementAgent.cpp | 34 +++++++++++++++++++++++++++++---
src/qpid/management/ManagementAgent.h | 3 ++
4 files changed, 37 insertions(+), 6 deletions(-)
--- NEW FILE qmf.patch ---
Index: cpp/src/qmf/engine/ObjectImpl.h
===================================================================
--- cpp/src/qmf/engine/ObjectImpl.h (revision 831913)
+++ cpp/src/qmf/engine/ObjectImpl.h (working copy)
@@ -56,7 +56,7 @@
void destroy();
const ObjectId* getObjectId() const { return objectId.get(); }
- void setObjectId(ObjectId* oid) { objectId.reset(oid); }
+ void setObjectId(ObjectId* oid) { objectId.reset(new ObjectId(*oid)); }
const SchemaObjectClass* getClass() const { return objectClass; }
Value* getValue(const std::string& key) const;
void invokeMethod(const std::string& methodName, const Value* inArgs, void* context) const;
Index: cpp/src/qpid/management/ManagementAgent.h
===================================================================
--- cpp/src/qpid/management/ManagementAgent.h (revision 831913)
+++ cpp/src/qpid/management/ManagementAgent.h (working copy)
@@ -113,11 +113,13 @@
//
struct RemoteAgent : public Manageable
{
+ ManagementAgent& agent;
uint32_t brokerBank;
uint32_t agentBank;
std::string routingKey;
ObjectId connectionRef;
qmf::org::apache::qpid::broker::Agent* mgmtObject;
+ RemoteAgent(ManagementAgent& _agent) : agent(_agent) {}
ManagementObject* GetManagementObject (void) const { return mgmtObject; }
virtual ~RemoteAgent ();
};
@@ -212,6 +214,7 @@
void writeData ();
void periodicProcessing (void);
+ void deleteObjectNowLH(const ObjectId& oid);
void encodeHeader (framing::Buffer& buf, uint8_t opcode, uint32_t seq = 0);
bool checkHeader (framing::Buffer& buf, uint8_t *opcode, uint32_t *seq);
void sendBuffer (framing::Buffer& buf,
Index: cpp/src/qpid/management/ManagementAgent.cpp
===================================================================
--- cpp/src/qpid/management/ManagementAgent.cpp (revision 831913)
+++ cpp/src/qpid/management/ManagementAgent.cpp (working copy)
@@ -44,9 +44,11 @@
ManagementAgent::RemoteAgent::~RemoteAgent ()
{
- if (mgmtObject != 0)
+ QPID_LOG(trace, "Remote Agent removed bank=[" << brokerBank << "." << agentBank << "]");
+ if (mgmtObject != 0) {
mgmtObject->resourceDestroy();
- QPID_LOG(trace, "Remote Agent removed bank=[" << brokerBank << "." << agentBank << "]");
+ agent.deleteObjectNowLH(mgmtObject->getObjectId());
+ }
}
ManagementAgent::ManagementAgent () :
@@ -443,6 +445,32 @@
}
}
+void ManagementAgent::deleteObjectNowLH(const ObjectId& oid)
+{
+ ManagementObjectMap::iterator iter = managementObjects.find(oid);
+ if (iter == managementObjects.end())
+ return;
+ ManagementObject* object = iter->second;
+ if (!object->isDeleted())
+ return;
+
+#define DNOW_BUFSIZE 2048
+ char msgChars[DNOW_BUFSIZE];
+ uint32_t contentSize;
+ Buffer msgBuffer(msgChars, DNOW_BUFSIZE);
+
+ encodeHeader(msgBuffer, 'c');
+ object->writeProperties(msgBuffer);
+ contentSize = msgBuffer.getPosition();
+ msgBuffer.reset();
+ stringstream key;
+ key << "console.obj.1.0." << object->getPackageName() << "." << object->getClassName();
+ sendBuffer(msgBuffer, contentSize, mExchange, key.str());
+ QPID_LOG(trace, "SEND Immediate(delete) ContentInd to=" << key.str());
+
+ managementObjects.erase(oid);
+}
+
void ManagementAgent::sendCommandComplete (string replyToKey, uint32_t sequence,
uint32_t code, string text)
{
@@ -871,7 +899,7 @@
assignedBank = assignBankLH(requestedAgentBank);
- RemoteAgent* agent = new RemoteAgent;
+ RemoteAgent* agent = new RemoteAgent(*this);
agent->brokerBank = brokerBank;
agent->agentBank = assignedBank;
agent->routingKey = replyToKey;
Index: cpp/bindings/qmf/ruby/qmf.rb
===================================================================
--- cpp/bindings/qmf/ruby/qmf.rb (revision 831913)
+++ cpp/bindings/qmf/ruby/qmf.rb (working copy)
@@ -456,7 +456,7 @@
attr_reader :impl, :agent_key
def initialize(impl=nil)
if impl
- @impl = impl
+ @impl = Qmfengine::ObjectId.new(impl)
else
@impl = Qmfengine::ObjectId.new
end
@@ -594,7 +594,7 @@
attr_reader :impl
def initialize(kwargs = {})
if kwargs.include?(:impl)
- @impl = kwargs[:impl]
+ @impl = Qmfengine::Query.new(kwargs[:impl])
else
package = ''
if kwargs.include?(:key)
--- NEW FILE qpid-cpp.spec ---
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%{!?ruby_sitelib: %global ruby_sitelib %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')}
%{!?ruby_sitearch: %global ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')}
%global qpid_svnrev 829175
%global rhm_svnrev 3684
Name: qpid-cpp
Version: 0.5.%{qpid_svnrev}
Release: 4%{?dist}
Summary: Libraries for Qpid C++ client applications
Group: System Environment/Libraries
License: ASL 2.0 and LGPLv2
URL: http://qpid.apache.org
Source0: qpidc-%{version}.tar.gz
Source1: rhm-0.5.%{rhm_svnrev}.tar.gz
Source2: qpidd.pp
Patch0: so_number.patch
Patch1: qmf.patch
Patch2: bz538355.patch
Patch3: xqilla.patch
Patch4: db4.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: boost-devel
BuildRequires: boost-program-options
BuildRequires: boost-filesystem
BuildRequires: doxygen
BuildRequires: e2fsprogs-devel
BuildRequires: libuuid-devel
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: ruby
BuildRequires: ruby-devel
BuildRequires: python
BuildRequires: python-devel
BuildRequires: cyrus-sasl-devel
BuildRequires: cyrus-sasl-lib
BuildRequires: cyrus-sasl
BuildRequires: libibverbs-devel
BuildRequires: librdmacm-devel
BuildRequires: nss-devel
BuildRequires: nspr-devel
BuildRequires: xqilla-devel
BuildRequires: xerces-c-devel
BuildRequires: corosynclib-devel >= 1.0.0-1
BuildRequires: clusterlib-devel >= 3.0.0-20
BuildRequires: swig
%ifarch i386 i586 i686 x86_64
#RHM
BuildRequires: db4-devel
BuildRequires: libaio-devel
#/RHM
%endif
%description
Run-time libraries for AMQP client applications developed using Qpid
C++. Clients exchange messages with an AMQP message broker using
the AMQP protocol.
%package client
Summary: Libraries for Qpid C++ client applications
Requires: boost
Obsoletes: qpidc < %{version}-4
Provides: qpidc = %{version}-4
License: ASL 2.0
Requires(post):/sbin/chkconfig
Requires(preun):/sbin/chkconfig
Requires(preun):/sbin/service
Requires(postun):/sbin/service
%description client
Run-time libraries for AMQP client applications developed using Qpid
C++. Clients exchange messages with an AMQP message broker using
the AMQP protocol.
%package client-devel
Summary: Header files and documentation for developing Qpid C++ clients
Group: Development/System
Requires: qpid-cpp-client = %{version}-%{release}
Requires: boost-devel
Requires: boost-program-options
Requires: boost-filesystem
Requires: e2fsprogs-devel
Requires: libuuid-devel
Requires: python
Obsoletes: qpidc-devel < %{version}-4
Provides: qpidc-devel = %{version}-4
License: ASL 2.0
%description client-devel
Libraries, header files and documentation for developing AMQP clients
in C++ using Qpid. Qpid implements the AMQP messaging specification.
%package client-devel-docs
Summary: AMQP client development documentation
Group: Documentation
BuildArch: noarch
Obsoletes: qpidc-devel-docs < %{version}-4
Provides: qpidc-devel-docs = %{version}-4
License: ASL 2.0
%description client-devel-docs
This package includes the AMQP clients development documentation in HTML
format for easy browsing.
%package server
Summary: An AMQP message broker daemon
Group: System Environment/Daemons
Requires: qpid-cpp-client = %{version}-%{release}
Requires: cyrus-sasl
Obsoletes: qpidd < %{version}-4
Provides: qpidd = %{version}-4
Requires(post): policycoreutils
Requires(post): selinux-policy-minimum
Requires(post): /usr/sbin/semodule
Requires(postun): /usr/sbin/semodule
License: ASL 2.0
%description server
A message broker daemon that receives stores and routes messages using
the open AMQP messaging protocol.
%package server-devel
Summary: Libraries and header files for developing Qpid broker extensions
Group: Development/System
Requires: qpid-cpp-client-devel = %{version}-%{release}
Requires: qpid-cpp-server = %{version}-%{release}
Requires: boost-devel
Requires: boost-program-options
Requires: boost-filesystem
Obsoletes: qpidd-devel < %{version}-4
Provides: qpidd-devel = %{version}-4
License: ASL 2.0
%description server-devel
Libraries and header files for developing extensions to the
Qpid broker daemon.
%package -n qmf
Summary: The QPID Management Framework
Group: System Environment/Daemons
Requires: qpid-cpp-client = %{version}-%{release}
License: ASL 2.0
%description -n qmf
An extensible managememt framework layered on QPID messaging.
%package -n qmf-devel
Summary: Header files and tools for developing QMF extensions
Group: Development/System
Requires: qmf = %{version}-%{release}
Requires: qpid-cpp-client-devel = %{version}-%{release}
License: ASL 2.0
%description -n qmf-devel
Header files and code-generation tools needed for developers of QMF-managed
components.
%package -n ruby-qmf
Summary: The QPID Management Framework bindings for ruby
Group: System Environment/Libraries
Requires: qpid-cpp-client = %{version}-%{release}
License: ASL 2.0
%description -n ruby-qmf
An extensible managememt framework layered on QPID messaging, bindings
for ruby.
%package server-acl
Summary: ACL based security for the Qpid daemon
Group: System Environment/Libraries
Requires: qpid-cpp-server = %{version}-%{release}
Obsoletes: qpidd-acl < %{version}-4
Provides: qpidd-acl = %{version}-4
License: ASL 2.0
%description server-acl
A Qpid daemon plugin to support ACL-based access control.
%package client-rdma
Summary: RDMA Protocol support (including Infiniband) for Qpid clients
Group: System Environment/Libraries
Requires: qpid-cpp-client = %{version}-%{release}
Obsoletes: qpidc-rdma < %{version}-4
Provides: qpidc-rdma = %{version}-4
License: ASL 2.0
%description client-rdma
A client plugin and support library to support RDMA protocols (including
Infiniband) as the transport for Qpid messaging.
%package server-rdma
Summary: RDMA Protocol support (including Infiniband) for the Qpid daemon
Group: System Environment/Libraries
Requires: qpid-cpp-server = %{version}-%{release}
Requires: qpid-cpp-client-rdma = %{version}-%{release}
Obsoletes: qpidd-rdma < %{version}-4
Provides: qpidd-rdma = %{version}-4
License: ASL 2.0
%description server-rdma
A Qpid daemon plugin to support RDMA protocols (including Infiniband) as the
transport for AMQP messaging.
%package client-ssl
Summary: SSL support for Qpid clients
Group: System Environment/Libraries
Requires: qpid-cpp-client = %{version}-%{release}
Obsoletes: qpidc-ssl < %{version}-4
Provides: qpidc-ssl = %{version}-4
License: ASL 2.0
%description client-ssl
A client plugin and support library to support SSL as the transport
for Qpid messaging.
%package server-ssl
Summary: SSL support for the Qpid daemon
Group: System Environment/Libraries
Requires: qpid-cpp-server = %{version}-%{release}
Requires: qpid-cpp-client-ssl = %{version}-%{release}
Obsoletes: qpidd-ssl < %{version}-4
Provides: qpidd-ssl = %{version}-4
License: ASL 2.0
%description server-ssl
A Qpid daemon plugin to support SSL as the transport for AMQP
messaging.
%package server-xml
Summary: XML extensions for the Qpid daemon
Group: System Environment/Libraries
Requires: qpid-cpp-server = %{version}-%{release}
Requires: xqilla
Requires: xerces-c
Obsoletes: qpidd-xml < %{version}-4
Provides: qpidd-xml = %{version}-4
License: ASL 2.0
%description server-xml
A Qpid daemon plugin to support extended XML-based routing of AMQP
messages.
%package server-cluster
Summary: Cluster support for the Qpid daemon
Group: System Environment/Daemons
Requires: qpid-cpp-server = %{version}-%{release}
Requires: qpid-cpp-client = %{version}-%{release}
Requires: corosync >= 1.0.0-1
Requires: clusterlib >= 3.0.0-20
Obsoletes: qpidd-cluster < %{version}-4
Provides: qpidd-cluster = %{version}-4
License: ASL 2.0
%description server-cluster
A Qpid daemon plugin enabling broker clustering using openais
%package perftest
Summary: Simple benchmarking tools
Group: System Environment/Tools
Requires: qpid-cpp-client = %{version}-%{release}
Obsoletes: qpidc-perftest < %{version}-4
Provides: qpidc-perftest = %{version}-4
License: ASL 2.0
%description perftest
Tools for performing testing and benchmarking of MRG-Messaging
%ifarch i386 i586 i686 x86_64
#RHM
%package server-store
Summary: Red Hat persistence extension to the Qpid messaging system
Group: System Environment/Libraries
Requires: qpid-cpp-server = %{version}-%{release}
Requires: db4
Obsoletes: rhm < 0.5.%{rhm_svnrev}-4
Provides: rhm = 0.5.%{rhm_svnrev}-4
License: LGPLv2
%description server-store
Red Hat persistence extension to the Qpid AMQP broker: persistent message
storage using either a libaio-based asynchronous journal, or synchronously
with Berkeley DB.
#/RHM
%endif
%pre server
getent group qpidd >/dev/null || groupadd -r qpidd
getent passwd qpidd >/dev/null || \
useradd -r -M -g qpidd -d %{_localstatedir}/lib/qpidd -s /sbin/nologin \
-c "Owner of Qpidd Daemons" qpidd
exit 0
%prep
%setup -q -n qpidc-%{version}
%patch0
%patch1
%patch2
%patch3 -p1
install -d selinux
install %{SOURCE2} selinux
%setup -q -T -D -b 1 -n rhm-0.5.%{rhm_svnrev}
%patch4 -p1
# fix spurious-executable-perm warnings
find ../ \( -name '*.h' -o -name '*.cpp' \) -executable | xargs chmod a-x
%global perftests "perftest topic_listener topic_publisher latencytest client_test txtest"
%build
pushd ../qpidc-0.5.829175/cpp
./bootstrap
CXXFLAGS="%{optflags} -DNDEBUG -O3" \
%configure --disable-static --with-cpg --without-graphviz --without-help2man
ECHO=echo make #%{?_smp_mflags}
# Make perftest utilities
pushd src/tests
for ptest in %{perftests}; do
ECHO=echo make $ptest
done
popd
popd
%ifarch i386 i586 i686 x86_64
#RHM
pushd ../rhm-0.5.%{rhm_svnrev}
export CXXFLAGS="%{optflags} -DNDEBUG"
./bootstrap
%configure --disable-static --disable-rpath --disable-dependency-tracking --with-qpid-checkout=%{_builddir}/qpidc-%{version}
make dist
make #%{?_smp_mflags}
popd
#/RHM
%endif
%install
rm -rf %{buildroot}
mkdir -p -m0755 %{buildroot}/%_bindir
pushd %{_builddir}/qpidc-%{version}/cpp
make install DESTDIR=%{buildroot}
install -Dp -m0755 etc/qpidd %{buildroot}%{_initrddir}/qpidd
install -d -m0755 %{buildroot}%{_localstatedir}/lib/qpidd
install -d -m0755 %{buildroot}%{_libdir}/qpidd
install -d -m0755 %{buildroot}/var/run/qpidd
# Install perftest utilities
pushd src/tests/
for ptest in %{perftests}; do
libtool --mode=install install -m755 $ptest %{buildroot}/%_bindir
done
popd
pushd docs/api
make html
popd
rm -f %{buildroot}%_libdir/*.a
rm -f %{buildroot}%_libdir/*.l
rm -f %{buildroot}%_libdir/*.la
rm -f %{buildroot}%_libdir/librdmawrap.so
rm -f %{buildroot}%_libdir/libsslcommon.so
rm -f %{buildroot}%_libdir/qpid/client/*.la
rm -f %{buildroot}%_libdir/qpid/daemon/*.la
# disable auth by default
echo "auth=no" >> %{buildroot}/etc/qpidd.conf
install -d %{buildroot}%{_datadir}/selinux/packages
install -m 644 %{_builddir}/qpidc-%{version}/selinux/qpidd.pp %{buildroot}%{_datadir}/selinux/packages
install -pm 644 %{_builddir}/qpidc-%{version}/cpp/bindings/qmf/ruby/qmf.rb %{buildroot}%{ruby_sitelib}
install -pm 755 %{_builddir}/qpidc-%{version}/cpp/bindings/qmf/ruby/.libs/qmfengine.so %{buildroot}%{ruby_sitearch}
rm -f %{buildroot}%_libdir/_*
rm -fr %{buildroot}%_libdir/qpid/tests
rm -fr %{buildroot}%_libexecdir/qpid/tests
rm -f %{buildroot}%{ruby_sitearch}/qmfengine.la
popd
%ifarch i386 i586 i686 x86_64
#RHM
pushd %{_builddir}/rhm-0.5.%{rhm_svnrev}
make install DESTDIR=%{buildroot}
install -d -m0775 %{buildroot}%{_localstatedir}/rhm
install -d -m0755 %{buildroot}%{_libdir}/qpid/daemon
rm -f %{buildroot}%_libdir/qpid/daemon/*.a
rm -f %{buildroot}%_libdir/qpid/daemon/*.la
rm -f %{buildroot}%_libdir/*.a
rm -f %{buildroot}%_libdir/*.la
rm %{buildroot}%_sysconfdir/rhmd.conf
popd
#/RHM
%endif
%clean
rm -rf %{buildroot}
%check
#pushd %{_builddir}/%{name}-%{version}/cpp
# LANG=C needs to be in the environment to deal with a libtool issue
# temporarily disabling make check due to libtool issues
# needs to be re-enabled asap
#LANG=C ECHO=echo make check
#popd
%ifarch i386 i586 i686 x86_64
#RHM
#pushd %{_builddir}/rhm-0.5.%{rhm_svnrev}
#make check
#popd
#/RHM
%endif
%files client
%defattr(-,root,root,-)
%doc ../qpidc-%{version}/cpp/LICENSE
%doc ../qpidc-%{version}/cpp/NOTICE
%doc ../qpidc-%{version}/cpp/README
%doc ../qpidc-%{version}/cpp/INSTALL
%doc ../qpidc-%{version}/cpp/RELEASE_NOTES
%doc ../qpidc-%{version}/cpp/DESIGN
%_libdir/libqpidcommon.so.3
%_libdir/libqpidcommon.so.3.0.0
%_libdir/libqpidclient.so.3
%_libdir/libqpidclient.so.3.0.0
%dir %_libdir/qpid
%dir %_libdir/qpid/client
%dir %_sysconfdir/qpid
%config(noreplace) %_sysconfdir/qpid/qpidc.conf
%files client-devel
%defattr(-,root,root,-)
%dir %_includedir/qpid
%_includedir/qpid/*.h
%_includedir/qpid/amqp_0_10
%_includedir/qpid/client
%_includedir/qpid/console
%_includedir/qpid/framing
%_includedir/qpid/sys
%_includedir/qpid/log
%_includedir/qpid/management
%_includedir/qpid/messaging
%_includedir/qpid/agent
%_includedir/qmf
%_libdir/libqpidcommon.so
%_libdir/libqpidclient.so
%_datadir/qpidc/examples
%files server
%defattr(-,root,root,-)
%_datadir/selinux/packages/qpidd.pp
%_libdir/libqpidbroker.so.3
%_libdir/libqpidbroker.so.3.0.0
%_libdir/qpid/daemon/replicating_listener.so
%_libdir/qpid/daemon/replication_exchange.so
%_libdir/qpid/daemon/watchdog.so
%_sbindir/qpidd
%_libexecdir/qpid/qpidd_watchdog
%config(noreplace) %_sysconfdir/qpidd.conf
%config(noreplace) %_sysconfdir/sasl2/qpidd.conf
%{_initrddir}/qpidd
%dir %_libdir/qpid/daemon
%attr(755, qpidd, qpidd) %_localstatedir/lib/qpidd
%attr(755, qpidd, qpidd) /var/run/qpidd
# qpidd.sasldb contains sasl credentials, needs to be readable only by root
%attr(600, qpidd, qpidd) %config(noreplace) %_localstatedir/lib/qpidd/qpidd.sasldb
%doc %_mandir/man1/qpidd.*
%files server-devel
%defattr(-,root,root,-)
%defattr(-,root,root,-)
%_libdir/libqpidbroker.so
%_includedir/qpid/broker
%files -n qmf
%defattr(-,root,root,-)
%_libdir/libqmf.so.1
%_libdir/libqmf.so.1.0.0
%_libdir/libqmfengine.so.1
%_libdir/libqmfengine.so.1.0.1
%_libdir/libqmfconsole.so.3
%_libdir/libqmfconsole.so.3.0.0
%files -n qmf-devel
%defattr(-,root,root,-)
%_libdir/libqmf.so
%_libdir/libqmfengine.so
%_libdir/libqmfconsole.so
%_bindir/qmf-gen
%{python_sitelib}/qmfgen
%files -n ruby-qmf
%defattr(-,root,root,-)
%{ruby_sitelib}/qmf.rb
%{ruby_sitearch}/qmfengine.so
%files server-acl
%defattr(-,root,root,-)
%_libdir/qpid/daemon/acl.so
%files client-rdma
%defattr(-,root,root,-)
%_libdir/librdmawrap.so.0
%_libdir/librdmawrap.so.0.0.0
%_libdir/qpid/client/rdmaconnector.so
%config(noreplace) %_sysconfdir/qpid/qpidc.conf
%files server-rdma
%defattr(-,root,root,-)
%_libdir/qpid/daemon/rdma.so
%files client-ssl
%defattr(-,root,root,-)
%_libdir/libsslcommon.so.3
%_libdir/libsslcommon.so.3.0.0
%_libdir/qpid/client/sslconnector.so
%files server-ssl
%defattr(-,root,root,-)
%_libdir/qpid/daemon/ssl.so
%files server-xml
%defattr(-,root,root,-)
%_libdir/qpid/daemon/xml.so
%files server-cluster
%defattr(-,root,root,-)
%_libdir/qpid/daemon/cluster.so
%files perftest
%defattr(755,root,root,-)
%_bindir/perftest
%_bindir/topic_listener
%_bindir/topic_publisher
%_bindir/latencytest
%_bindir/client_test
%_bindir/txtest
%files client-devel-docs
%defattr(-,root,root,-)
%doc ../qpidc-%{version}/cpp/docs/api/html
%ifarch i386 i586 i686 x86_64
%files server-store
%defattr(-,root,root,-)
%doc ../rhm-0.5.%{rhm_svnrev}/README
%{_libdir}/qpid/daemon/msgstore.so*
# /var/rhm needs to be group writable so that journal files can be updated properly
%attr(0775,qpidd,qpidd) %dir %_localstatedir/rhm
%endif
%post client -p /sbin/ldconfig
%postun client -p /sbin/ldconfig
%post server
# This adds the proper /etc/rc*.d links for the script
/sbin/chkconfig --add qpidd
/sbin/ldconfig
/usr/sbin/semodule -i %_datadir/selinux/packages/qpidd.pp
%preun server
# Check that this is actual deinstallation, not just removing for upgrade.
if [ $1 = 0 ]; then
/sbin/service qpidd stop >/dev/null 2>&1 || :
/sbin/chkconfig --del qpidd
fi
%postun server
if [ "$1" -ge "1" ]; then
/sbin/service qpidd condrestart >/dev/null 2>&1 || :
fi
/sbin/ldconfig
/usr/sbin/semodule -r qpidd
%post client-rdma -p /sbin/ldconfig
%postun client-rdma -p /sbin/ldconfig
%post client-ssl -p /sbin/ldconfig
%postun client-ssl -p /sbin/ldconfig
%post -n qmf -p /sbin/ldconfig
%postun -n qmf -p /sbin/ldconfig
%changelog
* Mon Feb 8 2010 Nuno Santos <nsantos at nsantos-laptop> - 0.5.829175-4
- Package rename
* Wed Dec 2 2009 Nuno Santos <nsantos at redhat.com> - 0.5.829175-3
- Patch for BZ538355
* Tue Nov 3 2009 Nuno Santos <nsantos at redhat.com> - 0.5.829175-2
- Add patch for qmf fixes
* Fri Oct 23 2009 Nuno Santos <nsantos at redhat.com> - 0.5.829175-1
- Rebased to svn rev 829175
* Thu Oct 15 2009 Nuno Santos <nsantos at redhat.com> - 0.5.825677-1
- Rebased to svn rev 825677
* Tue Sep 29 2009 Nuno Santos <nsantos at redhat.com> - 0.5.819819-1
- Rebased to svn rev 819819 for F12 beta
* Thu Sep 24 2009 Nuno Santos <nsantos at redhat.com> - 0.5.818599-1
- Rebased to svn rev 818599
- rhm-cpp-server-store obsoletes rhm top-level package
* Fri Sep 19 2009 Nuno Santos <nsantos at redhat.com> - 0.5.817349
- Rebased to svn rev 817349
* Wed Jul 29 2009 Fabio M. Di Nitto <fdinitto at redhat.com> - 0.5.790661-3
- Update BuildRequires and Requires to use latest stable versions of
corosync and clusterlib.
- Unbreak perftests define (and fix vim spec syntax coloring).
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.5.790661-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Thu Jul 2 2009 Nuno Santos <nsantos at redhat.com> - 0.5.790661-1
- Rebased to svn rev 790661; .so lib numbers bumped
* Fri Jun 26 2009 Nuno Santos <nsantos at redhat.com> - 0.5.788782-1
- Rebased to svn rev 788782
* Mon Jun 22 2009 Nuno Santos <nsantos at redhat.com> - 0.5.787286-1
- Rebased to svn rev 787286
* Wed Jun 10 2009 Fabio M. Di Nitto <fdinitto at redhat.com> - 0.5.752600-8
- update BuildRequires to use corosynclib-devel in correct version.
- update BuildRequires to use clusterlib-devel instead of the obsoleted
cmanlib-devel.
- drop Requires on cmanlib. This should come in automatically as part
of the rpm build process.
- re-align package version to -8. -7 didn't have a changelog entry?
- add patch to port Cluster/Cpg to newest Cpg code.
- change patch tag to use patch0.
* Mon May 4 2009 Nuno Santos <nsantos at redhat.com> - 0.5.752600-5
- patch for SASL credentials refresh
* Wed Apr 1 2009 Michael Schwendt <mschwendt at fedoraproject.org> - 0.5.752600-5
- Fix unowned examples directory in -devel pkg.
* Mon Mar 16 2009 Nuno Santos <nsantos at localhost.localdomain> - 0.5.752600-4
- BZ483925 - split docs into a separate noarch subpackage
* Mon Mar 16 2009 Nuno Santos <nsantos at redhat.com> - 0.5.752600-3
- Disable auth by default; fix selinux requires
* Wed Mar 11 2009 Nuno Santos <nsantos at redhat.com> - 0.5.752600-1
- Rebased to svn rev 752600
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.4.738618-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.4.738618-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Wed Jan 28 2009 Nuno Santos <nsantos at redhat.com> - 0.4.738618-2
- Rebased to svn rev 738618
* Tue Jan 20 2009 Nuno Santos <nsantos at redhat.com> - 0.4.734452-3
- BZ474614 and BZ474613 - qpidc/rhm unowned directories
* Thu Jan 15 2009 Nuno Santos <nsantos at redhat.com> - 0.4.734452-1
- Rebased to svn rev 734452
* Tue Dec 23 2008 Nuno Santos <nsantos at redhat.com> - 0.4.728142-1
- Rebased to svn rev 728142
- Re-enable cluster, now using corosync
* Tue Dec 2 2008 Nuno Santos <nsantos at redhat.com> - 0.3.722557-1
- Rebased to svn rev 722557
- Temporarily disabled cluster due to openais version incompatibility
* Wed Nov 26 2008 Nuno Santos <nsantos at redhat.com> - 0.3.720979-1
- Rebased to svn rev 720979
* Fri Nov 21 2008 Mick Goulish <mgoulish at redhat.com>
- updated to 719552
* Thu Nov 20 2008 Mick Goulish <mgoulish at redhat.com>
- updated to 719323
- For subpackage qpidd-cluster, added dependency to cman-devel.
- For subpackage qpidd-cluster, added dependency to qpidc.
- added BuildRequires cman-devel
* Fri Nov 14 2008 Justin Ross <jross at redhat.com> - 0.3.714072-1
- Update to svn rev 714072
- Enable building --with-cpg
* Wed Nov 12 2008 Justin Ross <jross at redhat.com> - 0.3.713378-1
- Update to svn rev 713378
* Fri Nov 7 2008 Justin Ross <jross at redhat.com> - 0.3.712127-1
- Update to svn rev 712127
* Thu Nov 6 2008 Nuno Santos <nsantos at redhat.com> - 0.3.711915-2
- Removed extraneous openais-devel dependency
* Thu Nov 6 2008 Justin Ross <jross at redhat.com> - 0.3.711915-1
- Update to svn rev 711915
* Tue Nov 4 2008 Nuno Santos <nsantos at redhat.com> - 0.3.709187-2
- Remove extraneous dependency
* Thu Oct 30 2008 Nuno Santos <nsantos at redhat.com> - 0.3.709187-1
- Rebsed to svn rev 709187
* Tue Oct 28 2008 Nuno Santos <nsantos at redhat.com> - 0.3.708576-1
- Rebased to svn rev 708576
* Mon Oct 27 2008 Nuno Santos <nsantos at redhat.com> - 0.3.708210-1
- Rebased to svn rev 708210; address make check libtool issue
* Fri Oct 24 2008 Justin Ross <jross at redhat.com> - 0.3.707724-1
- Update to revision 707724
* Thu Oct 23 2008 Justin Ross <jross at redhat.com> - 0.3.707468-1
- Don't use silly idenity defines
- Add new ssl and rdma subpackages
- Move cluster and xml plugins into their own subpackages
- Reflect new naming of plugins
* Wed Aug 21 2008 Justin Ross <jross at redhat.com> - 0.2.687156-1
- Update to source revision 687156 of the qpid.0-10 branch
* Wed Aug 14 2008 Justin Ross <jross at redhat.com> - 0.2.685273-1
- Update to source revision 685273 of the qpid.0-10 branch
* Wed Aug 6 2008 Justin Ross <jross at redhat.com> - 0.2.683301-1
- Update to source revision 683301 of the qpid.0-10 branch
* Thu Jul 15 2008 Justin Ross <jross at redhat.com> - 0.2.676581-1
- Update to source revision 676581 of the qpid.0-10 branch
- Work around home dir creation problem
- Use a license string that rpmlint likes
* Thu Jul 10 2008 Nuno Santos <nsantos at redhat.com> - 0.2.667603-3
- BZ453818: added additional tests to -perftest
* Thu Jun 13 2008 Justin Ross <jross at redhat.com> - 0.2.667603-1
- Update to source revision 667603
* Thu Jun 12 2008 Justin Ross <jross at redhat.com> - 0.2.667253-1
- Update to source revision 667253
* Thu Jun 12 2008 Nuno Santos <nsantos at redhat.com> - 0.2.666138-5
- add missing doc files
* Wed Jun 11 2008 Justin Ross <jross at redhat.com> - 0.2.666138-3
- Added directories for modules and pid files to install script
* Wed May 28 2008 David Sommerseth <dsommers at redhat.com> - 0.2.663761-1
- Added perftest utilities
* Thu May 22 2008 Nuno Santos <nsantos at redhat.com> - 0.2.656926-4
- Additional build flags for i686
* Tue May 20 2008 Nuno Santos <nsantos at redhat.com> - 0.2.656926-3
- BZ 432872: remove examples, which are being packaged separately
* Tue May 20 2008 Justin Ross <jross at redhat.com> -0.2.656926-2
- Drop build requirements for graphviz and help2man
* Wed May 14 2008 Nuno Santos <nsantos at redhat.com> - 0.2-34
- Bumped for Beta 4 release
* Fri May 9 2008 Matthew Farrellee <mfarrellee at redhat> - 0.2-33
- Moved qpidd.conf from qpidc package to qpidd package
- Added BuildRequires xqilla-devel and xerces-c-devel to qpidd for XML Exchange
- Added BuildRequires openais-devel to qpidd for CPG
- Added missing Requires xqilla-devel to qpidd-devel
* Thu May 8 2008 Matthew Farrellee <mfarrellee at redhat> - 0.2-32
- Added sasl2 config file for qpidd
- Added cyrus-sasl dependencies
* Wed May 7 2008 Matthew Farrellee <mfarrellee at redhat> - 0.2-31
- Added python dependency, needed by managementgen
* Wed May 7 2008 Matthew Farrellee <mfarrellee at redhat> - 0.2-30
- Added management-types.xml to qpidc-devel package
* Tue May 6 2008 Matthew Farrellee <mfarrellee at redhat> - 0.2-29
- Added managementgen to the qpidc-devel package
* Mon Apr 14 2008 Nuno Santos <nsantos at redhat.com> - 0.2-28
- Fix home dir permissions
- Bumped for Fedora 9
* Mon Mar 31 2008 Nuno Santos <nsantos at redhat.com> - 0.2-25
- Create user qpidd, start qpidd service as qpidd
* Mon Feb 18 2008 Rafael Schloming <rafaels at redhat.com> - 0.2-24
- Bug fix for TCK issue in Beta 3
* Thu Feb 14 2008 Rafael Schloming <rafaels at redhat.com> - 0.2-23
- Bumped to pull in fixes for Beta 3
* Tue Feb 12 2008 Alan Conway <aconway at redhat.com> - 0.2-22
- Added -g to compile flags for debug symbols.
* Tue Feb 12 2008 Alan Conway <aconway at redhat.com> - 0.2-21
- Create /var/lib/qpidd correctly.
* Mon Feb 11 2008 Rafael Schloming <rafaels at redhat.com> - 0.2-20
- bumped for Beta 3
* Mon Jan 21 2008 Gordon Sim <gsim at redhat.com> - 0.2-18
- bump up rev for recent changes to plugin modules & mgmt
* Thu Jan 03 2008 Nuno Santos <nsantos at redhat.com> - 0.2-17
- add missing header file SessionManager.h
* Thu Jan 03 2008 Nuno Santos <nsantos at redhat.com> - 0.2-16
- limit builds to i386 and x86_64 archs
* Thu Jan 03 2008 Nuno Santos <nsantos at redhat.com> - 0.2-15
- add ruby as a build dependency
* Tue Dec 18 2007 Nuno Santos <nsantos at redhat.com> - 0.2-14
- include fixes from Gordon Sim (fragmentation, lazy-loading, staging)
and Alan Conway (exception handling in the client).
* Thu Dec 6 2007 Alan Conway <aconway at redhat.com> - 0.2-13
- installcheck target to build examples in installation.
* Thu Nov 8 2007 Alan Conway <aconway at redhat.com> - 0.2-10
- added examples to RPM package.
* Thu Oct 9 2007 Alan Conway <aconway at redhat.com> - 0.2-9
- added config(noreplace) for qpidd.conf
* Thu Oct 4 2007 Alan Conway <aconway at redhat.com> - 0.2-8
- Added qpidd.conf configuration file.
- Updated man page to detail configuration options.
* Thu Sep 20 2007 Alan Conway <aconway at redhat.com> - 0.2-7
- Removed apr dependency.
* Wed Aug 1 2007 Alan Conway <aconway at redhat.com> - 0.2-6
- added --disable-cluster flag
* Tue Apr 17 2007 Alan Conway <aconway at redhat.com> - 0.2-5
- Add missing Requires: e2fsprogs-devel for qpidc-devel.
* Tue Apr 17 2007 Alan Conway <aconway at redhat.com> - 0.2-4
- longer broker_start timeout to avoid failures in plague builds.
* Tue Apr 17 2007 Alan Conway <aconway at redhat.com> - 0.2-3
- Add missing Requires: apr in qpidc.
* Mon Apr 16 2007 Alan Conway <aconway at redhat.com> - 0.2-2
- Bugfix for memory errors on x86_64.
* Thu Apr 12 2007 Alan Conway <aconway at redhat.com> - 0.2-1
- Bumped version number for rhm dependencies.
* Wed Apr 11 2007 Alan Conway <aconway at redhat.com> - 0.1-5
- Add qpidd-devel sub-package.
* Mon Feb 19 2007 Jim Meyering <meyering at redhat.com> - 0.1-4
- Address http://bugzilla.redhat.com/220630:
- Remove redundant "cppunit" build-requires.
- Add --disable-static.
* Thu Jan 25 2007 Alan Conway <aconway at redhat.com> - 0.1-3
- Applied Jim Meyerings fixes from http://mail-archives.apache.org/mod_mbox/incubator-qpid-dev/200701.mbox/<87hcugzmyp.fsf@rho.meyering.net>
* Mon Dec 22 2006 Alan Conway <aconway at redhat.com> - 0.1-1
- Fixed all rpmlint complaints (with help from David Lutterkort)
- Added qpidd --daemon behaviour, fix init.rc scripts
* Fri Dec 8 2006 David Lutterkort <dlutter at redhat.com> - 0.1-1
- Initial version based on Jim Meyering's sketch and discussions with Alan
Conway
--- NEW FILE qpidd.pp ---
ÿ|ù ÌB ÿ|ù SE Linux Module qpidd 1.0 - - $ netlink_audit_socket nlmsg_relay
append bind connect create write relabelfrom ioctl name_bind nlmsg_readpriv nlmsg_write sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen
nlmsg_read
tcp_socket
append bind connect create write relabelfrom
acceptfrom connectto ioctl name_bind node_bind newconn sendto recv_msg send_msg getattr setattr accept getopt name_connect read setopt shutdown recvfrom lock relabelto
listen
msgq associate create write unix_read destroy getattr setattr read
enqueue
unix_write dir rmdir
append create execute write relabelfrom link unlink ioctl remove_name getattr setattr add_name reparent read
rename search lock relabelto mounton quotaon swapon blk_file
append create execute write relabelfrom link unlink ioctl getattr setattr read
rename lock relabelto mounton quotaon swapon
chr_file
append create execute write relabelfrom link unlink ioctl
entrypoint getattr setattr execmod read
rename lock relabelto execute_no_trans mounton quotaon swapon ipc associate create write unix_read destroy getattr setattr read
unix_write lnk_file
append create execute write relabelfrom link unlink ioctl getattr setattr read
rename lock relabelto mounton quotaon swapon process getcap setcap sigstop sigchld share execheap
setcurrent setfscreate setkeycreate siginh
dyntransition
transition fork
getsession
noatsecure sigkill signull setrlimit getattr getsched setexec
setsched getpgid
setpgid ptrace execstack rlimitinh
setsockcreate signal execmem fd use * packet flow_out send recv relabelto flow_in socket
append bind connect create write relabelfrom ioctl name_bind sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen
fifo_file
append create execute write relabelfrom link unlink ioctl getattr setattr read
rename lock relabelto mounton quotaon swapon file
append create execute write relabelfrom link unlink ioctl
entrypoint getattr setattr execmod read
rename lock relabelto execute_no_trans mounton quotaon swapon node
rawip_recv tcp_recv udp_recv
rawip_send tcp_send udp_send dccp_recv dccp_send enforce_dest ! netlink_nflog_socket
append bind connect create write relabelfrom ioctl name_bind sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen + key create write view link setattr read search netlink_tcpdiag_socket
append bind connect create write relabelfrom ioctl name_bind nlmsg_write sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen
nlmsg_read unix_stream_socket
append bind connect create write relabelfrom
acceptfrom connectto ioctl name_bind newconn sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen netlink_route_socket
append bind connect create write relabelfrom ioctl name_bind nlmsg_write sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen
nlmsg_read
shm associate create write unix_read destroy getattr setattr read
lock
unix_write # netlink_selinux_socket
append bind connect create write relabelfrom ioctl name_bind sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen
capability setpcap fowner sys_boot sys_tty_config net_raw sys_admin
sys_chroot
sys_module sys_rawio dac_override ipc_owner kill dac_read_search sys_pacct
net_broadcast net_bind_service sys_nice sys_time fsetid mknod setgid setuid lease
net_admin audit_write
linux_immutable
sys_ptrace
audit_control ipc_lock sys_resource chown % netlink_ip6fw_socket
append bind connect create write relabelfrom ioctl name_bind nlmsg_write sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen
nlmsg_read , dccp_socket
append bind connect create write relabelfrom ioctl name_bind node_bind sendto recv_msg send_msg getattr setattr accept getopt name_connect read setopt shutdown recvfrom lock relabelto
listen netlink_firewall_socket
append bind connect create write relabelfrom ioctl name_bind nlmsg_write sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen
nlmsg_read sock_file
append create execute write relabelfrom link unlink ioctl getattr setattr read
rename lock relabelto mounton quotaon swapon unix_dgram_socket
append bind connect create write relabelfrom ioctl name_bind sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen ( netlink_kobject_uevent_socket
append bind connect create write relabelfrom ioctl name_bind sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen
filesystem associate
quotaget relabelfrom
transition getattr quotamod mount remount unmount relabelto " netlink_xfrm_socket
append bind connect create write relabelfrom ioctl name_bind nlmsg_write sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen
nlmsg_read & netlink_dnrt_socket
append bind connect create write relabelfrom ioctl name_bind sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen
key_socket
append bind connect create write relabelfrom ioctl name_bind sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen netif
rawip_recv tcp_recv udp_recv
rawip_send tcp_send udp_send dccp_recv dccp_send
packet_socket
append bind connect create write relabelfrom ioctl name_bind sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen
- memprotect mmap_zero msg send receive
udp_socket
append bind connect create write relabelfrom ioctl name_bind node_bind sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen ) appletalk_socket
append bind connect create write relabelfrom ioctl name_bind sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen rawip_socket
append bind connect create write relabelfrom ioctl name_bind node_bind sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen ' association
setcontext sendto recvfrom polmatch netlink_socket
append bind connect create write relabelfrom ioctl name_bind sendto recv_msg send_msg getattr setattr accept getopt read setopt shutdown recvfrom lock relabelto
listen sem associate create write unix_read destroy getattr setattr read
unix_write system ipc_info syslog_read syslog_console
syslog_mod security compute_member compute_user compute_create
setenforce
check_context setcheckreqprot compute_relabel setbool load_policy
setsecparam
compute_av object_r@ @ @ system_r@ @ @ @ @ initrc_t @ ccs_t @ tmpfs_t s0 @ c0 c1023 @ @ @ @ @ @ @ @ @ @ @ @ W @ @ @ @ @ @ ô @ @ @ @ @ @ ô @ @ @ @ @ @ @ @ ÿÿÿÿÿ @ @ @ @ @ @ @ @
@ @ - @ @ ÿ @ @ ÿÿÿ? @ @ @ @ ÿÿÿ @ @ ÿ @ @ ÿÿ @ @ ÿÿ? @ @ @ @ ÿÿ @ @ ÿÿ @ @ ÿÿ @ @ ÿÿ @ @ ÿÿ @ @ ÿÿ? @ @ ÿÿÿ @ @ ÿÿ @ @ ÿÿ @ @ ÿ @ @ ÿ @ @ ÿÿ? @ @ ÿÿ? @ @ ÿÿ? @ @ ÿÿÿ @ @ ÿÿ? @ @ ÿ @ @ @ @ ÿ @ @ ÿ @ @ ÿ @ @ ÿÿÿ @ @ ÿÿÿ @ @ ÿÿÿ @ @ ÿÿ? @ @ ÿÿÿ @ @ ÿÿ? @ @ ÿÿÿ @ @ ÿÿÿ @ @ ÿÿ? @ @ @ @
ÿÿ? @ @ ÿÿ? @ @ @ @ @ @ ÿÿÿ @ @ @ @ @ @ @ @ @ @ - netlink_audit_socket
tcp_socket msgq dir blk_file chr_file ipc lnk_file process fd packet socket fifo_file file node netlink_nflog_socket key netlink_tcpdiag_socket unix_stream_socket netlink_route_socket shm netlink_selinux_socket
capability netlink_ip6fw_socket dccp_socket netlink_firewall_socket sock_file unix_dgram_socket netlink_kobject_uevent_socket
filesystem netlink_xfrm_socket netlink_dnrt_socket
key_socket netif
packet_socket
memprotect msg
udp_socket appletalk_socket rawip_socket association netlink_socket sem system security object_r system_r initrc_t ccs_t tmpfs_t s0 c0 c1023 ÿ|ù
#
# Directory patterns (dir)
#
# Parameters:
# 1. domain type
# 2. container (directory) type
# 3. directory type
#
#
# Regular file patterns (file)
#
# Parameters:
# 1. domain type
# 2. container (directory) type
# 3. file type
#
#
# Symbolic link patterns (lnk_file)
#
# Parameters:
# 1. domain type
# 2. container (directory) type
# 3. file type
#
#
# (Un)named Pipes/FIFO patterns (fifo_file)
#
# Parameters:
# 1. domain type
# 2. container (directory) type
# 3. file type
#
#
# (Un)named sockets patterns (sock_file)
#
# Parameters:
# 1. domain type
# 2. container (directory) type
# 3. file type
#
#
# Block device node patterns (blk_file)
#
# Parameters:
# 1. domain type
# 2. container (directory) type
# 3. file type
#
#
# Character device node patterns (chr_file)
#
# Parameters:
# 1. domain type
# 2. container (directory) type
# 3. file type
#
#
# File type_transition patterns
#
# pattern(domain,dirtype,newtype,class(es))
#
#
# unix domain socket patterns
#
########################################
#
# Macros for switching between source policy
# and loadable policy module support
#
##############################
#
# For adding the module statement
#
##############################
#
# For use in interfaces, to optionally insert a require block
#
# helper function, since m4 wont expand macros
# if a line is a comment (#):
##############################
#
# In the future interfaces should be in loadable modules
#
# template(name,rules)
#
##############################
#
# In the future interfaces should be in loadable modules
#
# interface(name,rules)
#
##############################
#
# Optional policy handling
#
##############################
#
# Determine if we should use the default
# tunable value as specified by the policy
# or if the override value should be used
#
##############################
#
# Extract booleans out of an expression.
# This needs to be reworked so expressions
# with parentheses can work.
##############################
#
# Tunable declaration
#
##############################
#
# Tunable policy handling
#
########################################
#
# Helper macros
#
#
# shiftn(num,list...)
#
# shift the list num times
#
#
# ifndef(expr,true_block,false_block)
#
# m4 does not have this.
#
#
# __endline__
#
# dummy macro to insert a newline. used for
# errprint, so the close parentheses can be
# indented correctly.
#
########################################
#
# refpolwarn(message)
#
# print a warning message
#
########################################
#
# refpolerr(message)
#
# print an error message. does not
# make anything fail.
#
########################################
#
# gen_user(username, prefix, role_set, mls_defaultlevel, mls_range, [mcs_categories])
#
########################################
#
# gen_context(context,mls_sensitivity,[mcs_categories])
#
########################################
#
# can_exec(domain,executable)
#
########################################
#
# gen_bool(name,default_value)
#
#
# Specified domain transition patterns
#
# compatibility:
#
# Automatic domain transition patterns
#
# compatibility:
#
# Other process permissions
#
########################################
#
# gen_cats(N)
#
# declares categores c0 to c(N-1)
#
########################################
#
# gen_sens(N)
#
# declares sensitivites s0 to s(N-1) with dominance
# in increasing numeric order with s0 lowest, s(N-1) highest
#
########################################
#
# gen_levels(N,M)
#
# levels from s0 to (N-1) with categories c0 to (M-1)
#
########################################
#
# Basic level names for system low and high
#
########################################
#
# Support macros for sets of object classes and permissions
#
# This file should only have object class and permission set macros - they
# can only reference object classes and/or permissions.
#
# All directory and file classes
#
#
# All non-directory file classes.
#
#
# Non-device file classes.
#
#
# Device file classes.
#
#
# All socket classes.
#
#
# Datagram socket classes.
#
#
# Stream socket classes.
#
#
# Unprivileged socket classes (exclude rawip, netlink, packet).
#
########################################
#
# Macros for sets of permissions
#
#
# Permissions for getting file attributes.
#
#
# Permissions for executing files.
#
#
# Permissions for reading files and their attributes.
#
#
# Permissions for reading and executing files.
#
#
# Permissions for reading and appending to files.
#
#
# Permissions for linking, unlinking and renaming files.
#
#
# Permissions for creating lnk_files.
#
#
# Permissions for creating and using files.
#
#
# Permissions for reading directories and their attributes.
#
#
# Permissions for reading and writing directories and their attributes.
#
#
# Permissions for reading and adding names to directories.
#
#
# Permissions for creating and using directories.
#
#
# Permissions to mount and unmount file systems.
#
#
# Permissions for using sockets.
#
#
# Permissions for creating and using sockets.
#
#
# Permissions for using stream sockets.
#
#
# Permissions for creating and using stream sockets.
#
#
# Permissions for creating and using sockets.
#
#
# Permissions for creating and using sockets.
#
#
# Permissions for creating and using netlink sockets.
#
#
# Permissions for using netlink sockets for operations that modify state.
#
#
# Permissions for using netlink sockets for operations that observe state.
#
#
# Permissions for sending all signals.
#
#
# Permissions for sending and receiving network packets.
#
#
# Permissions for using System V IPC
#
########################################
#
# New permission sets
#
#
# Directory
#
#
# File
#
#
# Use (read and write) terminals
#
#
# Sockets
#
########################################
#
# New permission sets
#
#
# Directory (dir)
#
#
# Regular file (file)
#
#
# Symbolic link (lnk_file)
#
#
# (Un)named Pipes/FIFOs (fifo_file)
#
#
# (Un)named Sockets (sock_file)
#
#
# Block device nodes (blk_file)
#
#
# Character device nodes (chr_file)
#
########################################
#
# Special permission sets
#
#
# Use (read and write) terminals
#
#
# Sockets
#
so_number.patch:
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE so_number.patch ---
--- cpp/configure.ac 2009-09-02 10:32:57.000000000 -0400
+++ cpp/configure.ac 2009-09-29 10:27:07.393678846 -0400
@@ -112,7 +112,7 @@
LIBS=$gl_saved_libs
# Set the argument to be used in "libtool -version-info ARG".
-QPID_CURRENT=2
+QPID_CURRENT=3
QPID_REVISION=0
QPID_AGE=0
LIBTOOL_VERSION_INFO_ARG=$QPID_CURRENT:$QPID_REVISION:$QPID_AGE
xqilla.patch:
XmlExchange.cpp | 44 +++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 43 insertions(+), 1 deletion(-)
--- NEW FILE xqilla.patch ---
--- qpidc-0.5.819819/cpp/src/qpid/xml/XmlExchange.cpp 2010-02-08 10:08:03.000000000 +0000
+++ qpidc-0.5.819819/cpp/src/qpid/xml/XmlExchange.cpp 2010-02-08 10:17:33.000000000 +0000
@@ -38,6 +38,8 @@
#include <xqilla/context/ItemFactory.hpp>
#include <xqilla/xqilla-simple.hpp>
+#include <xqilla/utils/XPath2Utils.hpp>
+#include <xqilla/exceptions/XPath2TypeMatchException.hpp>
#include <iostream>
#include <sstream>
@@ -133,6 +135,46 @@
}
}
+namespace
+{
+ static bool getEffectiveBooleanValueInternal(const Item::Ptr &first, const Item::Ptr &second, DynamicContext* context, const LocationInfo *info)
+ {
+ // If its operand is a singleton value ...
+ if(second == NULLRCP && first->isAtomicValue()) {
+ const AnyAtomicType::Ptr atom=first;
+ // ... of type xs:boolean or derived from xs:boolean, fn:boolean returns the value of its operand unchanged.
+ if(atom->getPrimitiveTypeIndex() == AnyAtomicType::BOOLEAN)
+ return ((const ATBooleanOrDerived::Ptr)atom)->isTrue();
+
+ // ... of type xs:string, xdt:untypedAtomic, or a type derived from one of these, fn:boolean returns false
+ // if the operand value has zero length; otherwise it returns true.
+ if((atom->getPrimitiveTypeIndex() == AnyAtomicType::STRING ||
+ atom->getPrimitiveTypeIndex() == AnyAtomicType::ANY_URI ||
+ atom->getPrimitiveTypeIndex() == AnyAtomicType::UNTYPED_ATOMIC))
+ return !XPath2Utils::equals(atom->asString(context), XERCES_CPP_NAMESPACE_QUALIFIER XMLUni::fgZeroLenString);
+
+ // ... of any numeric type or derived from a numeric type, fn:boolean returns false if the operand value is
+ // NaN or is numerically equal to zero; otherwise it returns true.
+ if(atom->isNumericValue()) {
+ const Numeric::Ptr number=atom;
+ return (!number->isZero() && !number->isNaN());
+ }
+ }
+
+ // In all other cases, fn:boolean raises a type error.
+ XQThrow3(XPath2TypeMatchException,X("ResultImpl::getEffectiveBooleanValue"), X("Effective Boolean Value cannot be extracted from this type [err:FORG0006]"), info);
+ return true;
+ }
+
+ bool getEffectiveBooleanValue(Result &result, DynamicContext* context, const LocationInfo *info)
+ {
+ const Item::Ptr first = result->next(context);
+ if(first == NULLRCP) return false;
+ if(first->isNode()) return true;
+ return getEffectiveBooleanValueInternal(first, result->next(context), context, info);
+ }
+}
+
bool XmlExchange::matches(Query& query, Deliverable& msg, const qpid::framing::FieldTable* args, bool parse_message_content)
{
string msgContent;
@@ -179,7 +221,7 @@
}
Result result = query->execute(context.get());
- return result->getEffectiveBooleanValue(context.get(), 0);
+ return getEffectiveBooleanValue(result, context.get(), 0);
}
catch (XQException& e) {
QPID_LOG(warning, "Could not parse XML content (or message headers):" << msgContent);
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/qpid-cpp/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- .cvsignore 25 Feb 2010 18:52:23 -0000 1.1
+++ .cvsignore 25 Feb 2010 20:26:37 -0000 1.2
@@ -0,0 +1,2 @@
+qpidc-0.5.829175.tar.gz
+rhm-0.5.3684.tar.gz
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/qpid-cpp/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- sources 25 Feb 2010 18:52:23 -0000 1.1
+++ sources 25 Feb 2010 20:26:37 -0000 1.2
@@ -0,0 +1,2 @@
+38777aa2e3e9597111423213a879cb73 qpidc-0.5.829175.tar.gz
+18b1134366efd0e22ac87d0dcd423443 rhm-0.5.3684.tar.gz
More information about the scm-commits
mailing list