右往左往ブログ

日々よりみち

CheckInstallでruby 2.2.0のrpmパッケージを作成する

前回CentOS6にCheckInstallを導入したので、今回はCheckInstallを使ってruby-2.2.0をrpm化してみます。

以下を参考にしました。

CentOSにRubyをcheckinstallでRPMにしてインストールする。 - オープンソースこねこね

# wget http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.gz
# tar -zxvf ruby-2.2.0.tar.gz
# cd ruby-2.2.0
# ./configure --enable-shared --prefix=/usr

注意点としては、configure時に--enable-shared--prefix=/usrを指定することです。

--enable-sharedは、指定しないとインストールの途中でライブラリが足りなくなってエラーになります。
libffi-develyumでインストールすればよいという記事もありましたが、自分の環境だとそれでもエラーになります。

また、--prefix=/usrについては、指定しないとデフォルトで--prefix=/usr/localを指定していることになり、 最終的にrpmパッケージをインストールするときに依存パッケージであるlibrubyが/usr/bin/rubyを参照しようとしてエラーになります。

# make 
# cp -p ruby bin/
# checkinstall --fstrans=no

rubyバイナリをbin/配下にコピーしている理由は、最初のリンクの通りです。
最終的なcheckinstallコマンド実行時は、最後に余計なディレクトリをパッケージングするか確認を求められるので、 含めないようにしてください。

あとはrpmパッケージができるので、インストールするだけ。