[qpid-cpp/f18] Rebased on Qpid 0.22.

Darryl L. Pierce mcpierce at fedoraproject.org
Thu Jun 13 20:29:36 UTC 2013


commit e0f4e437c2729c2e84f4f82904a2915575fff5b7
Author: Darryl L. Pierce <mcpierce at gmail.com>
Date:   Thu Jun 13 14:23:47 2013 -0400

    Rebased on Qpid 0.22.
    
    - The package now uses the CMake build system from Qpid.
    - No longer use a separate source for the store.
    - Resolves: BZ#616080
    - Resolves: BZ#966780
    - Resolves: BZ#967100

 .gitignore                                         |    4 +
 01-Add-support-for-ARM-processors.patch            |   31 ---
 ...JIRA-qpidd.service-file-for-use-on-Fedora.patch |   34 +++
 02-Fixed-db4-on-Fedora.patch                       |   52 ----
 02-QPID-4826-Patch-Perl-bindings-memory-leak.patch |  103 +++++++
 ...ixes-a-memory-leak-in-the-Perl-language-b.patch |   55 ----
 03-QPID-4843-Fixed-the-Perl-spout.pl-example.patch |   29 ++
 ...4857-Fixed-passing-Perl-Message-to-C-code.patch |   47 ++++
 ...-4885-C-examples-install-to-qpid-examples.patch |   38 +++
 ...nly-installs-the-Swig-descriptors-in-usr-.patch |   33 +++
 qpid-cpp.spec                                      |  284 +++++++-------------
 sources                                            |    3 +-
 12 files changed, 389 insertions(+), 324 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 8afbb80..64618fe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,7 @@ store-0.7.3975.tar.gz
 /store-0.18.4512.tar.gz
 /qpid-0.20.tar.gz
 /store-0.20.4521.tar.gz
+/qpid-0.22.tar.gz
+/store-0.22.4521.tar.gz
+/qpid-cpp-0.22.tgz
+/qpid-cpp-0.22.tar.gz
diff --git a/01-NO-JIRA-qpidd.service-file-for-use-on-Fedora.patch b/01-NO-JIRA-qpidd.service-file-for-use-on-Fedora.patch
new file mode 100644
index 0000000..b746cb3
--- /dev/null
+++ b/01-NO-JIRA-qpidd.service-file-for-use-on-Fedora.patch
@@ -0,0 +1,34 @@
+From e4cd249cc5f804b85e8ae2063dcc32edc24c5dd9 Mon Sep 17 00:00:00 2001
+From: "Darryl L. Pierce" <mcpierce at gmail.com>
+Date: Wed, 3 Apr 2013 10:07:37 -0400
+Subject: [PATCH 1/6] NO-JIRA: qpidd.service file for use on Fedora
+
+This patch provides the needed systemd file for running the Qpid broker
+as a service.
+---
+ qpid/cpp/etc/qpidd.service | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+ create mode 100644 qpid/cpp/etc/qpidd.service
+
+diff --git a/qpid/cpp/etc/qpidd.service b/qpid/cpp/etc/qpidd.service
+new file mode 100644
+index 0000000..a654983
+--- /dev/null
++++ b/qpid/cpp/etc/qpidd.service
+@@ -0,0 +1,13 @@
++[Unit]
++Description=An AMQP message broker daemon.
++Documentation=man:qpidd(1) http://qpid.apache.org/
++Requires=network.target
++
++[Service]
++User=qpidd
++Group=qpidd
++Type=simple
++ExecStart=/usr/sbin/qpidd --config /etc/qpidd.conf
++
++[Install]
++WantedBy=multi-user.target
+-- 
+1.8.1.4
+
diff --git a/02-QPID-4826-Patch-Perl-bindings-memory-leak.patch b/02-QPID-4826-Patch-Perl-bindings-memory-leak.patch
new file mode 100644
index 0000000..2464d40
--- /dev/null
+++ b/02-QPID-4826-Patch-Perl-bindings-memory-leak.patch
@@ -0,0 +1,103 @@
+From 67b2e6435568649f352c08350e09b7d50274a00d Mon Sep 17 00:00:00 2001
+From: "Darryl L. Pierce" <mcpierce at apache.org>
+Date: Fri, 10 May 2013 14:20:35 +0000
+Subject: [PATCH 2/6] QPID-4826: Patch Perl bindings memory leak
+
+Marked the VariantToPerl() method in swig_perl_typemaps.i as returning a
+new object, which indicates to the Perl bindings that it needs to keep
+track of the return value for garbage collection.
+
+Also removed the Swig 1.3.32 minimum restriction to enable building on
+RHEL5 systems.
+
+git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1481021 13f79535-47bb-0310-9956-ffa450edef68
+---
+ qpid/cpp/bindings/CMakeLists.txt           | 50 +++++++++++++-----------------
+ qpid/cpp/include/qpid/swig_perl_typemaps.i |  1 +
+ 2 files changed, 23 insertions(+), 28 deletions(-)
+
+diff --git a/qpid/cpp/bindings/CMakeLists.txt b/qpid/cpp/bindings/CMakeLists.txt
+index 2d2f74c..bab4db0 100644
+--- a/qpid/cpp/bindings/CMakeLists.txt
++++ b/qpid/cpp/bindings/CMakeLists.txt
+@@ -69,37 +69,32 @@ if ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
+   endif (PERL_FOUND)
+ endif ((${CMAKE_MAJOR_VERSION} EQUAL 2) AND (${CMAKE_MINOR_VERSION} LESS 8))
+ 
+-set (SWIG_MINIMUM_VERSION "1.3.32")
+-
+ if (SWIG_FOUND)
+-  if (${SWIG_VERSION} VERSION_LESS ${SWIG_MINIMUM_VERSION})
+-    message("Found Swig < ${SWIG_MINIMUM_VERSION} - skipping language bindings")
+-  else()
+-    set(CMAKE_SWIG_FLAGS "-w361,362,401,467,503")
++  set(CMAKE_SWIG_FLAGS "-w361,362,401,467,503")
+ 
+-    if (PYTHONLIBS_FOUND)
+-        message("Building Python bindings")
+-        execute_process(COMMAND ${PYTHON_EXECUTABLE}
+-                        -c "from distutils.sysconfig import get_python_lib; print get_python_lib(True, prefix='${CMAKE_INSTALL_PREFIX}')"
+-                        OUTPUT_VARIABLE PYTHON_SITEARCH_PACKAGES
+-                        OUTPUT_STRIP_TRAILING_WHITESPACE)
++  if (PYTHONLIBS_FOUND)
++      message("Building Python bindings")
++      execute_process(COMMAND ${PYTHON_EXECUTABLE}
++                      -c "from distutils.sysconfig import get_python_lib; print get_python_lib(True, prefix='${CMAKE_INSTALL_PREFIX}')"
++                      OUTPUT_VARIABLE PYTHON_SITEARCH_PACKAGES
++                      OUTPUT_STRIP_TRAILING_WHITESPACE)
+ 
+-        add_subdirectory(qpid/python)
+-        add_subdirectory(qmf2/python)
+-        add_subdirectory(qmf/python)
+-    endif (PYTHONLIBS_FOUND)
++      add_subdirectory(qpid/python)
++      add_subdirectory(qmf2/python)
++      add_subdirectory(qmf/python)
++  endif (PYTHONLIBS_FOUND)
+ 
+-    if (RUBY_FOUND)
+-        message("Building Ruby bindings")
+-        execute_process(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG['prefix']"
+-                        OUTPUT_VARIABLE RUBY_PREFIX
+-                        OUTPUT_STRIP_TRAILING_WHITESPACE)
+-        string(REPLACE ${RUBY_PREFIX} ${CMAKE_INSTALL_PREFIX} RUBY_PFX_ARCH_DIR ${RUBY_SITEARCH_DIR})
+-#       string(REPLACE ${RUBY_PREFIX} ${CMAKE_INSTALL_PREFIX} RUBY_PFX_ARCH_DIR ${RUBY_ARCH_DIR})
+-        add_subdirectory(qpid/ruby)
+-        add_subdirectory(qmf2/ruby)
+-        add_subdirectory(qmf/ruby)
+-    endif (RUBY_FOUND)
++  if (RUBY_FOUND)
++      message("Building Ruby bindings")
++      execute_process(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "puts RbConfig::CONFIG['prefix']"
++                      OUTPUT_VARIABLE RUBY_PREFIX
++                      OUTPUT_STRIP_TRAILING_WHITESPACE)
++      string(REPLACE ${RUBY_PREFIX} ${CMAKE_INSTALL_PREFIX} RUBY_PFX_ARCH_DIR ${RUBY_SITEARCH_DIR})
++#     string(REPLACE ${RUBY_PREFIX} ${CMAKE_INSTALL_PREFIX} RUBY_PFX_ARCH_DIR ${RUBY_ARCH_DIR})
++      add_subdirectory(qpid/ruby)
++      add_subdirectory(qmf2/ruby)
++      add_subdirectory(qmf/ruby)
++  endif (RUBY_FOUND)
+ 
+   if (PERLLIBS_FOUND)
+       message("Building Perl bindings")
+@@ -111,5 +106,4 @@ if (SWIG_FOUND)
+ 
+       add_subdirectory(qpid/perl)
+   endif (PERLLIBS_FOUND)
+-  endif (${SWIG_VERSION} VERSION_LESS ${SWIG_MINIMUM_VERSION})
+ endif (SWIG_FOUND)
+diff --git a/qpid/cpp/include/qpid/swig_perl_typemaps.i b/qpid/cpp/include/qpid/swig_perl_typemaps.i
+index c1e1d53..da24bfe 100644
+--- a/qpid/cpp/include/qpid/swig_perl_typemaps.i
++++ b/qpid/cpp/include/qpid/swig_perl_typemaps.i
+@@ -17,6 +17,7 @@
+  * under the License.
+  */
+ 
++%newobject VariantToPerl;
+ %wrapper %{
+ 
+ #include <stdarg.h>
+-- 
+1.8.1.4
+
diff --git a/03-QPID-4843-Fixed-the-Perl-spout.pl-example.patch b/03-QPID-4843-Fixed-the-Perl-spout.pl-example.patch
new file mode 100644
index 0000000..a723247
--- /dev/null
+++ b/03-QPID-4843-Fixed-the-Perl-spout.pl-example.patch
@@ -0,0 +1,29 @@
+From f5c5701a22fcdff6d949a4cbb43d86b2e9fcd478 Mon Sep 17 00:00:00 2001
+From: "Darryl L. Pierce" <mcpierce at apache.org>
+Date: Tue, 14 May 2013 21:26:37 +0000
+Subject: [PATCH 3/6] QPID-4843: Fixed the Perl spout.pl example.
+
+It still called the old setProperty method on Message rather than
+set_property.
+
+git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1482598 13f79535-47bb-0310-9956-ffa450edef68
+---
+ qpid/cpp/bindings/qpid/examples/perl/spout.pl | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/qpid/cpp/bindings/qpid/examples/perl/spout.pl b/qpid/cpp/bindings/qpid/examples/perl/spout.pl
+index d8ac860..74e589b 100755
+--- a/qpid/cpp/bindings/qpid/examples/perl/spout.pl
++++ b/qpid/cpp/bindings/qpid/examples/perl/spout.pl
+@@ -70,7 +70,7 @@ sub setProperties {
+ 
+     foreach (@properties) {
+         my ( $name, $value ) = split( "=", $_ );
+-        $message->setProperty( $name, $value );
++        $message->set_property( $name, $value );
+     }
+ }
+ 
+-- 
+1.8.1.4
+
diff --git a/04-QPID-4857-Fixed-passing-Perl-Message-to-C-code.patch b/04-QPID-4857-Fixed-passing-Perl-Message-to-C-code.patch
new file mode 100644
index 0000000..9e9849f
--- /dev/null
+++ b/04-QPID-4857-Fixed-passing-Perl-Message-to-C-code.patch
@@ -0,0 +1,47 @@
+From 593c53d62c4bba0404389eee7a3bc41bba5c1fef Mon Sep 17 00:00:00 2001
+From: "Darryl L. Pierce" <mcpierce at apache.org>
+Date: Fri, 17 May 2013 12:36:10 +0000
+Subject: [PATCH 4/6] QPID-4857: Fixed passing Perl Message to C++ code
+
+The Perl code mistakenly passed the Perl Message object, rather than the
+wrapped C+ Message object, to the release and reject methods.
+
+git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1483771 13f79535-47bb-0310-9956-ffa450edef68
+---
+ qpid/cpp/bindings/qpid/perl/lib/qpid/messaging/Session.pm | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/qpid/cpp/bindings/qpid/perl/lib/qpid/messaging/Session.pm b/qpid/cpp/bindings/qpid/perl/lib/qpid/messaging/Session.pm
+index af85731..316f1fa 100644
+--- a/qpid/cpp/bindings/qpid/perl/lib/qpid/messaging/Session.pm
++++ b/qpid/cpp/bindings/qpid/perl/lib/qpid/messaging/Session.pm
+@@ -112,7 +112,7 @@ sub rollback {
+ 
+ =over
+ 
+-=item $session->acknowledge( msg )
++=item $session->acknowledge
+ 
+ Acknowledges that a specific message that has been received.
+ 
+@@ -149,7 +149,7 @@ sub reject {
+     my ($self) = @_;
+     my $impl = $self->{_impl};
+ 
+-    $impl->reject($_[1]);
++    $impl->reject($_[1]->get_implementation);
+ }
+ 
+ =pod
+@@ -168,7 +168,7 @@ sub release {
+     my ($self) = @_;
+     my $impl = $self->{_impl};
+ 
+-    $impl->release($_[1]);
++    $impl->release($_[1]->get_implementation);
+ }
+ 
+ =pod
+-- 
+1.8.1.4
+
diff --git a/05-QPID-4885-C-examples-install-to-qpid-examples.patch b/05-QPID-4885-C-examples-install-to-qpid-examples.patch
new file mode 100644
index 0000000..d4201f0
--- /dev/null
+++ b/05-QPID-4885-C-examples-install-to-qpid-examples.patch
@@ -0,0 +1,38 @@
+From 4e0fda512da4178049cb660742eab707848f32d0 Mon Sep 17 00:00:00 2001
+From: "Darryl L. Pierce" <mcpierce at apache.org>
+Date: Fri, 24 May 2013 14:58:37 +0000
+Subject: [PATCH 5/6] QPID-4885: C++ examples install to qpid/examples
+
+Previously they installed to /usr/local/share/examples. This changes
+that to /usr/local/share/qpid/examples instead.
+
+git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1486084 13f79535-47bb-0310-9956-ffa450edef68
+---
+ qpid/cpp/BuildInstallSettings.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/qpid/cpp/BuildInstallSettings.cmake b/qpid/cpp/BuildInstallSettings.cmake
+index d63a61e..8146c3b 100644
+--- a/qpid/cpp/BuildInstallSettings.cmake
++++ b/qpid/cpp/BuildInstallSettings.cmake
+@@ -93,7 +93,7 @@ if (WIN32)
+     "Directory to install SASL configuration files")
+   set (QPID_INSTALL_DATADIR conf CACHE STRING
+     "Directory to install read-only arch.-independent data root")
+-  set (QPID_INSTALL_EXAMPLESDIR examples CACHE STRING
++  set (QPID_INSTALL_EXAMPLESDIR qpid/examples CACHE STRING
+     "Directory to install programming examples in")
+   set (QPID_INSTALL_DOCDIR docs CACHE STRING
+     "Directory to install documentation")
+@@ -174,7 +174,7 @@ if (UNIX)
+   set (QPID_INSTALL_CONFDIR ${SYSCONF_INSTALL_DIR})
+   set (QPID_INSTALL_SASLDIR ${SYSCONF_INSTALL_DIR}/sasl2)
+   set (QPID_INSTALL_DATADIR ${SHARE_INSTALL_DIR}/qpid)
+-  set (QPID_INSTALL_EXAMPLESDIR ${SHARE_INSTALL_DIR}/examples)
++  set (QPID_INSTALL_EXAMPLESDIR ${SHARE_INSTALL_DIR}/qpid/examples)
+   set (QPID_INSTALL_DOCDIR ${DOC_INSTALL_DIR}) # Directory to install documentation
+   set (QPID_INSTALL_INCLUDEDIR ${INCLUDE_INSTALL_DIR})
+   set (QPID_INSTALL_LIBDIR ${LIB_INSTALL_DIR})
+-- 
+1.8.1.4
+
diff --git a/06-QPID-4889-Only-installs-the-Swig-descriptors-in-usr-.patch b/06-QPID-4889-Only-installs-the-Swig-descriptors-in-usr-.patch
new file mode 100644
index 0000000..0b41086
--- /dev/null
+++ b/06-QPID-4889-Only-installs-the-Swig-descriptors-in-usr-.patch
@@ -0,0 +1,33 @@
+From 6384693571583f431e9306b304efd4a9036f9111 Mon Sep 17 00:00:00 2001
+From: "Darryl L. Pierce" <mcpierce at apache.org>
+Date: Fri, 24 May 2013 18:19:54 +0000
+Subject: [PATCH 6/6] QPID-4889: Only installs the Swig descriptors in
+ /usr/include
+
+Previously the files were being installed under both /usr/include
+and also /usr/share/doc/qpid. Files are now installed only once.
+
+git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1486148 13f79535-47bb-0310-9956-ffa450edef68
+---
+ qpid/cpp/CMakeLists.txt | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/qpid/cpp/CMakeLists.txt b/qpid/cpp/CMakeLists.txt
+index f9b3be6..85bc35a 100644
+--- a/qpid/cpp/CMakeLists.txt
++++ b/qpid/cpp/CMakeLists.txt
+@@ -68,11 +68,6 @@ set (QPIDD_CONF_FILE ${QPIDD_CONF_PATH} CACHE STRING
+      "Name of the Qpid broker configuration file")
+ 
+ install(FILES  LICENSE NOTICE  DESTINATION ${QPID_INSTALL_DOCDIR})
+-install(FILES  include/qpid/qpid.i
+-               include/qpid/swig_perl_typemaps.i
+-               include/qpid/swig_python_typemaps.i
+-               include/qpid/swig_ruby_typemaps.i
+-               DESTINATION ${QPID_INSTALL_DATADIR}/qpid)
+ install(FILES  include/qmf/qmfengine.i
+                include/qmf/qmf2.i
+         DESTINATION ${QPID_INSTALL_INCLUDEDIR}/qmf)
+-- 
+1.8.1.4
+
diff --git a/qpid-cpp.spec b/qpid-cpp.spec
index 7dab3f0..005b166 100644
--- a/qpid-cpp.spec
+++ b/qpid-cpp.spec
@@ -7,11 +7,6 @@
 %{!?ruby_sitelib: %global ruby_sitelib %(/usr/bin/ruby -rrbconfig  -e 'puts Config::CONFIG["sitelibdir"] ')}
 %{!?ruby_sitearch: %global ruby_sitearch %(/usr/bin/ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"] ')}
 
-# Release numbers
-%global qpid_svnrev  1430909
-%global store_svnrev 4521
-# Change this release number for each build of the same qpid_svnrev, otherwise set back to 1.
-
 # LIBRARY VERSIONS
 %global QPIDCOMMON_VERSION_INFO             5:0:0
 %global QPIDTYPES_VERSION_INFO              3:0:2
@@ -28,16 +23,16 @@
 # Single var with all lib version params (except store) for make
 %global LIB_VERSION_MAKE_PARAMS QPIDCOMMON_VERSION_INFO=%{QPIDCOMMON_VERSION_INFO} QPIDBROKER_VERSION_INFO=%{QPIDBROKER_VERSION_INFO} QPIDCLIENT_VERSION_INFO=%{QPIDCLIENT_VERSION_INFO} QPIDMESSAGING_VERSION_INFO=%{QPIDMESSAGING_VERSION_INFO} QMF_VERSION_INFO=%{QMF_VERSION_INFO} QMFENGINE_VERSION_INFO=%{QMFENGINE_VERSION_INFO} QMFCONSOLE_VERSION_INFO=%{QMFCONSOLE_VERSION_INFO} RDMAWRAP_VERSION_INFO=%{RDMAWRAP_VERSION_INFO} SSLCOMMON_VERSION_INFO=%{SSLCOMMON_VERSION_INFO}
 
-Name:           qpid-cpp
-Version:        0.20
-Release:        3%{?dist}
-Summary:        Libraries for Qpid C++ client applications
-License:        ASL 2.0
-URL:            http://qpid.apache.org
+Name:          qpid-cpp
+Version:       0.22
+Release:       1%{?dist}
+Summary:       Libraries for Qpid C++ client applications
+License:       ASL 2.0
+URL:           http://qpid.apache.org
 
-Source0:        http://www.apache.org/dist/qpid/%{version}/qpid-%{version}.tar.gz
-Source1:        store-%{version}.%{store_svnrev}.tar.gz
+Source0:       http://www.apache.org/dist/qpid/%{version}/qpid-%{version}.tar.gz
 
+BuildRequires: cmake
 BuildRequires: boost-devel
 BuildRequires: libtool
 BuildRequires: doxygen
@@ -67,10 +62,14 @@ BuildRequires: libdb-devel
 BuildRequires: libdb4-cxx-devel
 BuildRequires: libaio-devel
 
-Patch1: 01-Add-support-for-ARM-processors.patch
-Patch2: 02-Fixed-db4-on-Fedora.patch
-# BZ#885149
-Patch3: 03-QPID-4493-Fixes-a-memory-leak-in-the-Perl-language-b.patch
+
+Patch1: 01-NO-JIRA-qpidd.service-file-for-use-on-Fedora.patch
+Patch2: 02-QPID-4826-Patch-Perl-bindings-memory-leak.patch
+Patch3: 03-QPID-4843-Fixed-the-Perl-spout.pl-example.patch
+Patch4: 04-QPID-4857-Fixed-passing-Perl-Message-to-C-code.patch
+Patch5: 05-QPID-4885-C-examples-install-to-qpid-examples.patch
+Patch6: 06-QPID-4889-Only-installs-the-Swig-descriptors-in-usr-.patch
+
 
 %description
 
@@ -100,12 +99,12 @@ the AMQP protocol.
 %doc cpp/NOTICE
 %doc cpp/README.txt
 %doc cpp/RELEASE_NOTES
-%{_libdir}/libqpidcommon.so.*
-%{_libdir}/libqpidclient.so.*
-%{_libdir}/libqpidtypes.so.*
-%{_libdir}/libqpidmessaging.so.*
+%{_libdir}/libqpidcommon.so*
+%{_libdir}/libqpidclient.so*
+%{_libdir}/libqpidtypes.so*
+%{_libdir}/libqpidmessaging.so*
 %dir %{_libdir}/qpid
-%dir %{_libdir}/qpid/client
+%{_libdir}/qpid/client/*
 %dir %{_sysconfdir}/qpid
 %config(noreplace) %{_sysconfdir}/qpid/qpidc.conf
 
@@ -153,7 +152,7 @@ in C++ using Qpid.  Qpid implements the AMQP messaging specification.
 %{_libdir}/libqpidtypes.so
 %{_libdir}/libqpidmessaging.so
 %{_libdir}/pkgconfig/qpid.pc
-%{_datadir}/qpidc
+%{_datadir}/qpid
 %defattr(755,root,root,-)
 %{_bindir}/qpid-perftest
 %{_bindir}/qpid-topic-listener
@@ -161,6 +160,8 @@ in C++ using Qpid.  Qpid implements the AMQP messaging specification.
 %{_bindir}/qpid-latency-test
 %{_bindir}/qpid-client-test
 %{_bindir}/qpid-txtest
+%{_datadir}/qpid/examples
+%{_libexecdir}/qpid/tests
 
 %post -n qpid-cpp-client-devel -p /sbin/ldconfig
 
@@ -179,7 +180,7 @@ format for easy browsing.
 
 %files -n qpid-cpp-client-devel-docs
 %defattr(-,root,root,-)
-%doc cpp/docs/api/html
+%{_docdir}/qpid-cpp-%{version}
 
 
 
@@ -202,17 +203,16 @@ the open AMQP messaging protocol.
 
 %files -n qpid-cpp-server
 %defattr(-,root,root,-)
-%{_libdir}/libqpidbroker.so.*
+%{_libdir}/libqpidbroker.so*
 %{_sbindir}/qpidd
 %{_unitdir}/qpidd.service
 %config(noreplace) %{_sysconfdir}/qpidd.conf
 %config(noreplace) %{_sysconfdir}/sasl2/qpidd.conf
-%dir %{_libdir}/qpid/daemon
-%{_libdir}/qpid/daemon/acl.so
+%{_libdir}/qpid/daemon/*
 %attr(755, qpidd, qpidd) %{_localstatedir}/lib/qpidd
 %ghost %attr(755, qpidd, qpidd) /var/run/qpidd
 #%attr(600, qpidd, qpidd) %config(noreplace) %{_localstatedir}/lib/qpidd/qpidd.sasldb
-%doc %{_mandir}/man1/qpidd.*
+%doc %{_mandir}/man1/qpidd*
 
 %pre -n qpid-cpp-server
 getent group qpidd >/dev/null || groupadd -r qpidd
@@ -290,10 +290,10 @@ An extensible management framework layered on QPID messaging.
 
 %files -n qpid-qmf
 %defattr(-,root,root,-)
-%{_libdir}/libqmf.so.*
-%{_libdir}/libqmf2.so.*
-%{_libdir}/libqmfengine.so.*
-%{_libdir}/libqmfconsole.so.*
+%{_libdir}/libqmf.so*
+%{_libdir}/libqmf2.so*
+%{_libdir}/libqmfengine.so*
+%{_libdir}/libqmfconsole.so*
 
 %post -n qpid-qmf -p /sbin/ldconfig
 
@@ -454,7 +454,7 @@ for Qpid messaging.
 
 %files -n qpid-cpp-client-ssl
 %defattr(-,root,root,-)
-%{_libdir}/libsslcommon.so.*
+%{_libdir}/libsslcommon.so*
 %{_libdir}/qpid/client/sslconnector.so
 
 %post -n qpid-cpp-client-ssl -p /sbin/ldconfig
@@ -521,15 +521,7 @@ with Berkeley DB.
 
 %files -n qpid-cpp-server-store
 %defattr(-,root,root,-)
-%doc ../store-%{version}.%{store_svnrev}/README
-%{_libdir}/qpid/daemon/msgstore.so*
-%{python_sitearch}/qpidstore/__init__.py*
-%{python_sitearch}/qpidstore/jerr.py*
-%{python_sitearch}/qpidstore/jrnl.py*
-%{python_sitearch}/qpidstore/janal.py*
-%{_libexecdir}/qpid/resize
-%{_libexecdir}/qpid/store_chk
-%attr(0775,qpidd,qpidd) %dir %{_localstatedir}/rhm
+%{_libdir}/qpid/daemon/store.so
 
 %post -n qpid-cpp-server-store -p /sbin/ldconfig
 
@@ -567,15 +559,13 @@ Management and diagnostic tools for Apache Qpid brokers and clients.
 
 %prep
 %setup -q -n qpid-%{version}
-%setup -q -T -D -b 1 -n qpid-%{version}
 
+%patch1 -p2
+%patch2 -p2
 %patch3 -p2
-
-# qpid-store
-pushd ../store-%{version}.%{store_svnrev}
-%patch1 -p1
-%patch2 -p1
-popd
+%patch4 -p2
+%patch5 -p2
+%patch6 -p2
 
 %global perftests "qpid-perftest qpid-topic-listener qpid-topic-publisher qpid-latency-test qpid-client-test qpid-txtest"
 
@@ -585,27 +575,9 @@ popd
 
 %build
 pushd cpp
-./bootstrap
-
-CXXFLAGS="%{optflags} -DNDEBUG -O3 -Wno-unused-result" \
-%configure --disable-static --with-swig --with-sasl --with-ssl --without-help2man \
---with-swig \
-%ifnarch s390 s390x %{arm}
---with-rdma \
-%else
---without-rdma \
-%endif
---without-cpg \
---with-xml
-ECHO=echo make %{LIB_VERSION_MAKE_PARAMS} %{?_smp_mflags}
-
-# Make perftest utilities
-pushd src/tests
-for ptest in %{perftests}; do
-  ECHO=echo make $ptest
-done
-
-popd
+%cmake .
+make %{?_smp_mflags}
+make docs-user-api
 
 pushd ../python
 ./setup.py build
@@ -617,141 +589,77 @@ pushd ../extras/qmf
 ./setup.py build
 popd
 
-# Store
-pushd ../../store-%{version}.%{store_svnrev}
-export CXXFLAGS="%{optflags} -DNDEBUG"
-./bootstrap
-%configure --disable-static --disable-rpath --disable-dependency-tracking --with-qpid-checkout=%{_builddir}/qpid-%{version}
-make %{?_smp_mflags}
 popd
 
 %install
-rm -rf %{buildroot}
 mkdir -p -m0755 %{buildroot}/%{_bindir}
 mkdir -p -m0755 %{buildroot}/%{_unitdir}
 
-(cd python; %{__python} setup.py install --skip-build --install-purelib %{python_sitearch} --root %{buildroot})
-(cd extras/qmf; %{__python} setup.py install --skip-build --install-purelib %{python_sitearch} --root %{buildroot})
-pushd %{_builddir}/qpid-%{version}/cpp
-make install DESTDIR=%{buildroot}
-
-install -d -m0755 %{buildroot}%{_localstatedir}/lib/qpidd
-install -d -m0755 %{buildroot}%{_libdir}/qpidd
-install -d -m0755 %{buildroot}/var/run/qpidd
-
-#install the daemon files in the right location
-mkdir -p %{buildroot}/%{_initrddir}
-install %{buildroot}/%{_sysconfdir}/init.d/qpidd %{buildroot}/%{_initrddir}/qpidd
-rm -f %{buildroot}/%{_sysconfdir}/init.d/qpidd
-install %{buildroot}/%{_sysconfdir}/init.d/qpidd-primary %{buildroot}/%{_initrddir}/qpidd-primary
-rm -f %{buildroot}/%{_sysconfdir}/init.d/qpidd-primary
-
-# Install perftest utilities
-pushd src/tests/
-for ptest in %{perftests}; do
-  libtool --mode=install install -m755 $ptest %{buildroot}/%{_bindir}
-done
-
+pushd python
+%{__python} setup.py install \
+   --skip-build \
+   --install-purelib %{python_sitearch} \
+   --root %{buildroot}
 popd
-pushd docs/api
-make html
+
+pushd tools
+%{__python} setup.py install \
+    --skip-build \
+    --install-purelib %{python_sitelib} \
+    --root %{buildroot}
 popd
 
-pushd ../tools
-./setup.py install --skip-build --root $RPM_BUILD_ROOT
+pushd extras/qmf
+%{__python} setup.py install \
+    --skip-build \
+    --install-purelib %{python_sitearch} \
+    --root %{buildroot}
 popd
 
-# remove things we don't want to package
-rm -f %{buildroot}%{_libdir}/*.a
-rm -f %{buildroot}%{_libdir}/*.l
-rm -f %{buildroot}%{_libdir}/*.la
-rm -f %{buildroot}%{_libdir}/libqpidbroker.so
-rm -f %{buildroot}%{_libdir}/libsslcommon.so
-rm -f %{buildroot}%{_libdir}/qpid/client/*.la
-rm -f %{buildroot}%{_libdir}/qpid/daemon/*.la
-rm -f %{buildroot}%{_libdir}/libcqpid_perl.so
-rm -rf %{buildroot}%{ruby_sitearch}
-rm -rf %{buildroot}%{ruby_sitelib}
-rm -rf %{buildroot}%{_libdir}/perl5
-
-# this should be fixed in the examples Makefile (make install)
-rm -f %{buildroot}%{_datadir}/qpidc/examples/Makefile
-rm -f %{buildroot}%{_datadir}/qpidc/examples/README.txt
-rm -rf %{buildroot}%{_datadir}/qpidc/examples/direct
-rm -rf %{buildroot}%{_datadir}/qpidc/examples/failover
-rm -rf %{buildroot}%{_datadir}/qpidc/examples/fanout
-rm -rf %{buildroot}%{_datadir}/qpidc/examples/pub-sub
-rm -rf %{buildroot}%{_datadir}/qpidc/examples/qmf-console
-rm -rf %{buildroot}%{_datadir}/qpidc/examples/request-response
-rm -rf %{buildroot}%{_datadir}/qpidc/examples/tradedemo
-rm -rf %{buildroot}%{_datadir}/qpidc/examples/xml-exchange
+pushd cpp
+make install DESTDIR=%{buildroot}/
+
+# clean up items we're not installing
+rm -f %{buildroot}/%{_libdir}/libqpidbroker.so
+rm -f %{buildroot}/%{_libdir}/libcqpid_perl.so
+rm -f %{buildroot}/%{_libdir}/ruby/cqmf2.so
+rm -f %{buildroot}/%{_libdir}/ruby/cqpid.so
+rm -f %{buildroot}/%{_libdir}/ruby/qmfengine.so
+rm -f %{buildroot}/%{ruby_sitelib}
+rm -rf %{buildroot}/%{_libdir}/perl5
 
 # install systemd files
+mkdir -p %{buildroot}/%{_unitdir}
 install -pm 644 %{_builddir}/qpid-%{version}/cpp/etc/qpidd.service %{buildroot}/%{_unitdir}
 rm -f %{buildroot}/%{_initrddir}/qpidd
 rm -f %{buildroot}/%{_sysconfdir}/init.d/qpidd.service
 
-install -d %{buildroot}%{python_sitearch}
-install -pm 644 %{_builddir}/qpid-%{version}/cpp/bindings/qpid/python/cqpid.py %{buildroot}%{python_sitearch}
-install -pm 644 %{_builddir}/qpid-%{version}/cpp/bindings/qpid/python/.libs/_cqpid.so %{buildroot}%{python_sitearch}
-install -pm 644 %{_builddir}/qpid-%{version}/cpp/bindings/qmf/python/*.py %{buildroot}%{python_sitearch}
-install -pm 644 %{_builddir}/qpid-%{version}/cpp/bindings/qmf/python/.libs/_qmfengine.so %{buildroot}%{python_sitearch}
-install -pm 644 %{_builddir}/qpid-%{version}/cpp/bindings/qmf2/python/*.py %{buildroot}%{python_sitearch}
-install -pm 644 %{_builddir}/qpid-%{version}/cpp/bindings/qmf2/python/.libs/_cqmf2.so %{buildroot}%{python_sitearch}
-
-chmod +x %{buildroot}%{python_sitelib}/qpidtoollibs/disp.py
-chmod +x %{buildroot}%{python_sitearch}/*.so
-
-# remove on 64-bit arches
-%ifarch x86_64 ppc64 s390x sparc64
-rm -rf %{buildroot}%{python_sitelib}/cqmf2.py*
-rm -rf %{buildroot}%{python_sitelib}/cqpid.py*
-rm -rf %{buildroot}%{python_sitelib}/qmf.py*
-rm -rf %{buildroot}%{python_sitelib}/qmf2.py*
-rm -rf %{buildroot}%{python_sitelib}/qmfengine.py*
-%endif
-rm -rf %{buildroot}%{python_sitearch}/_cqmf2.la
-rm -rf %{buildroot}%{python_sitearch}/_cqpid.la
-rm -rf %{buildroot}%{python_sitearch}/_qmfengine.la
-rm -rf %{buildroot}%{python_sitearch}/.libs
-
-install -d %{buildroot}%{ruby_vendorlibdir}
-install -d %{buildroot}%{ruby_vendorarchdir}
-install -pm 644 %{_builddir}/qpid-%{version}/cpp/bindings/qmf/ruby/qmf.rb %{buildroot}%{ruby_vendorlibdir}
-install -pm 644 %{_builddir}/qpid-%{version}/cpp/bindings/qmf2/ruby/qmf2.rb %{buildroot}%{ruby_vendorlibdir}
-install -pm 755 %{_builddir}/qpid-%{version}/cpp/bindings/qpid/ruby/.libs/cqpid.so %{buildroot}%{ruby_vendorarchdir}
-install -pm 755 %{_builddir}/qpid-%{version}/cpp/bindings/qmf/ruby/.libs/qmfengine.so %{buildroot}%{ruby_vendorarchdir}
-install -pm 755 %{_builddir}/qpid-%{version}/cpp/bindings/qmf2/ruby/.libs/cqmf2.so %{buildroot}%{ruby_vendorarchdir}
-
-rm -f %{buildroot}%{_libdir}/_*
-rm -rf %{buildroot}%{_libdir}/qpid/tests
-rm -rf %{buildroot}%{_libexecdir}/qpid/tests
+# install perftests utilities
+mkdir -p %{buildroot}/%{_bindir}
+pushd src/tests
+for ptest in %{perftests}; do
+  libtool --mode=install install -m755 $ptest %{buildroot}/%{_bindir}
+done
 popd
 
-#Store
-pushd %{_builddir}/store-%{version}.%{store_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 -f %{buildroot}%{_sysconfdir}/rhmd.conf
 popd
 
-# install swig definition files
-pushd %{_builddir}/qpid-%{version}
-mkdir -p -m0755 %{buildroot}%{_includedir}/qpid
-mkdir -p -m0755 %{buildroot}%{_includedir}/qmf
-
-install -p -m 644 cpp/bindings/qpid/qpid.i %{buildroot}%{_includedir}/qpid
-install -p -m 644 cpp/bindings/qmf/qmfengine.i %{buildroot}%{_includedir}/qmf
-install -p -m 644 cpp/bindings/qmf2/qmf2.i %{buildroot}%{_includedir}/qmf
-install -p -m 644 cpp/bindings/swig_perl_typemaps.i %{buildroot}%{_includedir}/qpid
-install -p -m 644 cpp/bindings/swig_python_typemaps.i %{buildroot}%{_includedir}/qpid
-install -p -m 644 cpp/bindings/swig_ruby_typemaps.i %{buildroot}%{_includedir}/qpid
-popd
+# QMF Ruby package
+install -d %{buildroot}%{ruby_vendorlibdir}
+install -d %{buildroot}%{ruby_vendorarchdir}
+install -pm 644 %{_builddir}/qpid-%{version}/cpp/bindings/qmf/ruby/qmf.rb \
+     %{buildroot}%{ruby_vendorlibdir}
+install -pm 644 %{_builddir}/qpid-%{version}/cpp/bindings/qmf2/ruby/qmf2.rb \
+    %{buildroot}%{ruby_vendorlibdir}
+install -pm 755 %{_builddir}/qpid-%{version}/cpp/bindings/qpid/ruby/libcqpid_ruby.so \
+     %{buildroot}%{ruby_vendorarchdir}/cqpid.so
+install -pm 755 %{_builddir}/qpid-%{version}/cpp/bindings/qmf/ruby/libqmfengine_ruby.so \
+    %{buildroot}%{ruby_vendorarchdir}/qmfengine.so
+install -pm 755 %{_builddir}/qpid-%{version}/cpp/bindings/qmf2/ruby/libcqmf2_ruby.so \
+    %{buildroot}%{ruby_vendorarchdir}/cqmf2.so
+
+# clean up leftover ruby files
+rm -rf %{buildroot}/usr/local/%{_lib}/ruby/site_ruby
 
 %clean
 rm -rf %{buildroot}
@@ -767,6 +675,14 @@ rm -rf %{buildroot}
 
 
 %changelog
+* Thu Jun 13 2013 Darryl L. Pierce <dpierce at redhat.com> - 0.22-1
+- Rebased on Qpid 0.22.
+- The package now uses the CMake build system from Qpid.
+- No longer use a separate source for the store.
+- Resolves: BZ#616080
+- Resolves: BZ#966780
+- Resolves: BZ#967100
+
 * Thu Feb 14 2013 Darryl L. Pierce <dpierce at redhat.com> - 0.20-3
 - Moved the Qpidd swig descriptors to /usr/include/qpid
 - Moved the QMF swig descriptors to /usr/include/qmf
diff --git a/sources b/sources
index a96b395..78bdefb 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-62de648a354a8eacc53a61a1b37eb9ab  qpid-0.20.tar.gz
-c1f4552a4c1025995b21cab6d190b4b9  store-0.20.4521.tar.gz
+3c577b3bdc917c7913e1ec33987dfa77  qpid-0.22.tar.gz


More information about the scm-commits mailing list