[rubygem-zoom/f17] Fix packaging to really work properly
Mamoru Tasaka
mtasaka at fedoraproject.org
Sun Apr 8 06:07:42 UTC 2012
commit deccb6d3d498479fd937cce89f907607fcd32d6c
Author: Mamoru Tasaka <tasaka1 at localhost.localdomain>
Date: Sun Apr 8 15:07:28 2012 +0900
Fix packaging to really work properly
rubygem-zoom.spec | 93 ++++++++++++++++++++++++++++++++--------------------
1 files changed, 57 insertions(+), 36 deletions(-)
---
diff --git a/rubygem-zoom.spec b/rubygem-zoom.spec
index 89c46dc..f893844 100644
--- a/rubygem-zoom.spec
+++ b/rubygem-zoom.spec
@@ -1,23 +1,26 @@
-%define gemdir %{_datadir}/rubygems
-%define gemname zoom
-%define geminstdir %{gemdir}/gems/%{gemname}-%{version}
-%define gemextdir %{_libdir}/gems/exts/%{gemname}-%{version}
+%define gem_name zoom
-%{!?ruby_sitearch: %global ruby_sitearch %(ruby -rrbconfig -e "puts RbConfig::CONFIG['sitearchdir']")}
+%if 0%{?fedora} < 17
+%global ruby_sitearch %(ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']")
+%endif
-%define rubyabi 1.9
+%if 0%{?fedora} >= 17
+%define rubyabi 1.9.1
+%else
+%define rubyabi 1.8
+%endif
%define repoid 28211
-Name: rubygem-%{gemname}
+Name: rubygem-%{gem_name}
Version: 0.4.1
-Release: 14%{?dist}
+Release: 15%{?dist}
Group: Development/Languages
Summary: Ruby binding to ZOOM
License: LGPLv2+
URL: http://ruby-zoom.rubyforge.org/
-Source0: http://gems.rubyforge.org/gems/%{gemname}-%{version}.gem
+Source0: http://gems.rubyforge.org/gems/%{gem_name}-%{version}.gem
Patch0: zoom-0.4.1-cert-chain-must-not-be-nil.patch
Patch1: zoom-0.4.1-authors.patch
# Use abort() instead of break
@@ -39,9 +42,9 @@ BuildRequires: libyaz-devel
BuildRequires: tcp_wrappers-devel
Requires: ruby(abi) >= %{rubyabi}
-Requires: ruby(rubygems)
+Requires: rubygems-devel
-Provides: rubygem(%{gemname}) = %{version}-%{release}
+Provides: rubygem(%{gem_name}) = %{version}-%{release}
# Obsolete but not provide
# Obsoletes: ruby(zoom) < 0.3.0 does not obsolete ruby-zoom
Obsoletes: ruby-zoom < 0.3.0
@@ -62,10 +65,15 @@ This package contains documentation for %{name}.
%prep
-gem unpack %{SOURCE0}
-%setup -q -D -T -n %{gemname}-%{version}
+%setup -q -c -T
+TOPDIR=$(pwd)
+
+mkdir TMP
+cd TMP
-gem spec %{SOURCE0} -l --ruby > %{gemname}.gemspec
+gem unpack %{SOURCE0}
+cd %{gem_name}-%{version}
+gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
%patch0 -p1
%patch1 -p1
@@ -73,37 +81,44 @@ gem spec %{SOURCE0} -l --ruby > %{gemname}.gemspec
%patch3 -p1 -b .no-newline
%patch4 -p1 -b .ruby19
-%build
-mkdir -p .%{gemdir}
+gem build %{gem_name}.gemspec
+cp -p ./%{gem_name}-%{version}.gem $TOPDIR
-# Create the gem as gem install only works on a gem file
-gem build %{gemname}.gemspec
+%build
+mkdir -p .%{gem_dir}
export CONFIGURE_ARGS="--with-cflags='%{optflags}'"
gem install \
-V \
--local \
- --install-dir ./%{gemdir} \
+ --install-dir ./%{gem_dir} \
--force \
--rdoc \
- %{gemname}-%{version}.gem
+ %{gem_name}-%{version}.gem
-chmod 0644 ./%{gemdir}/cache/%{gemname}-%{version}.gem
+chmod 0644 ./%{gem_cache}
find . -type f -print0 | xargs --null chmod ugo+r
%install
-mkdir -p %{buildroot}%{gemdir}
-cp -a ./%{gemdir}/* %{buildroot}%{gemdir}/
+mkdir -p %{buildroot}%{gem_dir}
+cp -a ./%{gem_dir}/* %{buildroot}%{gem_dir}/
# If there are C extensions, mv them to the extdir.
# $REQUIRE_PATHS is taken from the first value of the require_paths field in
# the gemspec file. It will typically be either "lib" or "ext". For instance:
# s.require_paths = ["lib"]
-mkdir -p %{buildroot}%{gemextdir}/lib
-mv %{buildroot}%{geminstdir}/lib/%{gemname}.so %{buildroot}%{gemextdir}/lib/
+%if 0%{?fedora} >= 17
+mkdir -p %{buildroot}%{gem_extdir}/lib
+mv %{buildroot}%{gem_instdir}/lib/%{gem_name}.so %{buildroot}%{gem_extdir}/lib/
+%else
+mkdir -p %{buildroot}%{ruby_sitearch}
+mv %{buildroot}%{gem_instdir}/lib/%{gem_name}.so %{buildroot}%{ruby_sitearch}
+%endif
# clean the built bits out
-rm -rf %{buildroot}%{gemdir}/gems/%{gemname}-%{version}/src/*.o %{gemdir}/gems/%{gemname}-%{version}/src/*.so
+rm -rf %{buildroot}%{gem_dir}/gems/%{gem_name}-%{version}/src/
+
+rm -rf %{buildroot}%{gem_instdir}/.yardoc
%check
# Net connection needed, disabling now.
@@ -111,21 +126,27 @@ exit 0
rake test
%files
-%{gemextdir}/lib/%{gemname}.so
-%dir %{geminstdir}/
-%doc %{geminstdir}/[A-Z]*
-%{gemdir}/cache/%{gemname}-%{version}.gem
-%{gemdir}/doc/%{gemname}-%{version}/
-%{geminstdir}/src/
-%{gemdir}/specifications/%{gemname}-%{version}.gemspec
+%if 0%{?fedora} >= 17
+%{gem_extdir}/lib/%{gem_name}.so
+%else
+%{ruby_sitearch}/%{gem_name}.so
+%endif
+%dir %{gem_instdir}/
+%doc %{gem_instdir}/[A-Z]*
+%{gem_cache}
+%{gem_spec}
%files doc
%defattr(-,root,root,-)
-%{geminstdir}/Rakefile
-%{geminstdir}/sample/
-%{geminstdir}/test/
+%{gem_docdir}/
+%{gem_instdir}/Rakefile
+%{gem_instdir}/sample/
+%{gem_instdir}/test/
%changelog
+* Sun Apr 8 2012 Mamoru Tasaka <mtasaka at fedoraproject.org> - 0.4.1-15
+- Fix packaging to really work properly
+
* Fri Mar 23 2012 Tom Callaway <spot at fedoraproject.org> - 0.4.1-14
- get this thing working
More information about the scm-commits
mailing list