CentOS 6での Ruby 2.0.0 rpm 作成方法

CentOS 6.5(x86_64)で、ruby 2.0.0 rpm を作成したので、そのメモ。

前回のリベンジ になります。

今回は、ALMiniumでも使用している ruby-2.0.0-rpm の spec ファイル を使用。

RPMビルド環境準備

$ su
# yum -y install gcc
# yum -y install rpm-build
# yum -y install gdbm-devel
# yum -y install libffi-devel
# yum -y install tk-devel
# yum -y install byacc

Ruby2.0.0 をインストールする下準備

ruby のビルドは、ビルド環境にある範囲でライブラリなどをビルドするので
パッケージが不足していると、ライブラリが欠けた ruby rpm パッケージが出来てしまうのであらかじめ以下を全部インストールしておく。

# yum -y install gcc-c++
# yum -y install zlib-devel
# yum -y install httpd-devel
# yum -y install openssl-devel
# yum -y install curl-devel
# yum -y install ncurses-devel
# yum -y install gdbm-devel
# yum -y install readline-devel
# yum -y install sqlite-devel
# yum -y install ImageMagick ImageMagick-devel

libyaml-devel もインストールしないといけないけど、リポジトリにパッケージが無い。
EPEL には存在するので、Yum リポジトリに EPEL を追加する。

# wget http://ftp.iij.ad.jp/pub/linux/fedora/epel/RPM-GPG-KEY-EPEL-6
# rpm --import RPM-GPG-KEY-EPEL-6
# rm -f RPM-GPG-KEY-EPEL-6
# vi /etc/yum.repos.d/epel.repo

epel.repo には次の内容を記述する。

[epel]
name=EPEL RPM Repository for Red Hat Enterprise Linux
baseurl=http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/$basearch/
gpgcheck=1
enabled=0

あとは libyaml-devel をインストール

# yum --enablerepo=epel install libyaml-devel

一般ユーザーで rpm をビルド開始

# exit
$ mkdir -p ~/rpmbuild/{SOURCES,SPECS}
$ cd ~/rpmbuild/SOURCES/
$ wget http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p353.tar.gz
$ cd ~/rpmbuild/SPECS/
$ wget https://raw.github.com/hansode/ruby-2.0.0-rpm/master/ruby200.spec
$ rpmbuild -bb ruby200.spec

自分の環境では約5分程ビルドが走って最後に下記ファイルが作成されれば成功。

書き込み完了: /home/naitoh/rpmbuild/RPMS/x86_64/ruby-2.0.0p353-2.el6.x86_64.rpm

インストール。

$ cd ~/rpmbuild/RPMS/x86_64/
$ su
パスワード:
# rpm -ivh ruby-2.0.0p353-2.el6.x86_64.rpm
# ruby -v
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux]

無事 Ruby 2.0 rpm 作成完了。
この後、Redmine や RMagick も問題無く動きました。

# gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.0.14
- RUBY VERSION: 2.0.0 (2013-11-22 patchlevel 353) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/lib64/ruby/gems/2.0.0
- RUBY EXECUTABLE: /usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /usr/lib64/ruby/gems/2.0.0
- /root/.gem/ruby/2.0.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/

とりあえず問題なさそう。今回はここまで。