%global gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null) %global gemname raindrops %global rubyabi 1.8 %global geminstdir %{gemdir}/gems/%{gemname}-%{version} %{!?ruby_sitearch: %global ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')} Summary: Real-time stats for preforking Rack servers Name: rubygem-%{gemname} Version: 0.8.0 Release: 3%{?dist} Group: Development/Languages License: LGPLv2 or LGPLv3 URL: http://raindrops.bogomips.org/ Source0: http://rubygems.org/gems/%{gemname}-%{version}.gem Requires: ruby(abi) = %{rubyabi} Requires: ruby(rubygems) Requires: ruby BuildRequires: ruby(abi) = %{rubyabi} BuildRequires: ruby(rubygems) #BuildRequires: rubygem(unicorn) will be included after bootstrapping unicorn BuildRequires: rubygem(rack) BuildRequires: ruby-devel BuildRequires: ruby Provides: rubygem(%{gemname}) = %{version} ExcludeArch: ppc ppc64 %description Raindrops is a real-time stats toolkit to show statistics for Rack HTTP servers. It is designed for preforking servers such as Rainbows! and Unicorn, but should support any Rack HTTP server under Ruby 1.9, 1.8 and Rubinius on platforms supporting POSIX shared memory. It may also be used as a generic scoreboard for sharing atomic counters across multiple processes. %package doc Summary: Documentation for %{name} Group: Documentation Requires: %{name} = %{version}-%{release} %description doc Documentation for %{name} %prep %setup -q -c -T mkdir -p .%{gemdir} export CONFIGURE_ARGS="--with-cflags='%{optflags}'" gem install --local --install-dir .%{gemdir} \ -V \ --force %{SOURCE0} # Adjusting minor permissions chmod a+r .%{geminstdir}/ChangeLog chmod a+r .%{geminstdir}/NEWS chmod a-x .%{geminstdir}/examples/linux-listener-stats.rb # Fixing test-suite files sed -i '2 i\ require "rubygems"' .%{geminstdir}/test/rack_unicorn.rb sed -i '2 i\ require "rubygems"' .%{geminstdir}/test/test_linux_ipv6.rb sed -i '2 i\ require "rubygems"' .%{geminstdir}/test/test_watcher.rb %build %install mkdir -p %{buildroot}%{gemdir} cp -a .%{gemdir}/* \ %{buildroot}%{gemdir}/ # Remove the binary extension sources and build leftovers. rm -rf %{buildroot}%{geminstdir}/ext rm -f %{buildroot}%{geminstdir}/.document rm -f %{buildroot}%{geminstdir}/.gitignore rm -f %{buildroot}%{geminstdir}/.manifest rm -f %{buildroot}%{geminstdir}/.wrongdoc.yml rm -f %{buildroot}%{geminstdir}/GIT-VERSION-FILE rm -f %{buildroot}%{geminstdir}/GIT-VERSION-GEN rm -f %{buildroot}%{geminstdir}/GNUmakefile rm -f %{buildroot}%{geminstdir}/Rakefile rm -f %{buildroot}%{geminstdir}/Gemfile rm -f %{buildroot}%{geminstdir}/setup.rb rm -f %{buildroot}%{geminstdir}/pkg.mk rm -f %{buildroot}%{geminstdir}/raindrops.gemspec rm -rf %{buildroot}%{geminstdir}/.yardoc # move header files, C extension files to the correct directory install -d -m0755 %{buildroot}%{ruby_sitearch} cp %{buildroot}%{geminstdir}/lib/raindrops_ext.so %{buildroot}%{ruby_sitearch} %check cd %{buildroot}%{geminstdir} RUBYOPT="-Ilib -I%{buildroot}%{ruby_sitearch} -Itest" testrb test/test_aggregate_pmq.rb RUBYOPT="-Ilib -I%{buildroot}%{ruby_sitearch} -Itest" testrb test/test_inet_diag_socket.rb RUBYOPT="-Ilib -I%{buildroot}%{ruby_sitearch} -Itest" testrb test/test_last_data_recv_unicorn.rb RUBYOPT="-Ilib -I%{buildroot}%{ruby_sitearch} -Itest" testrb test/test_linux_all_tcp_listen_stats_leak.rb RUBYOPT="-Ilib -I%{buildroot}%{ruby_sitearch} -Itest" testrb test/test_linux_all_tcp_listen_stats.rb RUBYOPT="-Ilib -I%{buildroot}%{ruby_sitearch} -Itest" testrb test/test_linux_middleware.rb RUBYOPT="-Ilib -I%{buildroot}%{ruby_sitearch} -Itest" testrb test/test_linux.rb RUBYOPT="-Ilib -I%{buildroot}%{ruby_sitearch} -Itest" testrb test/test_linux_tcp_info.rb RUBYOPT="-Ilib -I%{buildroot}%{ruby_sitearch} -Itest" testrb test/test_middleware.rb #RUBYOPT="-Ilib -I{buildroot}{ruby_sitearch} -Itest" testrb test/test_middleware_unicorn_ipv6.rb #RUBYOPT="-Ilib -I{buildroot}{ruby_sitearch} -Itest" testrb test/test_middleware_unicorn.rb RUBYOPT="-Ilib -I%{buildroot}%{ruby_sitearch} -Itest" testrb test/test_raindrops_gc.rb RUBYOPT="-Ilib -I%{buildroot}%{ruby_sitearch} -Itest" testrb test/test_raindrops.rb RUBYOPT="-Ilib -I%{buildroot}%{ruby_sitearch} -Itest" testrb test/test_raindrops.rb RUBYOPT="-Ilib -I%{buildroot}%{ruby_sitearch} -Itest" testrb test/test_struct.rb # Tests in troubles #RUBYOPT="-Ilib -I {buildroot} {ruby_sitearch} -Itest" testrb test/test_watcher.rb #RUBYOPT="-Ilib -I {buildroot} {ruby_sitearch} -Itest" testrb test/test_linux_ipv6.rb %files %{ruby_sitearch}/raindrops_ext.so %doc %{geminstdir}/README %doc %{geminstdir}/LICENSE %doc %{geminstdir}/COPYING %dir %{geminstdir} %{geminstdir}/lib %{gemdir}/cache/%{gemname}-%{version}.gem %{gemdir}/specifications/%{gemname}-%{version}.gemspec %files doc %doc %{gemdir}/doc/%{gemname}-%{version} %doc %{geminstdir}/NEWS %doc %{geminstdir}/LATEST %doc %{geminstdir}/TODO %doc %{geminstdir}/ChangeLog %doc %{geminstdir}/examples %doc %{geminstdir}/test %doc %{geminstdir}/lib/raindrops.rb %doc %{geminstdir}/lib/raindrops/aggregate.rb %doc %{geminstdir}/lib/raindrops/aggregate/last_data_recv.rb %doc %{geminstdir}/lib/raindrops/aggregate/pmq.rb %doc %{geminstdir}/lib/raindrops/last_data_recv.rb %doc %{geminstdir}/lib/raindrops/linux.rb %doc %{geminstdir}/lib/raindrops/middleware.rb %doc %{geminstdir}/lib/raindrops/middleware/proxy.rb %doc %{geminstdir}/lib/raindrops/struct.rb %doc %{geminstdir}/lib/raindrops/watcher.rb %changelog * Sun Jan 22 2012 Guillermo Gómez - 0.8.0-3 - C extension moved to richt place * Sun Jan 22 2012 Guillermo Gómez - 0.8.0-2 - License field fixed * Sun Jan 08 2012 Guillermo Gómez - 0.8.0-1 - Initial package