v23 | v24 | |
---|---|---|
66 | 66 | * ヘルパースクリプトは指定された rpm から 設定ファイル(rpm -qc で表示されるもの)とドキュメント(rpm -qd で表示されるもの)を除いたファイルを rpm2cpio | cpio コマンドで抽出し、ファイルシステム上に展開します。[[br]]尚、この展開したファイルは後の rpm パッケージのインストールにより上書きされます。 |
67 | 67 | * これにより依存関係をもつ複数の self-build パッケージが同一トランザクションでインストールできるようになります。 |
68 | 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 以下にできあがることを確認します。 | |
68 | 1. __作成した self-build パッケージの作成とテスト__[[br]] | |
69 | spec ができたら、$ rpm -ba self-build-lame.spec で rpm パッケージを作成し、 | |
70 | その後 root になって # rpm -Uvh self-build-lame-3.97-0vl3.i386.rpm のようにして | |
71 | インストールし、ターゲットの rpm ファイルが /var/cache/self-build 以下にできあがる | |
72 | ことを確認します。 | |
69 | 73 | |
70 | ||
71 | 実際にはパッケージ名やターゲットのプログラムの名前、ソースのダウンロード URL 等は %define でマクロとして最初に宣言しておいた方が管理しやすくなります。 | |
72 | self-build-lame.spec がサンプルとして使えると思いますので、初めて作成する方は apt-get source self-build-lame を実行して ~/rpm/SPECS に展開された spec ファイルを参考してみてください。 | |
74 | 実際にはパッケージ名やターゲットのプログラムの名前、ソースのダウンロード URL | |
75 | 等は %define でマクロとして最初に宣言しておいた方が管理しやすくなります。 | |
76 | self-build-lame.spec がサンプルとして使えると思いますので、初めて作成する方は | |
77 | apt-get source self-build-lame を実行して ~/rpm/SPECS に展開された spec | |
78 | ファイルを参考してみてください。 | |
73 | 79 | |
74 | 80 | == self-build 同士が依存する場合の注意点 == |
75 | 81 | |
76 | ある self-build なパッケージが、他の self-build なパッケージが提供する rpm に依存する場合、以下の点に注意する必要があります。 | |
82 | ある self-build なパッケージが、他の self-build なパッケージが提供する rpm | |
83 | に依存する場合、以下の点に注意する必要があります。 | |
77 | 84 | |
78 | 85 | * 他の self-build パッケージから依存されそうな場合は、pre-allocate-rpm.sh を %post で実行[[br]]たとえば self-build-lame からは lame, lame-mp3x, lame-devel の3つの rpm が出来上がります。これらは(たとえば) mplayer を mp3 対応でビルドする為には、予めインストールされている必要があります。[[br]]このような場合、self-build-lame.spec の %post で pre-allocate-rpm.sh を実行しておくと、事前に必要なバイナリやヘッダファイル等がファイルシステム上に展開されるので、apt-get install self-build-mplayer を実行した結果、依存により self-build-mplayer と self-build-lame が一緒に一回でインストールされても、mplayer を mp3 対応でビルドできるようになります。 |