-
-
Save bradfordcp/1017793 to your computer and use it in GitHub Desktop.
Ruby Enterprise Edition RPM SPEC file. Does not include fast threading or libtcmalloc.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Package Maintainer: Increment phusion_release to match latest release available | |
%define phusion_release 2011.03 | |
%define _prefix /opt/ruby-enterprise | |
Summary: Ruby Enterprise Edition (Release %{phusion_release}) | |
Name: ruby-enterprise | |
Vendor: Phusion.nl <[email protected]> | |
Packager: Christopher Bradford <[email protected]> | |
Version: 1.8.7 | |
Release: 7%{?dist} | |
License: Ruby or GPL v2 | |
Group: Development/Languages | |
URL: http://www.rubyenterpriseedition.com/ | |
Source: http://rubyenterpriseedition.googlecode.com/files/ruby-enterprise-%{version}-%{phusion_release}.tar.gz | |
BuildRoot: %{_tmppath}/%{name}-%{version}-%{phusion_release}-root-%(%{__id_u} -n) | |
BuildRequires: make patch gcc-c++ glibc-devel | |
BuildRequires: openssl-devel readline-devel | |
BuildRequires: zlib-devel | |
Prefix: /opt/ruby-enterprise | |
%description | |
Ruby Enterprise Edition is a server-oriented friendly branch of Ruby which includes various enhancements: | |
* A copy-on-write friendly garbage collector. Phusion Passenger uses this, in combination with a technique called preforking, to reduce Ruby on Rails applications' memory usage by 33% on average. | |
* An improved memory allocator called tcmalloc, which improves performance quite a bit. | |
* The ability to tweak garbage collector settings for maximum server performance, and the ability to inspect the garbage collector's state. (RailsBench GC patch) | |
* The ability to dump stack traces for all running threads (caller_for_all_threads), making it easier for one to debug multithreaded Ruby web applications. | |
%prep | |
# Extract the source files | |
%setup -q -n ruby-enterprise-%{version}-%{phusion_release} | |
# Remove the fast threading patch | |
cd source | |
echo "Removing Fast Threading Patch" | |
patch -p1 -R < ../fast-threading.patch | |
cd ../.. | |
%package rubygems | |
Summary: The Ruby standard for packaging ruby libraries | |
Version: 1.5.2 | |
License: Ruby or GPL v2 | |
Vendor: Jim Weirich, Chad Fowler, and Eric Hodel <[email protected]> | |
Group: Development/Libraries | |
Requires: ruby-enterprise >= 1.8 | |
Provides: ruby-enterprise(rubygems) = %{version} | |
%description rubygems | |
RubyGems is the Ruby standard for publishing and managing third party | |
libraries. This rubygems package is for ruby-enterprise in /opt. | |
%build | |
cd source | |
./configure --prefix=%{_prefix} --enable-mbari-api CFLAGS='-g -O2' | |
sed -i 's/^LIBS = /LIBS = \$(PRELIBS) /g' Makefile | |
make PRELIBS="-W1,-rpath,%{_prefix}/lib -L${_prefix}/lib" | |
%install | |
echo "Building Ruby Enterprise Edition" | |
cd source | |
rm -rf %{buildroot} | |
make install DESTDIR=%{buildroot} | |
echo "Installing Rubygems" | |
export RUBYLIB="%{buildroot}%{_prefix}/lib/ruby/1.8" | |
export RUBYLIB="${RUBYLIB}:%{buildroot}%{_prefix}/lib/ruby/1.8/%{_arch}-linux" | |
export RUBYLIB="${RUBYLIB}:%{buildroot}%{_prefix}/lib/ruby/1.8/site_ruby/1.8" | |
export RUBYLIB="${RUBYLIB}:%{buildroot}%{_prefix}/lib/ruby/1.8/site_ruby/1.8/%{_arch}-linux" | |
cd ../rubygems | |
#%{buildroot}%{_prefix}/bin/ruby setup.rb --prefix=%{_prefix} --destdir=%{buildroot} | |
%{buildroot}%{_prefix}/bin/ruby setup.rb | |
mkdir -p %{buildroot}%{_prefix}/lib/ruby/gems/1.8/gems | |
# Due to a bug in rubygems we have to manually update the shebang | |
echo 'Updating Ruby Shebang in gem binary' | |
sed -i '1 c\ | |
#!%{_prefix}/bin/ruby' %{buildroot}%{_prefix}/bin/gem | |
%clean | |
rm -rf %{buildroot} | |
%files | |
%defattr(-,root,root,-) | |
%{_bindir}/* | |
%{_prefix}/lib/* | |
%{_prefix}/share/man/man1/ruby.1 | |
%doc source/ChangeLog | |
%doc source/COPYING | |
%doc source/LEGAL | |
%doc source/LGPL | |
%doc source/NEWS | |
%doc source/README | |
%doc source/README.EXT | |
%doc source/ToDo | |
# rubygems | |
%exclude %{_prefix}/bin/gem | |
%exclude %{_prefix}/lib/ruby/gems | |
%exclude %{_prefix}/lib/ruby/site_ruby/1.8/rubygems* | |
%exclude %{_prefix}/lib/ruby/site_ruby/1.8/ubygems.rb | |
%exclude %{_prefix}/lib/ruby/site_ruby/1.8/rbconfig | |
%files rubygems | |
%{_bindir}/gem | |
%{_prefix}/lib/ruby/gems | |
%{_prefix}/lib/ruby/site_ruby/1.8/rubygems* | |
%{_prefix}/lib/ruby/site_ruby/1.8/ubygems.rb | |
%{_prefix}/lib/ruby/site_ruby/1.8/rbconfig | |
%doc rubygems/LICENSE.txt | |
%doc rubygems/README.rdoc | |
%doc rubygems/UPGRADING.rdoc | |
%doc rubygems/GPL.txt | |
%doc rubygems/Manifest.txt | |
%doc rubygems/History.txt | |
%doc rubygems/ChangeLog | |
%pre | |
# Do not install if %{_prefix}/bin/ruby exists and is not provided by an RPM | |
if ([ -e %{_bindir}/ruby ] && !(rpm -q --whatprovides %{_bindir}/ruby >/dev/null)); then | |
exit 1 | |
else | |
exit 0 | |
fi | |
%pre rubygems | |
# Do not install if %{_prefix}/bin/gem exists and is not provided by an RPM | |
if ([ -e %{_bindir}/gem ] && !(rpm -q --whatprovides %{_bindir}/gem >/dev/null)); then | |
exit 1 | |
else | |
exit 0 | |
fi | |
%changelog | |
* Fri Nov 11 2011 Christopher Bradford <[email protected]> | |
- Fixed bug where rubygems 'gem' binary was not created with the appropriate shebang. | |
* Thu Nov 10 2011 Christopher Bradford <[email protected]> | |
- Fixed rpmbuild issues on CentOS | |
* Fri Jun 10 2011 Christopher Bradford <[email protected]> | |
- Working on install issues on F14 | |
* Wed Apr 20 2011 Adam Vollrath <[email protected]> | |
- Corrected Licenses | |
* Tue Apr 19 2011 Adam Vollrath <[email protected]> | |
- Updated for 2011.03 and rubygems 1.5.2 | |
* Tue Aug 24 2010 Adam Vollrath <[email protected]> | |
- Updated package metadata | |
- Updated BuildRequires dependency lists after testing | |
- Run Ruby's unit tests during package building | |
* Wed Jun 30 2010 Adam Vollrath <[email protected]> | |
- Updated for release 2010.02 | |
- Updated rubygems version to 1.3.7 | |
- Generalized all paths | |
* Mon Apr 19 2010 End Point Corporation <[email protected]> | |
- Updated for release 2010.01 | |
- Updated rubygems to 1.3.6 | |
* Wed Dec 02 2009 Adam Vollrath <[email protected]> | |
- Updated for release 2009.10 | |
* Wed Oct 07 2009 Adam Vollrath and Richard Templet <[email protected]> | |
- Updated for release 20090928 | |
* Wed Jun 10 2009 Adam Vollrath <[email protected]> | |
- Updated for release 20090610 | |
* Tue Jun 02 2009 Adam Vollrath <[email protected]> | |
- Added check for existing /usr/local/bin/gem | |
- Added LICENSE and other important document files | |
* Mon Jun 01 2009 Adam Vollrath <[email protected]> | |
- Refactored to use Phusion's installer instead of building from source | |
- Changed prefix to just /usr/local | |
- Added check for existing /usr/local/bin/ruby | |
- Split rubygems into a subpackage | |
* Sat May 30 2009 Adam Vollrath <[email protected]> | |
- Changed Release number convention | |
- Added tcmalloc support and `make test` | |
* Tue May 26 2009 Adam Vollrath <[email protected]> | |
- Updated for 1.8.6-20090520 | |
- Several small improvements to spec file | |
* Fri Dec 13 2008 Tim C. Harper <[email protected]> | |
- first build of REE package |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment