debian/0000775000000000000000000000000012235645414007176 5ustar debian/source/0000775000000000000000000000000011761425160010473 5ustar debian/source/lintian-overrides0000664000000000000000000000010611761425160014051 0ustar rhmessaging source: package-needs-versioned-debhelper-build-depends 9 debian/source/format0000664000000000000000000000001411761425160011701 0ustar 3.0 (quilt) debian/copyright0000664000000000000000000000476011761425160011135 0ustar Format: http://dep.debian.net/deps/dep5/ Debianized-By: Cajus Pollmeier Debianized-Date: Sat, 16 Jan 2010 14:22:29 +0100. Upstream-Name: rhmessaging Upstream-Contact: QPID development team Original-Source: http://qpidcomponents.org Files: * Copyright: 2007-2010 Red Hat, Inc. License: LGPL-2.1 Files: lib/gen/* tests/python_tests/brokertest.py Copyright: 2007-2010 Red Hat, Inc. License: APL-2.0 Files: debian/* Copyright: 2010-2012 Cajus Pollmeier License: GPL-2+ License: GPL-2+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. License: LGPL-2.1 This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 2.1 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . On Debian systems, the complete text of the GNU Lesser General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. License: APL-2.0 Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. The ASF licenses this work to You under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . On a Debian system, the license can be found at /usr/share/common-licenses/Apache-2.0 . debian/changelog0000664000000000000000000000250712235645414011054 0ustar rhmessaging (0.16-1ubuntu3) trusty; urgency=low * Bump 5.1 detection patches to 5.3. * Patch -Werror=sizeof-pointer-memaccess. -- Dmitrijs Ledkovs Mon, 04 Nov 2013 06:55:05 +0000 rhmessaging (0.16-1ubuntu2) raring; urgency=low * Added missing libs to link, fixing FTBFS. -- Daniel T Chen Thu, 18 Apr 2013 00:49:51 -0400 rhmessaging (0.16-1ubuntu1) quantal; urgency=low * Fix build failure on ARM. -- Matthias Klose Sat, 13 Oct 2012 15:33:30 +0200 rhmessaging (0.16-1) unstable; urgency=low * New upstream release. * Build against 0.16 Qpid release. Closes: #674331. * Re-enabled most of the tests (federation is disabled for now). * Build for all instead of linux-all. -- Cajus Pollmeier Sat, 19 May 2012 11:19:10 +0200 rhmessaging (0.14-2) unstable; urgency=low * Applied a couple of compile fixes to make things work with GCC 4.7 series. (Closes: #667357) -- Cajus Pollmeier Sat, 07 Apr 2012 11:19:14 +0200 rhmessaging (0.14-1) unstable; urgency=low * New upstream release. -- Cajus Pollmeier Wed, 01 Feb 2012 15:55:20 +0100 rhmessaging (0.12-1) unstable; urgency=low * Initial release. (Closes: #646085) -- Cajus Pollmeier Fri, 06 May 2011 11:59:58 +0200 debian/control0000664000000000000000000000237012133675553010607 0ustar Source: rhmessaging Section: misc Priority: extra Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Cajus Pollmeier Build-Depends: dpkg-dev (>= 1.16.1~), debhelper (>= 7.0.50~), autotools-dev, autoconf (>= 2.61), automake (>= 1.9.6), libtool (>= 1.5.22), libqpidtypes1-dev (>= 0.16-6), libqpidcommon2-dev (>= 0.16-6), libqmf2-dev (>=0.16-6), libqpidbroker2-dev (>=0.16-6), libaio-dev, libdb++-dev, python (>= 2.6.6-3~), libboost-all-dev (>= 1.35), uuid-dev, valgrind [any-i386 any-amd64 arm], python-qpid, python-qmf, python-qpid-extras-qmf, qpidd (>= 0.16-6), qpid-tools, procps X-Python-Version: >= 2.6 Standards-Version: 3.9.3 Homepage: http://qpidcomponents.org Package: qpidd-msgstore Architecture: any Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends}, qpidd (>= 0.16-6) Provides: ${python:Provides} Description: enterprise messaging system - AMQP broker persistence module Apache Qpid is a cross-platform enterprise messaging system which implements the Advanced Message Queuing Protocol (AMQP), providing message brokers written in C++ and Java, along with clients for C++, Java JMS, .Net, Python, and Ruby. . This package provides the persistence component for the AMQP broker. debian/lintian-override0000664000000000000000000000011711763620663012377 0ustar qpidd-msgstore: hardening-no-fortify-functions usr/lib/qpid/daemon/msgstore.so debian/rules0000775000000000000000000000223211763573616010266 0ustar #!/usr/bin/make -f # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 export QPID_PREFIX=/usr UPSTREAM = http://anonsvn.jboss.org/repos/rhmessaging/store/tags PACKAGE := $(shell dpkg-parsechangelog | sed -ne 's/^Source: \(.*\)$$/\1/p') SRC_VERSION := $(shell dpkg-parsechangelog | sed -ne 's/^Version: \(\([0-9]\+\):\)\?\(.*\)-.*/\3/p') TARBALL = $(PACKAGE)_$(SRC_VERSION).orig.tar.gz DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/buildflags.mk CXXFLAGS += -Wno-error=cast-qual -Wno-error=cast-align export CXXFLAGS .PHONY: get-orig-source get-orig-source: rm -rf get-orig-source $(TARBALL) mkdir -p get-orig-source/tmp svn export $(UPSTREAM)/qpid-$(SRC_VERSION)-release/cpp get-orig-source/$(PACKAGE)-$(SRC_VERSION) GZIP='--best --no-name' tar czf $(TARBALL) -C get-orig-source $(PACKAGE)-$(SRC_VERSION) rm -rf get-orig-source echo " "$(TARBALL)" created; move it to the right destination to build the package" override_dh_auto_configure: ./bootstrap dh_auto_configure -- --with-qpid-prefix=/usr --with-sysconfigdir=/etc/qpid override_dh_install: dh_install rm debian/qpidd-msgstore/usr/lib/qpid/daemon/msgstore.la %: dh $@ --with python2 debian/patches/0000775000000000000000000000000012235645402010622 5ustar debian/patches/disable-federation-test.patch0000664000000000000000000000040111763617033016340 0ustar --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -29,7 +29,7 @@ TMP_DATA_DIR=$(abs_srcdir)/tmp_data_dir TMP_PYTHON_TEST_DIR=$(abs_srcdir)/python_tests.tmp -SUBDIRS = jrnl . federation +SUBDIRS = jrnl . if DO_CLUSTER_TESTS SUBDIRS += cluster endif debian/patches/arm.patch0000664000000000000000000000112312036266646012427 0ustar Index: rhmessaging-0.16/lib/jrnl/jcfg.hpp =================================================================== --- rhmessaging-0.16.orig/lib/jrnl/jcfg.hpp 2011-12-05 16:14:39.000000000 +0000 +++ rhmessaging-0.16/lib/jrnl/jcfg.hpp 2012-10-13 13:33:05.505886309 +0000 @@ -33,7 +33,7 @@ #ifndef mrg_journal_jcfg_hpp #define mrg_journal_jcfg_hpp -#if defined(__i386__) /* little endian, 32 bits */ +#if defined(__i386__) || defined(__ARM_EABI__) /* little endian, 32 bits */ #define JRNL_LITTLE_ENDIAN #define JRNL_32_BIT #elif defined(__PPC__) || defined(__s390__) /* big endian, 32 bits */ debian/patches/gcc-47-compile-fixes.patch0000664000000000000000000001534111761425160015375 0ustar --- a/lib/DataTokenImpl.h +++ b/lib/DataTokenImpl.h @@ -25,8 +25,8 @@ #define _DataTokenImpl_ #include "jrnl/data_tok.hpp" -#include #include +#include namespace mrg { namespace msgstore { --- a/lib/TxnCtxt.h +++ b/lib/TxnCtxt.h @@ -24,7 +24,6 @@ #ifndef _TxnCtxt_ #define _TxnCtxt_ -#include #include #include #include @@ -38,6 +37,8 @@ #include "qpid/sys/Mutex.h" #include "qpid/sys/uuid.h" +#include + namespace mrg { namespace msgstore { --- a/lib/jrnl/fcntl.cpp +++ b/lib/jrnl/fcntl.cpp @@ -39,6 +39,7 @@ #include "jrnl/jerrno.hpp" #include "jrnl/jexception.hpp" #include +#include namespace mrg { --- a/lib/jrnl/jdir.cpp +++ b/lib/jrnl/jdir.cpp @@ -42,6 +42,7 @@ #include "jrnl/jexception.hpp" #include #include +#include namespace mrg { --- a/lib/jrnl/deq_rec.cpp +++ b/lib/jrnl/deq_rec.cpp @@ -115,7 +115,7 @@ { if (wsize > rem) wsize = rem; - std::memcpy(wptr, (char*)_xidp + rec_offs, wsize); + std::memcpy(wptr, (const char*)_xidp + rec_offs, wsize); wr_cnt += wsize; rem -= wsize; } @@ -143,7 +143,7 @@ std::size_t wsize = _deq_hdr._xidsize > rec_offs ? _deq_hdr._xidsize - rec_offs : 0; if (wsize) { - std::memcpy(wptr, (char*)_xidp + rec_offs, wsize); + std::memcpy(wptr, (const char*)_xidp + rec_offs, wsize); wr_cnt += wsize; } rec_offs -= _deq_hdr._xidsize - wsize; --- a/lib/jrnl/enq_rec.cpp +++ b/lib/jrnl/enq_rec.cpp @@ -142,7 +142,7 @@ { if (wsize > rem) wsize = rem; - std::memcpy((char*)wptr + wr_cnt, (char*)_data + rec_offs, wsize); + std::memcpy((char*)wptr + wr_cnt, (const char*)_data + rec_offs, wsize); wr_cnt += wsize; rem -= wsize; } @@ -171,14 +171,14 @@ std::size_t wsize = _enq_hdr._xidsize > rec_offs ? _enq_hdr._xidsize - rec_offs : 0; if (wsize) { - std::memcpy(wptr, (char*)_xidp + rec_offs, wsize); + std::memcpy(wptr, (const char*)_xidp + rec_offs, wsize); wr_cnt += wsize; } rec_offs -= _enq_hdr._xidsize - wsize; wsize = _enq_hdr._dsize > rec_offs ? _enq_hdr._dsize - rec_offs : 0; if (wsize && !_enq_hdr.is_external()) { - std::memcpy((char*)wptr + wr_cnt, (char*)_data + rec_offs, wsize); + std::memcpy((char*)wptr + wr_cnt, (const char*)_data + rec_offs, wsize); wr_cnt += wsize; } rec_offs -= _enq_hdr._dsize - wsize; --- a/lib/jrnl/jcntl.cpp +++ b/lib/jrnl/jcntl.cpp @@ -955,7 +955,7 @@ ofsp.seekp(file_pos); void* buff = std::malloc(JRNL_DBLK_SIZE); assert(buff != 0); - std::memcpy(buff, (void*)&xmagic, sizeof(xmagic)); + std::memcpy(buff, (const void*)&xmagic, sizeof(xmagic)); // Normally, RHM_CLEAN must be set before these fills are done, but this is a recover // situation (i.e. performance is not an issue), and it makes the location of the write // clear should inspection of the file be required. --- a/lib/jrnl/rrfc.cpp +++ b/lib/jrnl/rrfc.cpp @@ -34,9 +34,14 @@ #include "jrnl/rrfc.hpp" #include +#include +#include #include +#include #include "jrnl/jerrno.hpp" #include "jrnl/jexception.hpp" +#include +#include namespace mrg { --- a/lib/jrnl/txn_rec.cpp +++ b/lib/jrnl/txn_rec.cpp @@ -115,7 +115,7 @@ { if (wsize > rem) wsize = rem; - std::memcpy(wptr, (char*)_xidp + rec_offs, wsize); + std::memcpy(wptr, (const char*)_xidp + rec_offs, wsize); wr_cnt += wsize; rem -= wsize; } @@ -143,7 +143,7 @@ std::size_t wsize = _txn_hdr._xidsize > rec_offs ? _txn_hdr._xidsize - rec_offs : 0; if (wsize) { - std::memcpy(wptr, (char*)_xidp + rec_offs, wsize); + std::memcpy(wptr, (const char*)_xidp + rec_offs, wsize); wr_cnt += wsize; } rec_offs -= _txn_hdr._xidsize - wsize; --- a/lib/jrnl/wmgr.cpp +++ b/lib/jrnl/wmgr.cpp @@ -193,7 +193,7 @@ if (xid_len) // If part of transaction, add to transaction map { - std::string xid((char*)xid_ptr, xid_len); + std::string xid((const char*)xid_ptr, xid_len); _tmap.insert_txn_data(xid, txn_data(rid, 0, dtokp->fid(), true)); } else @@ -293,7 +293,7 @@ { // If the enqueue is part of a pending txn, it will not yet be in emap _emap.lock(dequeue_rid); // ignore rid not found error - std::string xid((char*)xid_ptr, xid_len); + std::string xid((const char*)xid_ptr, xid_len); _tmap.insert_txn_data(xid, txn_data(rid, dequeue_rid, dtokp->fid(), false)); } else @@ -390,7 +390,7 @@ dtokp->set_wstate(data_tok::ABORT_SUBM); // Delete this txn from tmap, unlock any locked records in emap - std::string xid((char*)xid_ptr, xid_len); + std::string xid((const char*)xid_ptr, xid_len); txn_data_list tdl = _tmap.get_remove_tdata_list(xid); // tdl will be empty if xid not found for (tdl_itr itr = tdl.begin(); itr != tdl.end(); itr++) { @@ -480,7 +480,7 @@ dtokp->set_wstate(data_tok::COMMIT_SUBM); // Delete this txn from tmap, process records into emap - std::string xid((char*)xid_ptr, xid_len); + std::string xid((const char*)xid_ptr, xid_len); txn_data_list tdl = _tmap.get_remove_tdata_list(xid); // tdl will be empty if xid not found for (tdl_itr itr = tdl.begin(); itr != tdl.end(); itr++) { @@ -961,7 +961,7 @@ while (_cached_offset_dblks < wdblks) { void* wptr = (void*)((char*)_page_ptr_arr[_pg_index] + _pg_offset_dblks * JRNL_DBLK_SIZE); - std::memcpy(wptr, (void*)&xmagic, sizeof(xmagic)); + std::memcpy(wptr, (const void*)&xmagic, sizeof(xmagic)); #ifdef RHM_CLEAN std::memset((char*)wptr + sizeof(xmagic), RHM_CLEAN_CHAR, JRNL_DBLK_SIZE - sizeof(xmagic)); #endif debian/patches/lib_underlinkage.patch0000664000000000000000000000220612133700331015127 0ustar Index: rhmessaging-0.16/tests/Makefile.am =================================================================== --- rhmessaging-0.16.orig/tests/Makefile.am 2013-04-18 01:12:13.946625613 -0400 +++ rhmessaging-0.16/tests/Makefile.am 2013-04-18 01:12:53.794603847 -0400 @@ -68,16 +68,16 @@ UNIT_TEST_LDADD = -lboost_unit_test_framework $(top_builddir)/lib/msgstore.la SimpleTest_SOURCES = SimpleTest.cpp $(UNIT_TEST_SRCS) -SimpleTest_LDADD = $(UNIT_TEST_LDADD) -lrt +SimpleTest_LDADD = $(UNIT_TEST_LDADD) -lrt -lqpidbroker -lqpidcommon OrderingTest_SOURCES = OrderingTest.cpp $(UNIT_TEST_SRCS) -OrderingTest_LDADD = $(UNIT_TEST_LDADD) -lrt +OrderingTest_LDADD = $(UNIT_TEST_LDADD) -lrt -lqpidbroker -lqpidcommon TransactionalTest_SOURCES = TransactionalTest.cpp $(UNIT_TEST_SRCS) -TransactionalTest_LDADD = $(UNIT_TEST_LDADD) -lrt +TransactionalTest_LDADD = $(UNIT_TEST_LDADD) -lrt -lqpidbroker -lqpidcommon TwoPhaseCommitTest_SOURCES = TwoPhaseCommitTest.cpp $(UNIT_TEST_SRCS) -TwoPhaseCommitTest_LDADD = $(UNIT_TEST_LDADD) -lrt +TwoPhaseCommitTest_LDADD = $(UNIT_TEST_LDADD) -lrt -lqpidbroker -lqpidcommon EXTRA_DIST = \ clean.sh \ debian/patches/patch-warnings.patch0000664000000000000000000000074312235645402014574 0ustar Description: fix -Werror=sizeof-pointer-memaccess Author: Dmitrijs Ledkovs --- rhmessaging-0.16.orig/lib/jrnl/rmgr.cpp +++ rhmessaging-0.16/lib/jrnl/rmgr.cpp @@ -72,7 +72,7 @@ rmgr::initialize(aio_callback* const cbp throw jexception(jerrno::JERR__MALLOC, oss.str(), "rmgr", "initialize"); } _fhdr_aio_cb_ptr = new aio_cb; - std::memset(_fhdr_aio_cb_ptr, 0, sizeof(aio_cb*)); + std::memset(_fhdr_aio_cb_ptr, 0, sizeof(aio_cb)); } void debian/patches/db5.patch0000664000000000000000000000255012235642722012321 0ustar --- a/configure.ac +++ b/configure.ac @@ -179,17 +179,17 @@ AC_SUBST([LIB_DLOPEN]) LIBS=$gl_saved_libs -# 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...)]) +# Require libdb_cxx (any version between 4.2 and 5.3), for the library, and for db_cxx.h. +db5_devel_fail=0 +AC_CHECK_HEADER([db_cxx.h], ,[db5_devel_fail=1]) +test $db5_devel_fail == 1 && \ + AC_MSG_ERROR([db5-devel package missing. Please ensure both db5 and db5-devel are installed. (hint: "yum install db5-devel" should do it...)]) gl_saved_libs=$LIBS -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], +AC_SEARCH_LIBS([__db_open], [db_cxx-5.3 db_cxx-5.1 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.8])) + AC_MSG_ERROR([Couldn't find required library in range db_cxx-4.2 through db_cxx-5.3])) AC_SUBST([LIB_BERKELEY_DB]) LIBS=$gl_saved_libs debian/patches/libexec.patch0000664000000000000000000000113311761425160013254 0ustar --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -19,7 +19,7 @@ # # The GNU Lesser General Public License is available in the file COPYING. -qpidexecdir = $(libexecdir)/qpid +qpidexecdir = $(libdir)/qpid/msgstore qpidexec_SCRIPTS = resize store_chk pkgpyexec_qpiddir = $(pyexecdir)/qpidstore --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -25,7 +25,7 @@ # Definitions for client and daemon plugins PLUGINLDFLAGS=-no-undefined -module -avoid-version -dmoduledir=$(libdir)/qpid/daemon +dmoduledir=/usr/lib/qpid/daemon dmodule_LTLIBRARIES = msgstore.la msgstore_la_LIBADD = \ debian/patches/no-etc.patch0000664000000000000000000000113511761425160013030 0ustar Description: Remove the configuration file from etc. It is not read by anything since the module uses the main qpidd configuration file - which includes a commented version of the removed file. Forwarded: not-needed Author: Cajus Pollmeier --- a/Makefile.am +++ b/Makefile.am @@ -22,12 +22,10 @@ AUTOMAKE_OPTIONS = 1.9.2 foreign ACLOCAL_AMFLAGS = -I m4 -EXTRA_DIST = README etc/rhmd.conf +EXTRA_DIST = README DISTCHECK_CONFIGURE_FLAGS = --with-qpid-checkout=/home/kpvdr/mrg/qpid -sysconf_DATA = etc/rhmd.conf - SUBDIRS = lib tests tools docs # Update libtool, if needed. debian/patches/series0000664000000000000000000000017112235645347012046 0ustar disable-federation-test.patch no-etc.patch libexec.patch db5.patch arm.patch lib_underlinkage.patch patch-warnings.patch debian/compat0000664000000000000000000000000211761425160010371 0ustar 9