CentOS5のyumで入れたApacheを、RHEL5のSRPMを使ってアップデート出来るか実験する必要があったので、その時のメモです。
wget http://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/httpd-2.2.3-53.el5_7.1.src.rpm
お好みでRPMビルド用ディレクトリを作成します。
echo "%_topdir $HOME/rpm" > ~/.rpmmacros mkdir -p ~/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
そしてRPMビルド。
rpmbuild --rebuild httpd-2.2.3-53.el5_7.1.src.rpm
が、依存関係のエラーが幾つか出たので・・・
xmlto >= 0.0.11 は httpd-2.2.3-53.1.x86_64 に必要とされています pcre-devel >= 5.0 は httpd-2.2.3-53.1.x86_64 に必要とされています distcache-devel は httpd-2.2.3-53.1.x86_64 に必要とされています
必要なものをyumでインストールします。
yum install xmlto pcre-devel distcache-devel
再びRPMビルド。
rpmbuild --rebuild httpd-2.2.3-53.el5_7.1.src.rpm
無事RPMが作成されたので、アップデート!・・・のテスト
rpm -Uvh --test ~/rpm/RPMS/x86_64/httpd-2.2.3-53.1.x86_64.rpm \ ~/rpm/RPMS/x86_64/mod_ssl-2.2.3-53.1.x86_64.rpm
なにもエラーは出なかったので・・・本当にアップデートを行います。
rpm -Uvh ~/rpm/RPMS/x86_64/httpd-2.2.3-53.1.x86_64.rpm \ ~/rpm/RPMS/x86_64/mod_ssl-2.2.3-53.1.x86_64.rpm
インストールされたものを確認・・・成功しているっぽいけど 2.2.3-53.el5_7.1 とはならない?
rpm -qa | grep httpd httpd-2.2.3-53.1
が、某Apache Killerで死ななくなったので無事アップデート出来ていると思います。