在CentOS6上创建redis-2.8.13的rpm包

rpmdev-setuptree
#make testでtclが必要な為インストール
sudo yum -y install tcl

#旧バージョンからSPECファイルを取得してコピーする
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/SRPMS/redis-2.4.10-1.el6.src.rpm
rm ~/rpmbuild/SOURCES/redis-2.4.10.tar.gz
cp ~/rpmbuild/SPECS/redis.spec ~/rpmbuild/SPECS/redis2813.spec

#コピーしたSPECファイルを編集
sed -i -e 's/^Version:          2.4.10$/Version:          2.8.13/' ~/rpmbuild/SPECS/redis2813.spec
sed -i -e 's/^Patch0:           %{name}-2.4.8-redis.conf.patch$/Patch0:           %{name}-%{version}-redis.conf.patch/' ~/rpmbuild/SPECS/redis2813.spec
sed -i -e 's/^%doc 00-RELEASENOTES BUGS CONTRIBUTING COPYING README TODO$/%doc 00-RELEASENOTES BUGS CONTRIBUTING COPYING README/' ~/rpmbuild/SPECS/redis2813.spec

#最新バージョンのredisを取得し、redis.confファイルを編集してパッチを作成
curl -L -O http://download.redis.io/releases/redis-2.8.13.tar.gz
tar zxf redis-2.8.13.tar.gz
cp -p redis-2.8.13/redis.conf redis-2.8.13/redis.conf.orig
sed -i -e 's/^daemonize no$/daemonize yes/' redis-2.8.13/redis.conf
sed -i -e 's/^pidfile \/var\/run\/redis.pid$/pidfile \/var\/run\/redis\/redis.pid/' redis-2.8.13/redis.conf
sed -i -e 's/^logfile ""$/logfile \/var\/log\/redis\/redis.log/' redis-2.8.13/redis.conf
sed -i -e 's/^dir \.\/$/dir \/var\/lib\/redis\//' redis-2.8.13/redis.conf
diff -up redis-2.8.13/redis.conf.orig redis-2.8.13/redis.conf > rpmbuild/SOURCES/redis-2.8.13-redis.conf.patch

#ビルド
mv redis-2.8.13.tar.gz ~/rpmbuild/SOURCES/
rpmbuild -ba ~/rpmbuild/SPECS/redis2813.spec
sudo rpm -ivh /home/rpmdevel/rpmbuild/RPMS/x86_64/redis-2.8.13-1.el6.x86_64.rpm