v4 | v5 | |
---|---|---|
10 | 10 | * 続いて wget を使ってソースをダウンロード |
11 | 11 | * 後は、rpmbuild -bb でターゲットのパッケージを所定のディレクトリにビルド |
12 | * rpm2cpio | cpio を使ってビルドしたパッケージからファイルを事前に展開 (オプショナル) | |
12 | 13 | * apt/synaptic を使ってインストールされた場合は、Scripts::PM::Post:: というスロットを使って、rpm の DB に変更がコミットされた(= self-build-%{target} 自体のインストールが完了した)直後にヘルパースクリプトを呼び出します。[[br]]このスクリプトが所定のディレクトリ(/var/chache/self-build)に置かれたターゲットの rpm ファイルをインストールします。 |
13 | 14 | |
… | … | |
19 | 20 | i. !PreReq: にターゲットのプログラムの !BuildRequires: と同じものを書いておきます。[[br]]こうすることで、%post でコンパイルする時に必要となるパッケージが一緒にインストールされます。 |
20 | 21 | i. %install で Source? で定義した各種ファイルを全て ${RPM_BUILD_ROOT}/%{_datadir}/self-build-lame にインストールします。[[br]]またこれらのファイルを %files でも指定しておきます。 |
21 | i. %post で rpm パッケージをビルドするヘルパースクリプトを、以下のように実行します。[[br]]%post[[br]]/usr/lib/rpm/self-build-rpm.sh self-build-lame lame.spec !http://...(ソースダウンロード URL) | |
22 | i. %post で rpm パッケージをビルドするヘルパースクリプトを、以下のように実行します。 | |
23 | {{{ | |
24 | %post | |
25 | /usr/lib/rpm/self-build-rpm.sh self-build-lame lame.spec !http://...(ソースダウンロード URL) | |
26 | }}} | |
22 | 27 | * 1つ目の引数は、self-build パッケージの名前を指定します。[[br]]この名前を使って spec や patch 類が置いてあるディレクトリ(ここでは /usr/share/self-build-lame)を特定します。 |
23 | 28 | * 2つ目の引数は、rpm のビルドに使用する spec ファイル名を指定します。 |
24 | 29 | * 3つ目の引数は、ソースファイルをダウンロードするための URL を指定します。[[br]]ヘルパースクリプトはこの URL から wget を使ってソースをダウンロードしようとします。[[br]]3つめ以降の引数は全てソースの URL と解釈するので、複数のファイルをダウンロードする必要がある場合は、続けて指定できます。 |
30 | i. 他の self-build パッケージから依存される場合は、%post で以下のようヘルパースクリプトを実行して、作成した rpm パッケージが実際にインストールされるより前に、必要なファイルをファイルシステム上に展開します。(オプショナル) | |
31 | {{{ | |
32 | /usr/lib/rpm/pre-allocate-rpm.sh %{pkgname}-%{version}-%{release} \ | |
33 | %{pkgname}-devel-%{version}-%{release} | |
34 | }}} | |
35 | * 引数には、ターゲットの rpm パッケージ名を指定します。[[br]]対象のファイルが特定できるように Version と Release まで指定する必要があります。 | |
36 | * ヘルパースクリプトは指定された rpm から 設定ファイル(rpm -qc で表示されるもの)とドキュメント(rpm -qd で表示されるもの)を除いたファイルを rpm2cpio | cpio コマンドで抽出し、ファイルシステム上に展開します。 | |
37 | * なおこの展開したファイルは、直後の rpm パッケージのインストールにより上書きされます。 | |
25 | 38 | 1. spec ができたら、$ rpm -ba self-build-lame.spec で rpm パッケージを作成し、その後 root になって # rpm -Uvh self-build-lame-3.97-0vl3.i386.rpm のようにしてインストールし、ターゲットの rpm ファイルが /var/cache/self-build 以下にできあがることを確認します。 |
26 | 39 |