| 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 などのソースを保持する・しないを設定できるようにする。 |