[qpid-qmf/f20] Fix dependencies onto qpid-cpp packages to be >= 0.24.

Darryl L. Pierce mcpierce at fedoraproject.org
Mon Feb 3 19:29:48 UTC 2014


commit c31b9903200ef9b2212d63abccd446d9bc7fdfbc
Author: Darryl L. Pierce <mcpierce at gmail.com>
Date:   Mon Feb 3 11:49:24 2014 -0500

    Fix dependencies onto qpid-cpp packages to be >= 0.24.
    
    - Fixed building with -Werror=format-security enabled.

 ...ix-Ruby-Perl-bindings-when-built-with-Wer.patch |   83 ++++++++++++++++++++
 qpid-qmf.spec                                      |   77 +++++++++---------
 2 files changed, 122 insertions(+), 38 deletions(-)
---
diff --git a/02-QPID-5499-Fix-Ruby-Perl-bindings-when-built-with-Wer.patch b/02-QPID-5499-Fix-Ruby-Perl-bindings-when-built-with-Wer.patch
new file mode 100644
index 0000000..862a693
--- /dev/null
+++ b/02-QPID-5499-Fix-Ruby-Perl-bindings-when-built-with-Wer.patch
@@ -0,0 +1,83 @@
+From ba180ca4a513615339b270f53b5ed78dc4169efe Mon Sep 17 00:00:00 2001
+From: "Darryl L. Pierce" <dpierce at redhat.com>
+Date: Tue, 21 Jan 2014 14:16:38 -0500
+Subject: [PATCH] QPID-5499: Fix Ruby/Perl bindings when built with
+ -Werror=format-security
+
+Changed the swig descriptors so that they use a constant format string.
+---
+ qpid/cpp/bindings/qmf2/ruby/ruby.i         | 2 +-
+ qpid/cpp/bindings/qpid/perl/perl.i         | 2 +-
+ qpid/cpp/bindings/qpid/ruby/ruby.i         | 2 +-
+ qpid/cpp/include/qpid/swig_perl_typemaps.i | 2 +-
+ qpid/cpp/include/qpid/swig_ruby_typemaps.i | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/qpid/cpp/bindings/qmf2/ruby/ruby.i b/qpid/cpp/bindings/qmf2/ruby/ruby.i
+index 0254017..65d0770 100644
+--- a/qpid/cpp/bindings/qmf2/ruby/ruby.i
++++ b/qpid/cpp/bindings/qmf2/ruby/ruby.i
+@@ -30,7 +30,7 @@
+     }
+     catch (qpid::types::Exception& mex) {
+         static VALUE qmferror = rb_define_class("QmfError", rb_eStandardError);
+-        rb_raise(qmferror, mex.what());
++        rb_raise(qmferror, "%s", mex.what());
+     }
+ }
+ 
+diff --git a/qpid/cpp/bindings/qpid/perl/perl.i b/qpid/cpp/bindings/qpid/perl/perl.i
+index 0d118ae..4dc2665 100644
+--- a/qpid/cpp/bindings/qpid/perl/perl.i
++++ b/qpid/cpp/bindings/qpid/perl/perl.i
+@@ -27,7 +27,7 @@
+         $action
+     }
+     catch (qpid::messaging::MessagingException& mex) {
+-        Perl_croak(aTHX_ mex.what());
++      Perl_croak(aTHX_ "%s", mex.what());
+     }
+ }
+ 
+diff --git a/qpid/cpp/bindings/qpid/ruby/ruby.i b/qpid/cpp/bindings/qpid/ruby/ruby.i
+index 3d686c2..99d29b0 100644
+--- a/qpid/cpp/bindings/qpid/ruby/ruby.i
++++ b/qpid/cpp/bindings/qpid/ruby/ruby.i
+@@ -30,7 +30,7 @@
+     }
+     catch (qpid::messaging::MessagingException& mex) {
+         static VALUE merror = rb_define_class("MessagingError", rb_eStandardError);
+-        rb_raise(merror, mex.what());
++        rb_raise(merror, "%s", mex.what());
+     }
+ }
+ 
+diff --git a/qpid/cpp/include/qpid/swig_perl_typemaps.i b/qpid/cpp/include/qpid/swig_perl_typemaps.i
+index da24bfe..74d2b07 100644
+--- a/qpid/cpp/include/qpid/swig_perl_typemaps.i
++++ b/qpid/cpp/include/qpid/swig_perl_typemaps.i
+@@ -120,7 +120,7 @@
+             }
+             }
+         } catch (qpid::types::Exception& ex) {
+-            Perl_croak(aTHX_ ex.what());
++          Perl_croak(aTHX_ "%s", ex.what());
+         }
+ 
+         if (!result)
+diff --git a/qpid/cpp/include/qpid/swig_ruby_typemaps.i b/qpid/cpp/include/qpid/swig_ruby_typemaps.i
+index 1a07cc8..4e07088 100644
+--- a/qpid/cpp/include/qpid/swig_ruby_typemaps.i
++++ b/qpid/cpp/include/qpid/swig_ruby_typemaps.i
+@@ -106,7 +106,7 @@
+             }
+         } catch (qpid::types::Exception& ex) {
+             static VALUE error = rb_define_class("Error", rb_eStandardError);
+-            rb_raise(error, ex.what());
++            rb_raise(error, "%s", ex.what());
+         }
+ 
+         return result;
+-- 
+1.8.5.3
+
diff --git a/qpid-qmf.spec b/qpid-qmf.spec
index f0ffe0d..4cf3472 100644
--- a/qpid-qmf.spec
+++ b/qpid-qmf.spec
@@ -4,15 +4,15 @@
 
 Name:    qpid-qmf
 Version: 0.24
-Release: 15%{?dist}
+Release: 16%{?dist}
 Summary: The QPID Management Framework
 License: ASL 2.0
 URL:     http://qpid.apache.org
 
 Source0: http://www.apache.org/dist/qpid/%{version}/qpid-%{version}.tar.gz
-
 Patch0: 00-QPID-5273-Fixed-installing-the-qmfgen-Python-package.patch
 Patch1: 01-NO-JIRA-Add-explicit-language-references-to-all-sheb.patch
+Patch2: 02-QPID-5499-Fix-Ruby-Perl-bindings-when-built-with-Wer.patch
 
 BuildRequires: cmake
 BuildRequires: swig
@@ -21,31 +21,30 @@ BuildRequires: ruby-devel
 BuildRequires: boost-devel
 BuildRequires: libuuid-devel
 
-Requires:  qpid-cpp-client%{?_isa} = %{version}
+Requires:  qpid-cpp-client%{?_isa} >= %{version}
 Requires:  python-qpid >= %{version}
 Requires:  python-qpid-qmf%{?_isa} = %{version}
 
 
-
 %description
 The Qpid Management Framework is a general-purpose management bus built on Qpid
 messaging. It takes advantage of the scalability, security, and rich
 capabilities of Qpid to provide flexible and easy-to-use manageability to a
 large set of applications.
 
+# === qpid-qmf-devel
 
-
-%package -n qpid-qmf-devel
+%package devel
 Summary:   Header files and tools for developing QMF extensions
 
 Requires:  qpid-qmf%{?_isa} = %{version}-%{release}
-Requires:  qpid-cpp-client-devel%{?_isa} = %{version}
+Requires:  qpid-cpp-client-devel%{?_isa} >= %{version}
 
-%description -n qpid-qmf-devel
+%description devel
 Header files and code-generation tools needed for developers of QMF-managed
 components.
 
-%files -n qpid-qmf-devel
+%files devel
 %{_includedir}/qmf
 %{_libdir}/libqmf.so
 %{_libdir}/libqmf2.so
@@ -55,11 +54,11 @@ components.
 %{python_sitelib}/qmfgen
 %{_libdir}/pkgconfig/qmf2.pc
 
-%post -n qpid-qmf-devel -p /sbin/ldconfig
-
-%postun -n qpid-qmf-devel -p /sbin/ldconfig
+%post devel -p /sbin/ldconfig
 
+%postun devel -p /sbin/ldconfig
 
+# === python-qpid-qmf
 
 %package -n python-qpid-qmf
 Summary:   The QPID Management Framework bindings for python
@@ -67,7 +66,6 @@ Summary:   The QPID Management Framework bindings for python
 Requires:  qpid-qmf%{?_isa} = %{version}-%{release}
 
 
-
 %description -n python-qpid-qmf
 An extensible management framework layered on QPID messaging, bindings
 for python.
@@ -88,6 +86,28 @@ for python.
 
 %postun -n python-qpid-qmf -p /sbin/ldconfig
 
+# === ruby-qpid-qmf
+
+%package -n ruby-qpid-qmf
+Summary:   The QPID Management Framework bindings for ruby
+
+Requires:  qpid-qmf%{?_isa} = %{version}-%{release}
+
+
+%description -n ruby-qpid-qmf
+An extensible management framework layered on QPID messaging, bindings
+for ruby.
+
+%files -n ruby-qpid-qmf
+%{ruby_vendorlibdir}/qmf.rb
+%{ruby_vendorlibdir}/qmf2.rb
+%{ruby_vendorarchdir}/qmfengine.so
+%{ruby_vendorarchdir}/cqpid.so
+%{ruby_vendorarchdir}/cqmf2.so
+
+%post -n ruby-qpid-qmf -p /sbin/ldconfig
+
+%postun -n ruby-qpid-qmf -p /sbin/ldconfig
 
 
 %files -n qpid-qmf
@@ -102,13 +122,14 @@ for python.
 
 %postun -n qpid-qmf -p /sbin/ldconfig
 
-
+# === prep/build/install
 
 %prep
 %setup -q -n qpid-%{version}
 
 %patch0 -p2
 %patch1 -p2
+%patch2 -p2
 
 %global perftests "qpid-perftest qpid-topic-listener qpid-topic-publisher qpid-latency-test qpid-client-test qpid-txtest"
 
@@ -117,30 +138,6 @@ for python.
 %global rh_qpid_tests_clients "replaying_sender resuming_receiver declare_queues"
 
 
-
-%package -n ruby-qpid-qmf
-Summary:   The QPID Management Framework bindings for ruby
-
-Requires:  qpid-qmf%{?_isa} = %{version}-%{release}
-
-
-%description -n ruby-qpid-qmf
-An extensible management framework layered on QPID messaging, bindings
-for ruby.
-
-%files -n ruby-qpid-qmf
-%{ruby_vendorlibdir}/qmf.rb
-%{ruby_vendorlibdir}/qmf2.rb
-%{ruby_vendorarchdir}/qmfengine.so
-%{ruby_vendorarchdir}/cqpid.so
-%{ruby_vendorarchdir}/cqmf2.so
-
-%post -n ruby-qpid-qmf -p /sbin/ldconfig
-
-%postun -n ruby-qpid-qmf -p /sbin/ldconfig
-
-
-
 %build
 pushd cpp
 %cmake -DDOC_INSTALL_DIR:PATH=%{_pkgdocdir} .
@@ -246,6 +243,10 @@ rm -rf %{buildroot}/usr/local/%{_lib}/ruby/site_ruby
 
 
 %changelog
+* Mon Feb  3 2014 Darryl L. Pierce <dpierce at redhat.com> - 0.24-16
+- Fix dependencies onto qpid-cpp packages to be >= 0.24.
+- Fixed building with -Werror=format-security enabled.
+
 * Thu Oct 31 2013 Darryl L. Pierce <dpierce at redhat.com> - 0.24-15
 - First separate build of QMF packages for Fedora.
 - Changed shebangs to use explicit references to interpreters.


More information about the scm-commits mailing list