emacsをbuildした
VirtualBoxにFedora17をインストールしたんだけれど、これにX11環境で使えるemacsのrpmがインストールされていないことに気がついた。emacs-noxしかないようだ。この程度なら自分でbuildすればいい。問題は、Fedoraに関する記憶がもうほとんど無いことと、rpmパッケージをbuildするのに、rpm --bp emacs.specとかやってたころの経験しかないことだ。イマドキは、rpmbuildというコマンドを使うんだっけ?
emacs-24.2
せっかくなので、emacs-24.2のrpmをbuildする。emacs-24.1-4.fc17.src.rpmをダウンロードしてきた。これをほどいて、specファイルとかpatchとかを展開する方法があるはずだが、よく知らない。調べるのも面倒。
% rpmbulid --rebuild emacs-24.1-4.fc17.src.rpm ^C % ls $HOME/rpmbuild/SPECS emacs.spec %
もう、rpmbuildを途中まで走らせて、オモムロにCtrl-Cで停止する*1。ちなみに、BuildRequires:として、大量に*-develパッケージが記載されているので、buildする環境を作るだけで、結構な手間がかかる。しかし、python2-develとpython3-develの両方が必要とか、どうなってんの?って感じ*2。
emacs.specを編集
emacs-24.1用に記載されているemacs.specをemacs-24.2用に編集する。といっても、Version:行を24.2にして、Release:行を1%{dist}にして、Patch9を適用しないようにしただけだ。
% diff -u emacs-24.1.spec emacs-24.2.spec --- emacs-24.1.spec 2012-09-06 17:37:27.079534438 +0900 +++ emacs-24.2.spec 2012-09-06 17:36:34.619723392 +0900 @@ -2,8 +2,8 @@ Summary: GNU Emacs text editor Name: emacs Epoch: 1 -Version: 24.1 -Release: 4%{?dist} +Version: 24.2 +Release: 1%{?dist} License: GPLv3+ URL: http://www.gnu.org/software/emacs/ Group: Applications/Editors @@ -31,7 +31,7 @@ # rhbz#830162 Patch8: emacs-locate-library.patch # rhbz#847702 -Patch9: emacs-cve-2012-3479.patch +#Patch9: emacs-cve-2012-3479.patch BuildRequires: atk-devel, cairo-devel, freetype-devel, fontconfig-devel, dbus-devel, giflib-devel, glibc-devel, gtk2-devel, libpng-devel BuildRequires: libjpeg-devel, libtiff-devel, libX11-devel, libXau-devel, libXdmcp-devel, libXrender-devel, libXt-devel @@ -154,7 +154,7 @@ %patch0 -p1 -b .glibc-open-macro %patch7 -p1 -b .spellchecker %patch8 -p1 -b .locate-library -%patch9 -p1 -b .cve-2012-3479 +#%patch9 -p1 -b .cve-2012-3479 # Install site-lisp files cp %SOURCE7 %SOURCE10 site-lisp
後は、rpmbuild -bb emacs.specするだけ。
これが、emacs-gtkとemacs-noxをbuildするので、めちゃくちゃ時間がかかる。欲しいのはemacs-gtkの方なので、emacs-noxは無視しても良いかと思ったけれど、specファイル喉のあたりを削除すれば良いのかがよく分からない。そもそも、rpmbuildマスターになりたいワケでもないので、この辺については深く追求しない。