|
次のページ
前のページ
目次へ
14. 付録 B - 独自の RPM パッケージの作り方
RPM パッケージのフォーマットは既に非常に詳しく文書化されています.特に Ed Bailey 氏の「Maximum RPM」という書籍が詳しいです.これは RPM WWW site からダウンロードす ることができますし,書店で購入することもできます! 以下は急いでいる人が 簡単に利用できるようにするためのヒントです.
RPM パッケージは spec ファイルから作られます.このファイル (KickStart の設定ファイルに似た形式)は,パッケージを構築するために必要 な手順のレシピから構成されています.もしかすると複数プラットフォームに 対応することあるかもしれないので,パッケージはソースから構築することが 期待されています.また,コンパイルの前にはパッチを適用する必要があるか もしれません.一度構築とインストールを行うと,パッケージに関連するもの として指定したファイルとディレクトリからバイナリの RPM ファイルが生成 されます.覚えておくべき重要な点としては,RPM は指定されたパッケージに 関連するファイルとディレクトリについて何も知らないので,これを指定する 必要があります. Squid WWW キャッシュサーバ の独自 RPM 用のサンプル spec ファイルの例を以下に示します:
この RPM の構築方法を示します:
rpm コマンドは BUILD ディレクトリの下にサブディレクトリを自動
的に生成します.そして rpm コマンドは,このサブディレクトリにソースコー
ドを展開し,パッチを適用します(パッチの当て方に関するオプションはたく
さんあります.詳しくは先に挙げた書籍で調べてください).ここで
rpm は
展開,構築,インストールの処理には任意のシェルコマンドを入れることがで
きる点に注意してください.例えば,Squid のコンパイル時のパラメータを少
し変えるために
最終的なバイナリ RPM パッケージが RPMS ディレクトリにあるプラッ
トフォーム固有のサブディレクトリ i386 に残ります.今回の例で
はパッケージは squid-1.NOVM.22-1.i386.rpm という名前になりま
す.ファイル名は spec ファイルのパラメータを繋げて作る点に注意してくだ
さい.すなわち
RPM パッケージを構築する際にはパッケージ全体を再構築する必要はないこと も知っておいて損はないでしょう.操作例を以下に示します:
この例は単に,/boot/vmlinuz ファイルと /lib/modules/2.0.36 ディレクトリの内容に基づいて RPM パッケー ジを作成し,対象のマシンにパッケージのインストールを行った後に /sbin/lilo を実行するだけです.これよりもうまい spec ファイル の書き方があれば筆者にお知らせください.
次のページ 前のページ 目次へ |
[ |