Skip to content

Instantly share code, notes, and snippets.

@jeffmccune
Created April 23, 2012 17:52
Show Gist options
  • Save jeffmccune/2472673 to your computer and use it in GitHub Desktop.
Save jeffmccune/2472673 to your computer and use it in GitHub Desktop.
# Generated from fastthread-0.6.4.1.gem by gem2rpm -*- rpm-spec -*-
%define gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
%define gemname fastthread
%define geminstdir %{gemdir}/gems/%{gemname}-%{version}
%define ruby_sitearch %(ruby -rrbconfig -e "puts Config::CONFIG['sitearchdir']")
%define _enable_debug_packages 0
Summary: Optimized replacement for thread.rb primitives
Name: rubygem-%{gemname}
Version: 1.0.7
Release: 1%{?dist}
Group: Development/Languages
License: GPLv2+ or Ruby
URL: http://mongrel.rubyforge.org
Source0: http://gems.rubyforge.org/gems/%{gemname}-%{version}.gem
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: rubygems
BuildRequires: rubygems
BuildRequires: ruby-devel
Provides: rubygem(%{gemname}) = %{version}
%description
Optimized replacement for thread.rb primitives
%prep
%build
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{gemdir}
gem install --local --install-dir %{buildroot}%{gemdir} --force %{SOURCE0}
install -d -m0755 %{buildroot}%{ruby_sitearch}
mv %{buildroot}%{geminstdir}/lib/fastthread.so %{buildroot}%{ruby_sitearch}
chmod 0755 %{buildroot}%{ruby_sitearch}/fastthread.so
rm -rf %{buildroot}%{geminstdir}/ext
rm -rf %{buildroot}%{geminstdir}/.require_paths
strip %{buildroot}%{ruby_sitearch}/fastthread.so
%clean
rm -rf %{buildroot}
%files
%defattr(-, root, root)
%doc %{gemdir}/doc
%{ruby_sitearch}/fastthread.so
%{gemdir}/gems/%{gemname}-%{version}/
%{gemdir}/cache/%{gemname}-%{version}.gem
%{gemdir}/specifications/%{gemname}-%{version}.gemspec
%changelog
* Fri Jul 24 2009 Scott Seago <sseago@redhat.com> - 1.0.7-1
- Upgraded to 1.0.7
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Sat Nov 08 2008 Jeroen van Meeuwen <j.van.meeuwen@ogd.nl> - 1.0.1-1
- New upstream version
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.0-2
- Autorebuild for GCC 4.3
* Thu Aug 23 2007 <sseago@redhat.com> - 1.0-1
- Updated gem to Version 1.0
* Tue Mar 6 2007 <sseago@redhat.com> - 0.6.4.1-1
- Initial packaging.
# Generated from rake-0.7.3.gem by gem2rpm -*- rpm-spec -*-
%define ruby_sitelib %(ruby -rrbconfig -e "puts Config::CONFIG['sitelibdir']")
%define gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
%define gemname rake
%define geminstdir %{gemdir}/gems/%{gemname}-%{version}
%global rubyabi 1.8
Summary: Ruby based make-like utility
Name: rubygem-%{gemname}
Version: 0.8.7
Release: 2%{?dist}
Group: Development/Languages
License: MIT
URL: http://rake.rubyforge.org
Source0: http://gems.rubyforge.org/gems/%{gemname}-%{version}.gem
BuildRoot: %{_tmppath}/%{name}-%{version}-root-%(%{__id_u} -n)
Requires: ruby(rubygems)
Requires: ruby(abi) = %{rubyabi}
BuildRequires: ruby(rubygems)
BuildRequires: ruby(abi) = %{rubyabi}
BuildRequires(check): ruby(flexmock)
BuildArch: noarch
Provides: rubygem(%{gemname}) = %{version}
%description
Rake is a Make-like program implemented in Ruby. Tasks and dependencies are
specified in standard Ruby syntax.
%prep
%setup -q -c -T
%build
mkdir -p .%{gemdir}
gem install -V \
--local \
--install-dir $(pwd)/%{gemdir} \
--force --rdoc \
%{SOURCE0}
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{gemdir}
cp -a .%{gemdir}/* %{buildroot}%{gemdir}/
mkdir -p %{buildroot}/%{_bindir}
mv %{buildroot}%{gemdir}/bin/* %{buildroot}/%{_bindir}
find %{buildroot}/%{_bindir} -type f | xargs -n 1 sed -i -e 's"^#!/usr/bin/env ruby"#!/usr/bin/ruby"'
rmdir %{buildroot}%{gemdir}/bin
find %{buildroot}%{geminstdir}/{lib,test} -type f | xargs -n 1 sed -i -e '/^#!\/usr\/bin\/env ruby/d'
find %{buildroot}%{geminstdir}/{doc,lib,test} -type f | xargs chmod 0644
%clean
rm -rf %{buildroot}
%check
export GEM_PATH=$(pwd)/%{gemdir}
pushd .%{geminstdir}
# Someone please check why test fails!!
# Note that on ppc64 the following test causes segv, perhaps
# bug in ruby itself, needs investigating.
ruby ./bin/rake test || :
%files
%defattr(-, root, root, -)
%{_bindir}/rake
%dir %{geminstdir}
%{geminstdir}/Rakefile
%{geminstdir}/install.rb
%{geminstdir}/bin
%{geminstdir}/lib
%doc %{geminstdir}/test
%doc %{gemdir}/doc/%{gemname}-%{version}
%doc %{geminstdir}/README
%doc %{geminstdir}/MIT-LICENSE
%doc %{geminstdir}/TODO
%doc %{geminstdir}/CHANGES
%doc %{geminstdir}/doc
%{gemdir}/cache/%{gemname}-%{version}.gem
%{gemdir}/specifications/%{gemname}-%{version}.gemspec
%changelog
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Thu Jun 18 2009 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> - 0.8.7-1
- 0.8.7
- Enable %%check
* Tue Mar 17 2009 Jeroen van Meeuwen <j.van.meeuwen@ogd.nl> - 0.8.4-1
- New upstream version
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Mon Oct 27 2008 David Lutterkort <lutter@redhat.com> - 0.8.3-1
- Cleanup multiply listed files
- Set permissions in doc/, lib/ and test/ to 644
* Thu May 15 2008 Alan Pevec <apevec@redhat.com> 0.8.1-2
- fix shebang in scripts
* Thu May 15 2008 Alan Pevec <apevec@redhat.com> 0.8.1-1
- new upstream version
* Thu Aug 23 2007 David Lutterkort <dlutter@redhat.com> - 0.7.3-2
- Fix license tag
- Remove bogus shebangs in lib/ and test/
* Mon Jun 18 2007 David Lutterkort <dlutter@redhat.com> - 0.7.3-1
- Initial package
# Jeff McCune <jeff@puppetlabs.com>
# 2010-08-22
#
# This ruby library contains binary extensions needing compilation.
# Therefore, this spec file is split into el4 and el5
# versions.
%global _gemname passenger
%global _version 2.2.11
# JJM If the p_vendor variable is defined then we
# should set the prefix to /opt and use the p_vendor
# string as the prefix of the package names for both
# this package and all requirements.
#
# This will allow this SPEC file to be used to install
# to /opt/puppet or something similar by just defining
# p_vendor at the top of the file.
#
# This also means this SPEC file should be used to replace
# the puppet_rubygem_passenger spec file which is not so robust.
%if 0%{?p_vendor:1}
%define _prefix /opt/%{p_vendor}
%define name_prefix %{p_vendor}-
%define _sysdatadir /usr/share
%define _lib lib
%endif
%define ruby %{_bindir}/ruby
%define gem %{_bindir}/gem
%define rake %{_bindir}/rake
%global gemdir %(%{ruby} -rubygems -e 'puts Gem::dir' 2>/dev/null)
%global geminstdir %{gemdir}/gems/%{_gemname}-%{version}
%global ruby_sitearch %(%{ruby} -rrbconfig -e "puts Config::CONFIG['sitearchdir']")
%global _enable_debug_packages 0
%global rubyabi 1.8
Summary: Passenger is a module for Apache and nginx for deployment of Ruby applications
Name: %{?name_prefix}rubygem-%{_gemname}
Vendor: Puppet Labs
Version: %{_version}
Release: 3%{?dist}
Group: Development/Libraries
License: MIT
URL: http://www.modrails.com/
Source0: http://gems.rubyforge.org/gems/%{_gemname}-%{version}.gem
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: %{?name_prefix}ruby(abi) = %{rubyabi}
Requires: %{?name_prefix}rubygems >= 1.3.1
Requires: %{?name_prefix}rubygem-fastthread >= 1.0.7
Requires: %{?name_prefix}rubygem-rack >= 1.0.1
BuildRequires: %{?name_prefix}ruby
BuildRequires: %{?name_prefix}rubygems
BuildRequires: %{?name_prefix}rubygem(rake)
BuildRequires: %{?name_prefix}ruby-devel
BuildRequires: %{?name_prefix}ruby-rdoc
BuildRequires: gcc-c++
BuildRequires: zlib-devel
BuildRequires: httpd-devel
BuildRequires: apr-devel
Provides: %{?name_prefix}rubygem(%{_gemname}) = %{version}
%description
Phusion Passenger is an Nginx and Apache module which makes deploying Ruby and
Ruby on Rails applications on Nginx and Apache a breeze. It follows the usual
Ruby on Rails conventions, such as "Don’t-Repeat-Yourself" and ease of setup,
while at the same time providing enough flexibility.
%prep
%build
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{gemdir}
# JJM, Note we install outside of buildroot because Passenger embeds the
# install-dir all over the place and Fedora Mock builds grep for this and
# return an error if files contain the buildroot path in them.
# A simple sed -i does not work since it corrupts the ELF headers.
%{gem} install --local --install-dir %{gemdir} --force %{SOURCE0}
# install -d -m0755 %{buildroot}%{ruby_sitearch}
# JJM Build the nginx and apache2 extensions
pushd %{gemdir}/gems/%{_gemname}-%{version}
%{ruby} %{rake} nginx
%{ruby} %{rake} apache2
popd
# JJM Move the executables out of the system bin directory.
mkdir -p %{buildroot}/%{_bindir}
mv %{_bindir}/passenger-* %{buildroot}%{_bindir}
rm -f %{_bindir}/passenger-*
# JJM Move installed system files into buildroot.
# Thankfully, things are organized reasonably well.
# cache
mkdir -p %{buildroot}%{gemdir}/cache
mv %{gemdir}/cache/%{_gemname}-%{version}.gem %{buildroot}%{gemdir}/cache
# doc
mkdir -p %{buildroot}%{gemdir}/doc
mv %{gemdir}/doc/%{_gemname}-%{version} %{buildroot}%{gemdir}/doc
# gems
mkdir -p %{buildroot}%{gemdir}/gems
mv %{gemdir}/gems/%{_gemname}-%{version} %{buildroot}%{gemdir}/gems
# specifications
mkdir -p %{buildroot}%{gemdir}/specifications
mv %{gemdir}/specifications/%{_gemname}-%{version}.gemspec \
%{buildroot}%{gemdir}/specifications
# JJM Remove the debian directory
rm -rf %{buildroot}/%{geminstdir}/debian
# JJM There are some scripts which directly call /usr/bin/ruby1.8
# RPM will automatically find these and add them as a requirement which is
# not at all what we want. Instead, change the interpreter to our ruby
for f in $(find %{buildroot} -type f); do
head -1 $f | grep -q '^#!/usr/bin/ruby1.8' && \
sed -i 's,#!/usr/bin/ruby1.8,#!%{_bindir}/ruby,g' $f
done
%clean
rm -rf %{buildroot}
%files
%defattr(-, root, root, -)
%{_bindir}
%{gemdir}
%docdir %{gemdir}/doc/%{_gemname}-%{version}
%doc %{geminstdir}/DEVELOPERS.TXT
%docdir %{geminstdir}/doc
%doc %{geminstdir}/INSTALL
%doc %{geminstdir}/LICENSE
%docdir %{geminstdir}/man
%doc %{geminstdir}/NEWS
%doc %{geminstdir}/README
%changelog
* Sun Aug 22 2010 Jeff McCune <jeff@puppetlabs.com> - 2.2.15-1
- Modified RPM to easily compile into system /usr
* Wed Aug 18 2010 Jeff McCune <jeff@puppetlabs.com> - 2.2.5-1
- Modified SPEC file to use vendor provided ruby interpreter
- Use rake to build both apache2 and nginx modules
# Jeff McCune <jeff@puppetlabs.com>
# 2010-08-17
#
# Puppet Labs Rack GEM Package
# JJM Package names are prefixed with %{_vendor} to prevent collision
# with system packages of the same name.
#
# This package is expected on all versions of puppet-opt since it contains
# no binary libraries, only interpreted ruby.
%global _gemname rack
%global _version 1.0.1
%if 0%{?p_vendor:1}
%define _prefix /opt/%{p_vendor}
%define name_prefix %{p_vendor}-
%define _sysdatadir /usr/share
%define _lib lib
%endif
%define ruby %{_bindir}/ruby
%define gem %{_bindir}/gem
%define rake %{_bindir}/rake
%global gemdir %(%{ruby} -rubygems -e 'puts Gem::dir' 2>/dev/null)
%global geminstdir %{gemdir}/gems/%{_gemname}-%{version}
%global ruby_sitearch %(%{ruby} -rrbconfig -e "puts Config::CONFIG['sitearchdir']")
%global _enable_debug_packages 0
%global rubyabi 1.8
Name: %{?name_prefix}rubygem-%{_gemname}
Summary: Common API for connecting web frameworks, web servers and layers of software
Version: %{_version}
Vendor: Puppet Labs
Release: 2%{?dist}
Group: Development/Languages
License: MIT
URL: http://rubyforge.org/projects/%{_gemname}/
Source0: http://gems.rubyforge.org/gems/%{_gemname}-%{version}.gem
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: %{?name_prefix}rubygems
Requires: %{?name_prefix}ruby(abi) = 1.8
BuildRequires: %{?name_prefix}rubygems
BuildArch: noarch
Provides: %{?name_prefix}rubygem(%{_gemname}) = %{version}
%description
Rack provides a common API for connecting web frameworks,
web servers and layers of software in between.
%prep
%build
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{gemdir}
%{gem} install --local --install-dir %{buildroot}/%{gemdir} \
--force %{SOURCE0}
chmod 755 %{buildroot}/%{geminstdir}/test/cgi/test.fcgi
chmod 755 %{buildroot}/%{geminstdir}/test/cgi/test.ru
chmod 755 %{buildroot}/%{geminstdir}/test/cgi/test
chmod 755 %{buildroot}/%{geminstdir}/bin/rackup
# Move %{gemdir}/bin/rackup to %{_bindir}
mkdir -p %{buildroot}/%{_bindir}
mv %{buildroot}/%{gemdir}/bin/rackup %{buildroot}/%{_bindir}
rm -rf %{buildroot}/%{gemdir}/bin/
%clean
rm -rf %{buildroot}
%files
%defattr(-, root, root, -)
%doc %{gemdir}/doc/%{_gemname}-%{version}
%doc %{geminstdir}/COPYING
%doc %{geminstdir}/README
%doc %{geminstdir}/KNOWN-ISSUES
%doc %{geminstdir}/SPEC
%doc %{geminstdir}/example
%doc %{geminstdir}/test
%doc %{geminstdir}/contrib
%doc %{geminstdir}/rack.gemspec
%{geminstdir}
%{_bindir}/rackup
%{gemdir}/cache/%{_gemname}-%{version}.gem
%{gemdir}/specifications/%{_gemname}-%{version}.gemspec
%changelog
* Mon Aug 23 2010 Jeff McCune <jeff@puppetlabs.com> - 1.0.1-2
- Updated SPEC file to install using system ruby
- Updated SPEC file for version 1.0.1 of rack for Passenger 2.2.11
* Wed Aug 18 2010 Jeff McCune <jeff@puppetlabs.com> - 1.2.1-1
- Updated rack gem to version 1.2.1
- Modified SPEC to use vendor provided ruby rather than system ruby
- Updated list of %files in package. Added rack.gemspec
* Sun Nov 09 2008 Jeroen van Meeuwen <j.van.meeuwen@ogd.nl> - 0.4.0-2
- Remove unused macro (#470694)
- Add ruby(abi) = 1.8 as required by package guidelines (#470694)
- Move %%{gemdir}/bin/rackup to %%{_bindir} (#470694)
* Sat Nov 08 2008 Jeroen van Meeuwen <j.van.meeuwen@ogd.nl> - 0.4.0-1
- Initial package
%define gem_dir %(ruby -rrbconfig -e 'puts File::expand_path(File::join(Config::CONFIG["sitedir"],"..","gems"))')
%define rb_ver %(ruby -rrbconfig -e 'puts Config::CONFIG["ruby_version"]')
%define gem_home %{gem_dir}/%{rb_ver}
%define ruby_sitelib %(ruby -rrbconfig -e 'puts Config::CONFIG["sitelibdir"]')
Summary: The Ruby standard for packaging ruby libraries
Name: rubygems
Version: 1.3.1
Release: 1%{?dist}
Group: Development/Libraries
# No GPL version is specified.
License: Ruby or GPL+
URL: http://rubyforge.org/projects/rubygems/
Source0: http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
Patch0: rubygems-1.3.1-noarch-gemdir.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-root-%(%{__id_u} -n)
Requires: ruby(abi) = 1.8 ruby-rdoc
BuildRequires: ruby ruby-rdoc
BuildArch: noarch
Provides: ruby(rubygems) = %{version}
%description
RubyGems is the Ruby standard for publishing and managing third party
libraries.
%prep
%setup -q
%patch0 -p1
# Some of the library files start with #! which rpmlint doesn't like
# and doesn't make much sense
for f in `find lib -name \*.rb` ; do
head -1 $f | grep -q '^#!/usr/bin/env ruby' && sed -i -e '1d' $f
done
%build
# Nothing
%install
rm -rf $RPM_BUILD_ROOT
GEM_HOME=%{buildroot}/%{gem_home} \
ruby setup.rb --prefix=%{_prefix} \
--no-rdoc --no-ri \
--destdir=%{buildroot}/%{ruby_sitelib}/
mkdir -p %{buildroot}/%{_bindir}
mv %{buildroot}/%{ruby_sitelib}/bin/gem %{buildroot}/%{_bindir}/gem
rm -rf %{buildroot}/%{ruby_sitelib}/bin
mv %{buildroot}/%{ruby_sitelib}/lib/* %{buildroot}/%{ruby_sitelib}/.
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-, root, root, -)
%doc README TODO ChangeLog
%doc GPL.txt LICENSE.txt
%dir %{gem_dir}
%dir %{gem_home}
%dir %{gem_home}/cache
%dir %{gem_home}/gems
%dir %{gem_home}/specifications
%doc %{gem_home}/doc
%{_bindir}/gem
%{ruby_sitelib}/*
%changelog
* Sun Nov 09 2008 Jeroen van Meeuwen <kanarip@kanarip.com> - 1.3.1-1
- New upstream version
* Tue Sep 16 2008 David Lutterkort <dlutter@redhat.com> - 1.2.0-2
- Bump release because I forgot to check in newer patch
* Tue Sep 16 2008 David Lutterkort <dlutter@redhat.com> - 1.2.0-1
- Updated for new setup.rb
- Simplified by removing conditionals that were needed for EL-4;
there's just no way we can support that with newer rubygems
* Wed Sep 3 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0.9.4-2
- fix license tag
* Fri Jul 27 2007 David Lutterkort <dlutter@redhat.com> - 0.9.4-1
- Conditionalize so it builds on RHEL4
* Tue Feb 27 2007 David Lutterkort <dlutter@redhat.com> - 0.9.2-1
- New version
- Add patch0 to fix multilib sensitivity of Gem::dir (bz 227400)
* Thu Jan 18 2007 David Lutterkort <dlutter@redhat.com> - 0.9.1-1
- New version; include LICENSE.txt and GPL.txt
- avoid '..' in gem_dir to work around a bug in gem installer
- add ruby-rdoc to requirements
* Tue Jan 2 2007 David Lutterkort <dlutter@redhat.com> - 0.9.0-2
- Fix gem_dir to be arch independent
- Mention dual licensing in License field
* Fri Dec 22 2006 David Lutterkort <dlutter@redhat.com> - 0.9.0-1
- Updated to 0.9.0
- Changed to agree with Fedora Extras guidelines
* Mon Jan 9 2006 David Lutterkort <dlutter@redhat.com> - 0.8.11-1
- Updated for 0.8.11
* Sun Oct 10 2004 Omar Kilani <omar@tinysofa.org> 0.8.1-1ts
- First version of the package
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment