Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

CentOS5.10でVim7.3のsrc.rpmからrpmを作成する方法

$
0
0

概説

ここでは、CentOS5.10の環境で、Vim7.3のsrc.rpmファイルから、以下のrpmファイル群を作成する方法を示します。

  • vim-X11-7.3.712-1.x86_64.rpm
  • vim-common-7.3.712-1.x86_64.rpm
  • vim-debuginfo-7.3.712-1.x86_64.rpm
  • vim-enhanced-7.3.712-1.x86_64.rpm
  • vim-filesystem-7.3.712-1.x86_64.rpm
  • vim-minimal-7.3.712-1.x86_64.rpm

前提

作業はrootユーザーのカレントディレクトリ「/root」で行うこととします。

ビルドに必要な関連パッケージの確認

コマンド
$rpm-qp--requiresftp://rpmfind.net/linux/fedora/linux/releases/18/Fedora/source/SRPMS/v/vim-7.3.712-1.fc18.src.rpmwarning:ftp://rpmfind.net/linux/fedora/linux/releases/18/Fedora/source/SRPMS/v/vim-7.3.712-1.fc18.src.rpm:HeaderV3RSA/SHA256signature:NOKEY,keyIDde7f38bdpython-develncurses-develgettextperl-develperl(ExtUtils::Embed)libacl-develgpm-develautoconflibselinux-develruby-develrubydesktop-file-utils>=0.2.93gtk2-devellibSM-devellibXt-devellibXpm-develrpmlib(FileDigests)<=4.6.0-1rpmlib(CompressedFileNames)<=3.0.4-1
コマンド
$rpm-qp--requiresftp://rpmfind.net/linux/fedora/linux/releases/18/Fedora/source/SRPMS/a/autoconf-2.69-3.fc18.src.rpmwarning:ftp://rpmfind.net/linux/fedora/linux/releases/18/Fedora/source/SRPMS/a/autoconf-2.69-3.fc18.src.rpm:HeaderV3RSA/SHA256signature:NOKEY,keyIDde7f38bdm4>=1.4.14emacsperl-macrosperl(Data::Dumper)gcc-gfortranerlangrpmlib(FileDigests)<=4.6.0-1rpmlib(CompressedFileNames)<=3.0.4-1

事前準備

上記の手順で確認した、ビルドするために必要な関連パッケージをインストールします。
なお、perl-devel、perl-macrosについては、標準パッケージに含まれていないため、ここではインストールを行いません。

参考URL:Buliding Vim 7.3 RPM packages for 64-bit CentOS 5 / 6

コマンド
# yum groupinstall "Development Tools"# yum install \>python-devel\>ncurses-devel\>libacl-devel\>gpm-devel\>libselinux-devel\>ruby-devel\>gtk2-devel\>libSM-devel\>libXt-devel\>libXpm-devel\>emacs\>erlang

m4のインストール

Vim7.3のsrc.rpmの取得元として、Fedora18(CentOS5.x相当)を利用しましたが、Vim7.3のビルドには、上記の確認作業でも分かるようにautoconfが必要となります。
さらに、autoconfはm4の1.4.14以上を依存パッケージとして要求するため、ここでは、Fedora18でのm4の最新版をsrc.rpmからビルドしインストールします。(CentOS5.x標準のm4のバージョンは1.4.5)

コマンド
# wget ftp://rpmfind.net/linux/fedora/linux/releases/18/Fedora/source/SRPMS/m/m4-1.4.16-5.fc18.src.rpm# rpm -Uvh --nomd5 m4-1.4.16-5.fc18.src.rpm# rpmbuild -ba /usr/src/redhat/SPECS/m4.spec省略Checkingforunpackagedfile(s):/usr/lib/rpm/check-files/var/tmp/m4-1.4.16-5-root-rootWrote:/usr/src/redhat/SRPMS/m4-1.4.16-5.src.rpmWrote:/usr/src/redhat/RPMS/x86_64/m4-1.4.16-5.x86_64.rpmWrote:/usr/src/redhat/RPMS/x86_64/m4-debuginfo-1.4.16-5.x86_64.rpmExecuting(%clean):/bin/sh-e/var/tmp/rpm-tmp.25937+umask022+cd/usr/src/redhat/BUILD+cdm4-1.4.16+rm-rf/var/tmp/m4-1.4.16-5-root-root+exit0

もし、rpmbuildコマンドでエラーになるようであれば、下記の手順でspecファイルを修正し、再度ビルドを行います。

参考URL:Porting Fedora RPM Spec File to CentOS Error: find: invalid predicate

コマンド
# vi /usr/src/redhat/SPECS/m4.spec
21行目:修正前
Provides:bundled(gnulib)
21行目:修正後
Provides:bundled(gnulib)BuildRoot:%{_tmppath}/%{name}-%{version}-%{release}-buildroot←この行を追加

m4のパッケージが正常に作成されたら、インストールを行います。

コマンド
# rpm -Uvh /usr/src/redhat/RPMS/x86_64/m4-1.4.16-5.x86_64.rpm

autoconfのインストール

m4がインストールされたら、次はautoconfのインストールを行います。手順はほぼm4と同じです。

コマンド
# wget ftp://rpmfind.net/linux/fedora/linux/releases/18/Fedora/source/SRPMS/a/autoconf-2.69-3.fc18.src.rpm# rpm -Uvh --nomd5 autoconf-2.69-3.fc18.src.rpm# rpmbuild -ba /usr/src/redhat/SPECS/autoconf.specerror:Failedbuilddependencies:perl-macrosisneededbyautoconf-2.69-3.noarch

rpmbuildコマンドの実行直後に依存パッケージのエラーで怒られます。理由は、標準パッケージとして存在しないperl-macrosが導入されていないためです。
この問題を解決するために、specファイルを修正し、perl-macrosを依存パッケージから除外します。

コマンド
# vi /usr/src/redhat/SPECS/autoconf.spec
20行目:修正前
BuildRequires:perl-macros
20行目:修正後
#BuildRequires:      perl-macros ←この行をコメントアウト

気を取り直して、ビルドの再実行を行います。
ただし、ビルド途中のチェック処理でエラーが発生し、ビルドが正常に完了しないため、ここではチェック処理をスキップする指定を付加しています。

コマンド
# rpmbuild --without check -ba /usr/src/redhat/SPECS/autoconf.spec省略Checkingforunpackagedfile(s):/usr/lib/rpm/check-files/var/tmp/autoconf-2.69-3-root-rootWrote:/usr/src/redhat/SRPMS/autoconf-2.69-3.src.rpmWrote:/usr/src/redhat/RPMS/noarch/autoconf-2.69-3.noarch.rpmExecuting(%clean):/bin/sh-e/var/tmp/rpm-tmp.12305+umask022+cd/usr/src/redhat/BUILD+cdautoconf-2.69+rm-rf/var/tmp/autoconf-2.69-3-root-root+exit0

autoconfのパッケージが正常に作成されたら、インストールを行います。

コマンド
# rpm -Uvh /usr/src/redhat/RPMS/noarch/autoconf-2.69-3.noarch.rpm

Vim7.3のsrc.rpmを取得

コマンド
# wget ftp://rpmfind.net/linux/fedora/linux/releases/18/Fedora/source/SRPMS/v/vim-7.3.712-1.fc18.src.rpm

依存パッケージの確認

autoconfと同様に、ビルドを行うと依存パッケージのエラーで怒られるので、今回も標準パッケージとして存在しないperl-develを依存パッケージから除外します。

コマンド
# wget ftp://rpmfind.net/linux/fedora/linux/releases/18/Fedora/source/SRPMS/v/vim-7.3.712-1.fc18.src.rpm# rpm -Uvh --nomd5 vim-7.3.712-1.fc18.src.rpm# rpmbuild -ba /usr/src/redhat/SPECS/vim.specerror:Failedbuilddependencies:perl-develisneededbyvim-7.3.712-1.x86_64
コマンド
# vi /usr/src/redhat/SPECS/vim.spec
785行目:修正前
BuildRequires:python-develncurses-develgettextperl-devel
785行目:修正後
BuildRequires:python-develncurses-develgettext←「perl-devel」を削除する

ビルドの再実行を行います。

コマンド
# rpmbuild -ba /usr/src/redhat/SPECS/vim.spec省略Checkingforunpackagedfile(s):/usr/lib/rpm/check-files/var/tmp/vim-7.3.712-1-root-rootWrote:/usr/src/redhat/SRPMS/vim-7.3.712-1.src.rpmWrote:/usr/src/redhat/RPMS/x86_64/vim-common-7.3.712-1.x86_64.rpmWrote:/usr/src/redhat/RPMS/x86_64/vim-minimal-7.3.712-1.x86_64.rpmWrote:/usr/src/redhat/RPMS/x86_64/vim-enhanced-7.3.712-1.x86_64.rpmWrote:/usr/src/redhat/RPMS/x86_64/vim-filesystem-7.3.712-1.x86_64.rpmWrote:/usr/src/redhat/RPMS/x86_64/vim-X11-7.3.712-1.x86_64.rpmWrote:/usr/src/redhat/RPMS/x86_64/vim-debuginfo-7.3.712-1.x86_64.rpmExecuting(%clean):/bin/sh-e/var/tmp/rpm-tmp.99047+umask022+cd/usr/src/redhat/BUILD+cdvim73+rm-rf/var/tmp/vim-7.3.712-1-root-root+exit0

以下のディレクトリにファイルが作成されています。

コマンド
# ls -l /usr/src/redhat/RPMS/x86_64/vim-*-rw-r--r--1rootroot1191026Dec1302:46/usr/src/redhat/RPMS/x86_64/vim-X11-7.3.712-1.x86_64.rpm-rw-r--r--1rootroot7732543Dec1302:46/usr/src/redhat/RPMS/x86_64/vim-common-7.3.712-1.x86_64.rpm-rw-r--r--1rootroot6069786Dec1302:46/usr/src/redhat/RPMS/x86_64/vim-debuginfo-7.3.712-1.x86_64.rpm-rw-r--r--1rootroot1044001Dec1302:46/usr/src/redhat/RPMS/x86_64/vim-enhanced-7.3.712-1.x86_64.rpm-rw-r--r--1rootroot11065Dec1302:46/usr/src/redhat/RPMS/x86_64/vim-filesystem-7.3.712-1.x86_64.rpm-rw-r--r--1rootroot401410Dec1302:46/usr/src/redhat/RPMS/x86_64/vim-minimal-7.3.712-1.x86_64.rpm

現在インストールされているVimのバージョンを確認

コマンド
# rpm -qa |grep vimvim-enhanced-7.0.109-7.2.el5vim-minimal-7.0.109-7.2.el5vim-common-7.0.109-7.2.el5

作成したVim7.3のrpmをインストールする(現在インストールされているものと入れ替え)

vim-filesystemvim-commonと依存関係があるため、一緒に入れます。

コマンド
# rpm -e --nodeps vim-enhanced vim-common vim-minimal# rpm -Uvh /usr/src/redhat/RPMS/x86_64/vim-{m,c,e,f}*Preparing...########################################### [100%]1:vim-minimal########################################### [ 25%]2:vim-filesystem########################################### [ 50%]3:vim-common########################################### [ 75%]4:vim-enhanced########################################### [100%]

その他参考URL

CentOS5にvim7.3をrpmでインストールする方法


Viewing all articles
Browse latest Browse all 5608

Trending Articles