vim RPMビルド
前回、MySQL-communityのRPMビルドを紹介したが今回はvimのRPMビルドについて手順をまとめる。
CentOS5標準付属のvimはバージョンが7.0と古いものなので今回はfedora13で提供されているvimからRPMビルドを作成しようと思う。
まず下記サイトよりfedora13のvim src.rpmを取得する。
検索時に「fedora13」のチェックボックスを選択して「vim-common」とキーワード指定して検索する。
検索結果の対象アーキテクチャからsrc.rpmを辿って手元にsrc.rpmを取得する。
$ wget ftp://ftp.rhnet.is/pub/fedora/linux/releases/13/Fedora/source/SRPMS/vim-7.2.411-1.fc13.src.rpm
いつも通りrpmで展開しようとするとfedora用src.rpmのため「MD5 sum mismatch」とエラーになってしまう。当然なんですが。。。
なのでMD5チェックサムを無視して展開する。
$ rpm -ivh --nomd5 vim-7.2.411-1.fc13.src.rpm
すると SPECS, SOURCES に展開されているので rpmbuild してみる。
$ rpmbuild -ba SPECS/vim.spec
が、ビルドに必要なパッケージが入っていないので入れる。
$ sudo yum install python-devel libacl-devel gpm-devel ruby-devel ruby gtk2-devel libSM-devel libXt-devel libXpm-devel
ただこれだけでもダメで perl-devel の依存関係が残ってしまう。
しかし、この perl-devel というパッケージは fedora13 にだけある新しいパッケージのため CentOS5 の yumリポジトリには存在しない。
そこでこの perl-devel のビルド依存関係を下記のようにspecファイルから除外する。
@@ -492,7 +492,7 @@ Patch3013: vim-7.2-elinks-parameter-518791.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: python-devel ncurses-devel gettext perl-devel +BuildRequires: python-devel ncurses-devel gettext BuildRequires: perl(ExtUtils::Embed) BuildRequires: libacl-devel gpm-devel autoconf %if %{WITH_SELINUX}
では実際にビルドしてみる。
$ rpmbuild -ba SPECS/vim.spec
うまくいけば下記のファイルが作られていると思う。
vim-common-7.2.411-1.i386.rpm vim-minimal-7.2.411-1.i386.rpm vim-enhanced-7.2.411-1.i386.rpm vim-X11-7.2.411-1.i386.rpm