[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