MySQL-community RPMビルド

前回、curl, git 最新版のRPMビルド手順について書いたが今回はMySQL-communityのRPMビルドについて書こうと思う。

MySQL-community RPMビルド

何はともあれまずはオフィシャルからsrc.rpmを取得して展開する。

$ wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-community-5.1.51-1.rhel5.src.rpm/from/http://ftp.iij.ad.jp/pub/db/mysql/
$ rpm -ivh MySQL-community-5.1.51-1.rhel5.src.rpm

次にビルドするのに必要なRPMを入れる。

$ sudo yum install gperf readline-devel gcc-c++ ncurses-devel libtool automake autoconf

そして MySQL-community のビルドには専用の define 指定が必要になるのでそれを指定して rpmbuild を実行する。

$ cd ~/rpmbuild/
$ rpmbuild -ba --define 'community 1' SPECS/mysql-5.1.51.rhel5.spec

実際にソースからでもビルドしたことある方ならご存知だと思いますがものすごい時間がかかります。。。

無事にビルドできれば下記のRPMが作成される。

MySQL-server-community-5.1.51-1.rhel5.i386.rpm
MySQL-client-community-5.1.51-1.rhel5.i386.rpm
MySQL-test-community-5.1.51-1.rhel5.i386.rpm
MySQL-devel-community-5.1.51-1.rhel5.i383.rpm
MySQL-shared-community-5.1.51-1.rhel5.i386.rpm
MySQL-embedded-community-5.1.51-1.rhel5.i386.rpm

まとめ

今回は時間がかかるものの何事もなくRPMビルドできてよかった。
specファイルさえあればだいたいのパッケージはRPM化できると思う。
が、逆にspecファイルがないとどうしていいものやら。。。
vimなどは最新版のspecはオフィシャルにはないとか。。。
そういう場合でもfedora yumリポジトリから取得するなどしてビルドすることも出来るので次回はvimRPMビルドを書こうと思う。