emacs-23.4 canna を mq で

emacs23canna を emacs-23.4 で作り直しました。どうぞ。

さて,23.3用パッチから23.4用のパッチに作り替え。 23.2用を作ったとき に Mercurial MQ を導入したので,今回もそれで作業。 今まで結構な手間だったのが一瞬で終わったので拍子抜け。 一瞬で終わるから忘れちゃう。メモしとこ。

まず,これまでのパッチリポジトリが emacs-23.3.canna で 作ってあったので,これを mq リポジトリごとクローン。

hg qclone emacs-23.{3,4}.canna

ここでmqパッチなし状態にしておく。

hg -R emacs-23.4.canna qpop -a
hg -R emacs-23.4.canna qapp

できた emacs-23.4.canna/ から .hg 以外を元気よく削除!

rm -rf emacs-23.4.canna/*

emacs-23.4.tar.bz を展開して出てきたものを全部 emacs-23.4.canna/ に移動。

tar zxpf emacs-23.4.tar.bz2
mv emacs-23.4/* emacs-23.4.canna
mv emacs-23.4/.dir* emacs-23.4.canna

トップレベルディレクトリに .dir-local.el なんてのがあるね。 まあ忘れても作業に差し支えないけど。

さて本番。

リポジトリ本体に,emacs-23.4 全体をコミット。

cd emacs-23.4
hg ci -m emacs-23.4 -A

-Aでファイルの加除を全部自動認識して登録/除外ね。で, cannaパッチを適用してみる。どきどき。

hg qpush
applying emacs23canna-23.3
now at: emacs23canna-23.3

わお。reject なし! あら,じゃあすぐ mq のdiff作り直しを忘れずに。

hg qref

パッチの名前もリネームしておこう。

hg qmv emacs23canna-23.4
hg qapplied
emacs23canna-23.4

よし。では,いちおう動作確認。

CAAM_ADD=canna caam -gmaic -j4 --with-canna \
    --with-canna-include=/usr/local/Canna/include \
    --with-canna-libraries=/usr/local/Canna/lib \
    --prefix=/usr/local/emacs --without-xft --build=i686-pc-netbsd5

はいばっちり。そしたら全てのファイルをビルド前の状態に戻しておく。 make distclean じゃだめなんすよ。それじゃ完ぺきに戻らない。でhgにお願い。

hg revert -a
hg purge

purge使うためには ~/.hgrc の [extension] セクションに purge= を忘れずに。revert -a をすると *.orig ファイルができまくる。 これも hg purge で消えるから順番が大事。

最後に,配布用パッチファイルを作っておしまい。

hg diff -r 1 | gzip -9 > emacs23.4canna-20120216.diff.gz