Amazon Linuxでapache2.2をrpmbuildしたらspecファイルではまった件


いつものノリでソースからコンパイルしようとしたらいろいろはまったのでメモ。

Amazonのリポジトリから取ってきてyumで入れるのがいいんだけど
いろいろ事情がありまして…

バージョン:httpd-2.2.31
※2.4系だとどうなるか調べてないです

<理由>
AmazonLinuxのrpmbuildが4.11系になっているので
PreReqやBuildPreReqの記述がspecファイルに入ってるとエラーになる。

※CHANGELOG見ても書いてなかったけど、何処読みにいけばいいんだろ…

<対策>
tarballを展開して
PreReq->Requires
BuildPreReq -> BuildRequires
に書き換え。
$

$ sed -i 's/PreReq/Requires/g' httpd.spec
$ sed -i 's/BuildPreReq/BuildRequires/g' httpd.spec

再度圧縮してビルド。

$ rpmbuild -tb --clean --rmspec httpd-2.2.31.tar.gz

この後また別の箇所でbuild error出てしまったけどそれはそれはまた後。

20160609追記
CentOS7系でもrpmbuildが4.11なので同じように修正が必要(まだ未確認)
ソースからビルドだとsystemd周りのスクリプトが作成されないような気がするので
別のやり方が必要。
おとなしく2.4系使えばすむ話なんですよね。