一般ユーザで RPM を作成する

提供:maruko2 Note.
移動: 案内, 検索


目次

RPM ビルド用環境設定

1. ホームディレクトリに rpm という名前のディレクトリを作り、その中に BUILD, SOURCES, SPECS, SRPMS, RPMS という名前のディレクトリを作成する。

$ mkdir -p ~/rpm/{BUILD,SOURCES,SPECS,SRPMS,RPMS}
ビルドされたパッケージは、~/rpm/RPMS/アーキテクチャ名 のディレクトリ (athron,i386,noarch など) に作成されるが、それらアーキテクチャ名のディレクトリはビルド時に自動的に作成されるので作っておかなくてよい。

2. ユーザ用の RPM 設定ファイル .rpmmacros をホームディレクトリに作成する

$ echo "%_topdir $HOME/rpm" > ~/.rpmmacros

3. rpmbuild コマンドをインストールする

$ yum -y install rpm-build

rpmbuild コマンドの使用例

rpmbuild コマンドでパッケージをビルドする時、ソースコードの種類として、1. SRPM ファイル、2. SPEC ファイルを含む tar ボール、3. SPEC ファイルを含まない tar ボールの3種類ある。 また、ビルド後、RPM のみ作成、RPM と SRPM を作成、SRPM のみ作成するオプションもある。

SRPM からビルドする

$ rpmbuild --rebuild <SRPMファイル>

SPEC ファイルを含む tar ボール

.spec ファイルを含む tar ボールから RPM (のみ)を作成する場合、次のようにする。

$ rpmbuild -tb <tar ボール>

オプションを -ta にすると RPM と SRPM ともに作成し、-ts だと SRPM のみ作成する。

SPEC ファイルを含まない tar ボール (編集した SPEC ファイルを使う場合)

.spec ファイルを含まない tar ボールからビルドする場合、あるいは、.spec ファイルを編集してビルドする場合、.spec ファイルを指定して rpmbuild コマンドを実行する。

ビルド時に必要になるソースコード (tar ボール) は、~/rpm/SOURCES ディレクトリに入れておく。

spec ファイルから RPM のみ作成

rpmbuild -bb ~/rpm/SPECS/<specfile.spec>

spec ファイルから RPM と SRPM を作成

rpmbuild -ba ~/rpm/SPECS/<specfile.spec>

spec ファイルから SRPM のみ作成

rpmbuild -bs ~/rpm/SPECS/<specfile.spec>

参考ページ

http://www.jp.redhat.com/magazine/NO7/
http://www.jp.redhat.com/magazine/NO8/
http://www.itmedia.co.jp/enterprise/0310/17/epn01.html
http://www.linux.or.jp/JM/html/rpm/man8/rpm.8.html
http://www.linux.or.jp/JM/html/rpm/man8/rpmbuild.8.html
LINEで送る このエントリーをはてなブックマークに追加
個人用ツール
名前空間
変種
表示
操作
案内
ツールボックス

注目のページ

このサイトのはてなブックマーク数