rpmの作成@CheckInstall [Linux]
Linuxでソースしかないアプリケーションのrpmファイルを作成するときは、specファイルを自前で作成しないといけない。
面倒くさいなと思っていたところ、ソースからインストールしたアプリケーションからrpmを生成してくれるツールがありました。
CheckInstall
http://asic-linux.com.mx/%7Eizto/checkinstall/index.php
インストールは簡単。
解凍したソースディレクトリで、make、make installするだけ。
# cd checkinstall-1.6.1
# make
# make install
使い方も簡単。
rpmを作成したいアプリケーションをソースからインストールした直後の状態にして、checkinstallコマンドをたたくだけ。あとは、対話式に答えていくだけでrpmが作成されます。
# cd hogehoge-X.X.X (rpmを作成したいアプリケーションのソースがあるディレクトリ) # ./configure --prefix=hogehoge (必要なオプションはちゃんと指定しておく) #make (installしなくてもOK バイナリができて後はinstallするだけの状態にしておく) # /usr/local/sbin/checkinstall (checkinstall実行 フルパス指定のほうがいいらしい) checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran This software is released under the GNU GPL. The package documentation directory ./doc-pak does not exist. Should I create a default set of package docs? [y]: (docがあれば適当に作ってくれるらしい デフォルトなのでそのままEnter) パッケージのドキュメンテーションを準備..OK Please choose the packaging method you want to use. Slackwareなら[S], RPMなら[R], Debianなら[D]を入力R (RPMをつくるのでRを指定) このパッケージの説明を書いてください End your description with an empty line or EOF. >> (ここで書くとSummaryに追加される) ************************************** **** RPM package creation selected *** ************************************** This package will be built according to these values: 1 - Summary: [ (descriptionで書いた内容) ] 2 - Name: [ hogehoge ] 3 - Version: [ X.X.X ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ Applications/System ] 7 - Architecture: [ i386 ] 8 - Source location: [ hogehoge-X.X.X ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ hogehoge ] 変更するものの番号を入力してください。Enterで続行します: Installing with make install... ========================= Installation results =========================== (… skip …) ======================== Installation successful ========================== Copying documentation directory... (… skip …) tempディレクトリにファイルをコピー..OK ELFバイナリとライブラリを除去..OK manページを圧縮..OK ファイルリストを作成..OK ${HOME}/rpm has no SOURCES directory. Please write the path to the RPM source directory tree: /root/rpm (/root/.rpmmacrosで定義されている${HOME}/rpmが 気に食わないらしいので直で直してあげる) RPMパッケージを作成..OK NOTE: The package will not be installed tempファイルを削除..OK doc-pakディレクトリを削除..OK バックアップパッケージを書き込み..OK temp dirを削除..OK ********************************************************************** Done. The new package has been saved to /root/rpm/RPMS/i386/hogehoge-X.X.X-1.i386.rpm You can install it in your system anytime using: rpm -i hogehoge-X.X.X-1.i386.rpm **********************************************************************
/root/rpm/RPMS/i386にRPMが作成されます。
便利っす。
コメント 0