「HTTP/2対応nginxのrpmパッケージ作成とインストール | Skyarch Broadcasting」をRakeで自動化する。
初回は以下を実行してrpmbuilderユーザーを作る。
useradd rpmbuilder
sudo -u rpmbuilder -s
echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
OpenSSLの方がnginxより更新間隔が長く見えたので、OpenSSLは先にダウンロード、展開しておいたものを使うようにしてみた。
現時点では、バージョンが上がったらそれに合わせてもう一度実行し、Rakefileを修正する必要がある。面倒なのでこれも自動化したい(Dir.exist?
とかが使えそう)。
rpmbuilderユーザーで以下を実行する。
mkdir -p ~/src
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz
tar -xf openssl-1.1.0f.tar.gz
このRakefileをダウンロードして、rpmbuilderユーザーから見える適当な場所に置く。今回は /home/rpmbuilder/tasks に置いてみた。
ダウンロードしたRakefileのディレクトリに移動し、rake nginx[バージョン]
を実行する。正常に終了すれば、/home/rpmbuilder/rpmbuild/RPMS/x86_64 にRPMファイルができる。
例:
cd /home/rpmbuilder/tasks
rake nginx[1.13.1]