v20 | v21 | |
---|---|---|
16 | 16 | == 作り方 == |
17 | 17 | |
18 | 1. 最初にターゲットのプログラム(以下 lame を例に説明) の rpm パッケージが作成できる spec ファイルを用意します。[[br]]もし patch やその他のファイルが必要な場合は、これも一緒に準備しておきます。 | |
19 | 1. 上記の spec ファイルを使って rpm のバイナリパッケージが作成できることを確認したら、次に self-buiild-lame 用の spec を作成します。 | |
18 | 1. __ターゲット rpm 用のファイル一式の準備__[[br]] | |
19 | 最初にターゲットのプログラム(以下 lame を例に説明) の rpm パッケージが作成できる spec ファイルを用意します。[[br]]もし patch やその他のファイルが必要な場合は、これも一緒に準備しておきます。 | |
20 | 1. __self-build 用の spec ファイルの作成__[[br]] | |
21 | 上記の spec ファイルを使って rpm のバイナリパッケージが作成できることを確認したら、次に self-buiild-lame 用の spec を作成します。 | |
20 | 22 | i. ターゲットのプログラム用の spec や patch、その他のファイルを Source? で定義しておきます。 |
21 | 23 | i. !PreReq: にターゲットのプログラムの !BuildRequires: と同じものを書いておきます。[[br]]こうすることで、%post でコンパイルする時に必要となるパッケージが一緒にインストールされます。 |
… | … | |
29 | 31 | {{{ |
30 | 32 | %post |
31 | /usr/lib/rpm/self-build-rpm.sh self-build-lame lame.spec !http://...(ソースダウンロード URL) |
|
33 | /usr/lib/rpm/self-build-rpm.sh self-build-lame lame.spec !http://...(ソースダウンロード URL) 12345(ログサイズ) | |
32 | 34 | }}} |
33 | * 1つ目の引数は、self-build パッケージの名前を指定します。[[br]]この名前を使って spec や patch 類が置いてあるディレクトリ(ここでは /usr/share/self-build-lame)を特定します。 | |
35 | * 1つ目の引数は、self-build パッケージの名前を指定します。[[br]] | |
36 | この名前を使って spec や patch 類が置いてあるディレクトリ | |
37 | (ここでは /usr/share/self-build-lame)を特定します。 | |
34 | 38 | * 2つ目の引数は、rpm のビルドに使用する spec ファイル名を指定します。 |
35 | * 3つ目の引数は、ソースファイルをダウンロードするための URL を指定します。[[br]]ヘルパースクリプトはこの URL から wget を使ってソースをダウンロードしようとします。[[br]]3つめ以降の引数は全てソースの URL と解釈するので、複数のファイルをダウンロードする必要がある場合は、続けて指定できます。[[br]]また同一のファイルを複数のミラーサイトからダウロードできる場合は、それらの URL も複数指定できます。[[br]]この場合、いずれかの URL からファイルがダウンロードできたら2つ目以降の URL からのダウンロードはスキップします。 | |
39 | * 3つ目の引数は、ソースファイルをダウンロードするための URL を指定します。[[br]] | |
40 | ヘルパースクリプトはこの URL から wget を使ってソースをダウンロード | |
41 | しようとします。[[br]] | |
42 | 3つめ以降~n-1の引数は全てソースの URL と解釈するので、複数のファイルを | |
43 | ダウンロードする必要がある場合は、続けて指定できます。[[br]]また同一の | |
44 | ファイルを複数のミラーサイトからダウロードできる場合は、それらの URL も | |
45 | 複数指定できます。[[br]] | |
46 | この場合、いずれかの URL からファイルがダウンロードできたら2つ目以降の URL から | |
47 | のダウンロードはスキップします。 | |
48 | * 最後(n)の引数は、ビルドログのファイルサイズを指定します。 | |
36 | 49 | i. 他の self-build パッケージから依存される場合は、%post で更に以下のようヘルパースクリプトを実行して、作成した rpm パッケージが実際にインストールされるより前に、必要なファイルをファイルシステム上に展開します。(オプショナル) |
37 | 50 | {{{ |