From cb780909fa5d9afe188de8977e96bfa1a748701b Mon Sep 17 00:00:00 2001 From: Vitezslav Crhonek Date: Tue, 11 Mar 2014 14:45:25 +0100 Subject: [PATCH] Update to openwsman-2.4.4, Provide rubygem-openwsman instead of openwsman-ruby --- .gitignore | 1 + openwsman.spec | 74 ++++++++++++++++++++++++++++++++++++++++---------- sources | 2 +- 3 files changed, 62 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index 325892d..6bb6109 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ openwsman-2.2.3.tar.bz2 /openwsmand.8.gz /openwsman-2.4.0.tar.gz /v2.4.3.tar.gz +/v2.4.4.tar.gz diff --git a/openwsman.spec b/openwsman.spec index 6dca62d..de28096 100644 --- a/openwsman.spec +++ b/openwsman.spec @@ -4,17 +4,20 @@ %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} %endif +# RubyGems's macros expect gem_name to exist. +%global gem_name %{name} + Name: openwsman BuildRequires: swig BuildRequires: libcurl-devel libxml2-devel pam-devel sblim-sfcc-devel -BuildRequires: python python-devel ruby ruby-devel rubygem(rdoc) perl +BuildRequires: python python-devel ruby ruby-devel rubygems-devel perl BuildRequires: python python-devel perl BuildRequires: perl-devel pkgconfig openssl-devel #BuildRequires: java-1.8.0-openjdk-devel BuildRequires: cmake BuildRequires: systemd-units -Version: 2.4.3 -Release: 2%{?dist} +Version: 2.4.4 +Release: 1%{?dist} Url: http://www.openwsman.org/ License: BSD Group: Applications/System @@ -112,16 +115,29 @@ API. -%package ruby +%package -n rubygem-%{gem_name} License: BSD Group: Development/Libraries -Requires: ruby Requires: ruby(release) -Summary: Ruby bindings for openwsman client API -Requires: libwsman1 = %{version}-%{release} +Requires: ruby(rubygems) +Summary: Ruby client bindings for Openwsman +Provides: rubygem(%{gem_name}) = %{version} +Provides: %{name}-ruby = %{version}-%{release} +Obsoletes: %{name}-ruby < %{version}-%{release} + +%description -n rubygem-%{gem_name} +The openwsman gem provides a Ruby API to manage systems using +the WS-Management protocol. + +%package -n rubygem-%{gem_name}-doc +Summary: Documentation for %{name} +Group: Documentation +Requires: rubygem-%{gem_name} = %{version}-%{release} +BuildArch: noarch + +%description -n rubygem-%{gem_name}-doc +Documentation for rubygem-%{gem_name} -%description ruby -This package provides Ruby bindings to access the openwsman client API. #%package java #Requires: java @@ -177,13 +193,24 @@ cmake \ -DCMAKE_SKIP_RPATH=1 \ -DPACKAGE_ARCHITECTURE=`uname -m` \ -DLIB=%{_lib} \ - -DBUILD_RUBY_GEM=no \ .. make CFLAGS="-DSSL_LIB='\"$SSL_LIB\"'" +# Make the freshly build openwsman libraries available to build the gem's +# binary extension. +export LIBRARY_PATH=/builddir/build/BUILD/%{name}-%{version}/build/src/lib +export CPATH=/builddir/build/BUILD/%{name}-%{version}/include/ +export LD_LIBRARY_PATH=/builddir/build/BUILD/%{name}-%{version}/build/src/lib/ + +%gem_install -n ./bindings/ruby/%{name}-%{version}.gem + %install cd build + +# Do not install the ruby extension, we are proviging the rubygem- instead. +echo -n > bindings/ruby/cmake_install.cmake + make DESTDIR=%{buildroot} install cd .. rm -f %{buildroot}/%{_libdir}/*.la @@ -206,6 +233,16 @@ install -m 644 include/wsman-xml.h %{buildroot}/%{_includedir}/openwsman install -m 644 include/wsman-xml-binding.h %{buildroot}/%{_includedir}/openwsman install -m 644 include/wsman-dispatcher.h %{buildroot}/%{_includedir}/openwsman +mkdir -p %{buildroot}%{gem_dir} +cp -pa ./build%{gem_dir}/* \ + %{buildroot}%{gem_dir}/ + +rm -rf %{buildroot}%{gem_instdir}/ext + +mkdir -p %{buildroot}%{gem_extdir_mri}/lib +mv %{buildroot}%{gem_instdir}/lib/_%{name}.so %{buildroot}%{gem_extdir_mri}/lib/ + + %post -n libwsman1 -p /sbin/ldconfig %postun -n libwsman1 -p /sbin/ldconfig @@ -245,11 +282,16 @@ rm -f /var/log/wsmand.log %{python_sitearch}/*.pyo %doc AUTHORS COPYING ChangeLog README.md -%files ruby -%{ruby_vendorarchdir}/_openwsman.so -%dir %{ruby_vendorlibdir}/openwsman -%{ruby_vendorlibdir}/openwsman/*.rb +%files -n rubygem-%{gem_name} %doc AUTHORS COPYING ChangeLog README.md +%dir %{gem_instdir} +%{gem_libdir} +%{gem_extdir_mri} +%exclude %{gem_cache} +%{gem_spec} + +%files -n rubygem-%{gem_name}-doc +%doc %{gem_docdir} #%files java #%defattr(-,root,root) @@ -290,6 +332,10 @@ rm -f /var/log/wsmand.log %changelog +* Tue Mar 11 2014 Vitezslav Crhonek - 2.4.4-1 +- Update to openwsman-2.4.4 +- Provide rubygem-openwsman instead of openwsman-ruby (patch by Vit Ondruch) + * Wed Feb 05 2014 Vitezslav Crhonek - 2.4.3-2 - Update openwsmand man page diff --git a/sources b/sources index 1cab3ed..e901762 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 4f2d9b1d7da6d87fcd38a9aa23559723 openwsmand.8.gz -794b0d968f92577ff3451b8925744a43 v2.4.3.tar.gz +8ecfa57f62ba81dbb20a08cb2c2cd6b5 v2.4.4.tar.gz