%define ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']") %define ruby_sitearch %(ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']") %define gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null) %define gemname pam %define libname _%{gemname}.so %define geminstdir %{gemdir}/gems/%{gemname}-%{version} %define installroot %{buildroot}%{geminstdir} %define extension_dir %{installroot}/ext/ # Main package bundles it at a gem Name: rubygem-%{gemname} Version: 1.5.3 Release: 1%{?dist} Summary: Ruby bindings for pam Group: Development/Languages License: LGPLv2+ URL: http://rubyforge.org/projects/ruby-pam Source0: http://rubyforge.org/frs/download.php/43802/%{gemname}-%{version}.gem BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: pam-devel >= 0.0.6 BuildRequires: ruby-devel >= 1.8 BuildRequires: ruby BuildRequires: rubygem-rake Requires: rubygems Requires: ruby(abi) = 1.8 Provides: rubygem(%{gemname}) = %{version} %description Ruby bindings for pam exposed via a gem # Secondary package exposes the library not as a gem %package -n ruby-%{gemname} Version: 1.5.3 Release: 1%{?dist} Summary: Ruby-pam bindings exposed outside of gem Group: Development/Languages Requires: rubygem(%{gemname}) Provides: ruby(%{gemname}) = %{version} %description -n ruby-%{gemname} Ruby bindings for pam not exposed via a gem # Empty per the standard %prep #Empty per the standard %build # Installs the gem, and then moves the compiled code to the site # library. Softlinks are used to keep the gem "whole" %install rm -rf %{buildroot} install -d -m0755 %{buildroot}%{gemdir} install -d -m0755 %{buildroot}%{ruby_sitelib} install -d -m0755 %{buildroot}%{ruby_sitearch} gem install --local --install-dir %{buildroot}%{gemdir} \ --force %{SOURCE0} mv %{extension_dir}%{libname} %{buildroot}%{ruby_sitearch}/%{libname} rm -rf %{extension_dir} strip %{buildroot}%{ruby_sitearch}/%{libname} rm %{installroot}/lib/%{libname} cp %{installroot}/lib/%{gemname}.rb %{buildroot}%{ruby_sitelib}/%{gemname}.rb %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %{geminstdir}/Rakefile %{geminstdir}/test %{geminstdir}/lib %{gemdir}/cache/%{gemname}-%{version}.gem %{gemdir}/specifications/%{gemname}-%{version}.gemspec %{ruby_sitearch}/%{libname} %doc %{geminstdir}/COPYING %doc %{geminstdir}/LICENSE %doc %{geminstdir}/MANIFEST %doc %{geminstdir}/README %doc %{geminstdir}/ChangeLog %files -n ruby-%{gemname} %defattr(-,root,root,-) %{ruby_sitelib}/%{gemname}.rb %changelog * Tue Sep 23 2008 Bryan Kearney - 1.5.3-1 - Added a shim layer to better support multiple architectures * Tue Aug 19 2008 Bryan Kearney - 1.5.2-3 - More package review. * Tue Aug 19 2008 Bryan Kearney - 1.5.2-2 - Fixes according to Fedora review * Mon Aug 6 2008 Bryan Kearney - 1.5.2-1 - Initial specfile