v18 | v19 | |
---|---|---|
1 | == self-build パッケージについて == | |
1 | [[PageOutline]] | |
2 | = self-build パッケージについて = | |
2 | 3 | |
3 | == |
|
4 | == 仕組みの概要 == | |
4 | 5 | |
5 | 6 | * 事前にターゲットの rpm パッケージを作成するのに必要な、spec と patch やその他のファイルを用意しておきます。 |
… | … | |
13 | 14 | * apt/synaptic を使ってインストールされた場合は、Scripts::PM::Post:: というスロットを使って、rpm の DB に変更がコミットされた(= self-build-%{target} 自体のインストールが完了した)直後にヘルパースクリプトを呼び出します。[[br]]このスクリプトが所定のディレクトリ(/var/chache/self-build)に置かれたターゲットの rpm ファイルをインストールします。 |
14 | 15 | |
15 | == |
|
16 | == 作り方 == | |
16 | 17 | |
17 | 18 | 1. 最初にターゲットのプログラム(以下 lame を例に説明) の rpm パッケージが作成できる spec ファイルを用意します。[[br]]もし patch やその他のファイルが必要な場合は、これも一緒に準備しておきます。 |
… | … | |
48 | 49 | self-build-lame.spec がサンプルとして使えると思いますので、初めて作成する方は apt-get source self-build-lame を実行して ~/rpm/SPECS に展開された spec ファイルを参考してみてください。 |
49 | 50 | |
50 | == |
|
51 | == self-build 同士が依存する場合の注意点 == | |
51 | 52 | |
52 | 53 | ある self-build なパッケージが、他の self-build なパッケージが提供する rpm に依存する場合、以下の点に注意する必要があります。 |
… | … | |
57 | 58 | * mplayer.spec[[br]]!BuildRequires: *-devel 等 (※ self-build-lame、lame-devel は書かない) |
58 | 59 | |
59 | === self-build パッケージの %{arch} === | |
60 | == self-build パッケージに依存するパッケージのカテゴリ == | |
61 | ||
62 | self-build パッケージは、non-free カテゴリに属しております。 | |
63 | そのため、self-build パッケージに依存するパッケージのカテゴリは、 | |
64 | non-free カテゴリになります。 | |
65 | ||
66 | 現時点で、例外のあるパッケージは以下の通りです。 | |
67 | * amarok | |
68 | ||
69 | == self-build パッケージの %{arch} == | |
60 | 70 | |
61 | 71 | self-build パッケージは、基本的には noarch で作成します。 |
… | … | |
65 | 75 | |
66 | 76 | 現時点で、arch に依存するのは、以下のパッケージです。 |
67 | * self-build-ffmpeg | |
68 | * self-build-x264 | |
69 | * self-build-vlc | |
70 | * self-build-xvidcore | |
71 | * self-build-mplayer-codecs | |
72 | * self-build-lame | |
77 | || self-build 系パッケージ || arch に依存する理由 || | |
78 | || self-build-ffmpeg || %{ix86} x86_64: Requires(post): yasm || | |
79 | || self-build-x264 || %{ix86} x86_64: Requires(post): yasm || | |
80 | || self-build-vlc || %{ix86} x86_64: Requires(post): svgalib-devel libXvMC-devel || | |
81 | || self-build-xvidcore || %{ix86}: Requires(post): nasm; x86_64: Requires(post): yasm || | |
82 | || self-build-mplayer-codecs || %{ix86} ppc x86_64: arch により source0path が異なる || | |
83 | || self-build-lame || %{ix86} x86_64: Requires(post): nasm || | |
73 | 84 | |
74 | == |
|
85 | == ファイルダウンロード時のプロトコル (http or ftp) == | |
75 | 86 | |
76 | 87 | ソースアーカイブのダウンロード時に http と ftp が選べる場合は、 |
… | … | |
82 | 93 | (<VineLinux:wishes:0191> と [VineSeed:18681] 以降のスレッド参照) |
83 | 94 | |
84 | == |
|
95 | == self-build パッケージ更新 == | |
85 | 96 | |
86 | 97 | リリースバージョンの場合、原則として、 |
… | … | |
144 | 155 | 原則として self-build 系のパッケージで lib 系のパッケージの更新においては、 |
145 | 156 | so name の変更を伴う version up をしない方が懸命です。 |
157 | ||
158 | == TODO == | |
159 | * synaptic で self-build 系パッケージをインストールしたときに、 | |
160 | 止まっているように感じるそうなので、ビルドログを表示する。 | |
161 | * 他の環境でビルドしたself-build 系パッケージの rpm を、 | |
162 | 別の環境でインストールできる仕組みを作る。 | |
163 | * ビルドした self-build 系パッケージの src.rpm を保存する・しない、 | |
164 | ダウンロードした tarball などのソースを保持する・しないを設定できるようにする。 |