PHPのRPMの生成
これも手順はApache2とほぼ一緒。
ただ、「php-4.4.1.tar.gz」を展開したフォルダの直下には「makerpm」というファイルがあり、名前のとおりRPMを作ってくれるスクリプトが書かれている。
同じフォルダに「php4.spec.in」というものもあり、当初こっちをいじっていたのだが、「makerpm」は自分の中に書かれているspecファイル(sedで出力してる)を使うらしい。
なので今回はspecファイルを改竄する代わりに直接「makerpm」を改竄する。
まず、Apache2と同じように「Serial」は削除。
次に、configure(2つあるけど2番目の方)の引数として以下を追加。
--with-apxs2=/usr/sbin/apxs --enable-mbstring --enable-mbregx --enable-zend-multibyte
ただし、一番上の行は「--with-apxs」を「--with-apxs2」に変更したものである。
で、最後の方にあった以下の行を、
RPMDIR=/usr/src/redhat/RPMS SPECDIR=/usr/src/redhat/SPECS SRCDIR=/usr/src/redhat/SOURCES
以下のように変更。
RPMDIR=$HOME/rpm/RPMS SPECDIR=$HOME/rpm/SPECS SRCDIR=$HOME/rpm/SOURCES
これは、今回一般ユーザでRPMの生成作業を行なっているため(別途~/.rpmmacrosが存在)。rootでやって失敗するとひどいことになるので。
あと、昔は「rpm」でRPMの生成も担当していたらしいがFC4は「rpmbuild」を使うため、一番最後の行にあるコマンドを「rpmbuild」に変える必要がある。
補足(2005/11/30):そういや、他にも「./buildconf」に「--force」を付けて「%doc」から「ChangeLog」を削除した。
上記の改竄が完了したら、展開したままのフォルダ(「makerpm」が存在するフォルダ)内で「makerpm」を実行すると、RPMをガシガシ作ってくれる(今回は一般ユーザで実行)。
で、めでたく完成したら以下のコマンドでインストールと確認を行なう。
root#rpm -Uvh ./mod_php4-4.4.1-1.i386.rpm root#rpm -q mod_php4
specファイルに「mod_php4」と書いてあったのをそのまま使っているので名称が「mod_php4」になっているが、実際には単体のphpもインストールされている。
補足(2005/11/30):PHP4.4.1はマルチバイトのメールにバグがあるんだってさ。4.4.2はまだ正式リリースじゃないし。どうすりゃいいのよ。ひとまずこのままにしておいて、4.4.2が出たらアップデートするか。(参考:PHP-users ML)