Skip to content

Instantly share code, notes, and snippets.

@wpeterson
Forked from johnbintz/gist:2965472
Created December 6, 2012 00:41
Show Gist options
  • Save wpeterson/4220908 to your computer and use it in GitHub Desktop.
Save wpeterson/4220908 to your computer and use it in GitHub Desktop.
ruby 1.9.3-p327 with performance patches built into a .deb package with fpm
# For Debian Squeeze
# Part 1: Make a deb package of ruby:
# Get our deps
sudo apt-get update
sudo apt-get install -y python-setuptools python-dev build-essential dpkg-dev libopenssl-ruby ruby1.8-dev rubygems bison autoconf zlib1g zlib1g-dev libreadline6 libreadline6-dev libssl0.9.8 libssl-dev libyaml-dev
# Get ruby
curl -O http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz
tar -zxvf ruby-1.9.3-p327.tar.gz
cd ruby-1.9.3-p327/
# Apply cumulative Falcon 1.9.3p327 patch: https://gist.github.com/4136373
curl https://raw.github.com/gist/4136373/1e17b7a6e69324c8167cf6b0a4e76a4100e0ed37/falcon-gc.diff | patch -p1
# Install fpm
sudo gem install fpm
# Compile it to a tempory dir
time (make clean ; make distclean ;./configure --prefix=/usr --disable-install-doc && make -j 8 && make install DESTDIR=/tmp/installdir)
rm -Rf *.deb
# Package it
# Note: You should copy the .deb file to somewhere safe, I use the Internet.
# This also totally takes over ruby18 and anything that Debian considers to be "ruby". You have been warned.
fpm -s dir -t deb -n ruby1.9.3 -v 1.9.3.327-falcon -C /tmp/installdir \
-p ruby-VERSION_ARCH.deb -d "libstdc++6 (>= 4.4.3)" \
-d "libstdc++6 (>= 4.4.3)" \
-d "libc6 (>= 2.6)" -d "libffi6 (>= 3.0.10)" -d "libgdbm3 (>= 1.8.3)" \
-d "libncurses5 (>= 5.7)" -d "libreadline6 (>= 6.1)" \
-d "libssl0.9.8 (>= 0.9.8)" -d "zlib1g (>= 1:1.2.2)" \
--replaces ruby --replaces ruby18 --replaces ruby18-dev --replaces ri --replaces rdoc --replaces libruby --replaces irb --replaces irb18 --replaces rubygems --replaces rubygems18 --replaces libruby18\
usr/bin usr/lib usr/share/man usr/include
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment