linux

tar ballからパッケージを作るパッケージ

checkinstallを使うと簡単にtar ballからパッケージを作れます。
debやrpmのパッケージがないソフトウェアをインストールするときに便利です。
RedHatのrubyのバージョンが古かったので、新しいバージョンに入れ替えてみました。

checkinstallパッケージのインストール

checkinstallのRPMをダウンロードしてインストールします。

$ wget http://herr0s.hp.infoseek.co.jp/checkinstall-1.6.0-1.i386.rpm
`checkinstall-1.6.0-1.i386.rpm' に保存中
100%[======================================>] 94,563      --.-K/s 時間 0.1s
$ sudo rpm -i checkinstall-1.6.0-1.i386.rpm
$

rubyのソースを取得してmakeする

手順をコピーするの忘れてしまいました。
ソースのtar ballを展開して、configure&makeします。

パッケージ化する

コンパイルが正常に終了したら、そのディレクトリでcheckinstallを起動します。
パッケージ化してインストールまでしてくれます。
お手軽ですが、パッケージ化の作業を手伝ってくれるだけなのでパッケージの依存関係には十分注意が必要です。
今度、debパッケージも試してみよう。

$ sudo checkinstall --fstrans=no
checkinstall 1.6.0, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.
**************************************
**** RPM package creation selected ***
**************************************
This package will be built according to these values:
1 -  Summary: [ ruby 1.8.7 ]
2 -  Name:    [ ruby-1.8.7 ]
3 -  Version: [ p160 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ Applications/System ]
7 -  Architecture: [ i386 ]
8 -  Source location: [ ruby-1.8.7-p160 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ ruby-1.8.7 ]
変更を行う場合、項目を番号で選んで Enter キーを押してください 。行わないならこのまま Enter でかまいません:
Installing with make install...
========================= Installation results ===========================
./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb  ./instruby.rb --make="make" --dest-dir="" --extout=".ext" --mflags="" --make-flags="" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc"
installing binary commands
installing command scripts
installing library scripts
installing headers
installing manpages
installing extension objects
installing extension scripts
======================== Installation successful ==========================
Copying documentation directory...
./
./NEWS
./GPL
./ChangeLog
./COPYING.ja
./doc/
./doc/ChangeLog-1.8.0
./doc/irb/
./doc/irb/irb.rd
./doc/irb/irb-tools.rd.ja
./doc/irb/irb.rd.ja
./doc/forwardable.rd
./doc/forwardable.rd.ja
./doc/NEWS-1.8.0
./doc/shell.rd
./doc/shell.rd.ja
./README.EXT.ja
./README.EXT
./COPYING
./README.ja
./README
Some of the files created by the installation are inside the build
directory: /home/ksaito/src/ruby-1.8.7-p160
You probably don't want them to be included in the package,
especially if they are inside your home directory.
Do you want me to list them?  [n]:
これらをパッケージから除外しますか? (普通 Enter でしょ?)  [y]:
ファイルを tmp ディレクトリにコピーします…OK
ELF バイナリとライブラリを削除…OK
man を圧縮…OK
ファイルリストを作成…OK
RPM パッケージを作成中…OK
RPM パッケージをインストール中…OK
一時ファイルを消去…OK
バックアップパッケージを書きだし中…OK
temp ディレクトリを消去…OK
**********************************************************************
Done. The new package has been installed and saved to
/usr/src/redhat/RPMS/i386/ruby-1.8.7-p160-1.i386.rpm
You can remove it from your system anytime using:
rpm -e ruby-1.8.7-p160-1
**********************************************************************
$
タイトルとURLをコピーしました