VineSeed ML アーカイブ



[VineSeed:17621] update: emacs, IIIMECF

  • From: Munehiro Yamamoto <munepi@xxxxxxxxxxxxxxxx>
  • Subject: [VineSeed:17621] update: emacs, IIIMECF
  • Date: Thu, 21 May 2009 10:25:26 +0900
山本@千葉です。

/VineSeed へ
  IIIMECF-0.75-4vl5.{noarch,src}.rpm
  emacs-23.0.92-7.20090422vl5.{i386,x86_64,src}.rpm
を put しました。

IIIMECF の変更点は、
IIIMECF-install.sh の addflavor 時のメッセージを、
他の elisp パッケージと同じようになるように修正しました。

emacs の変更点は、showvdefaultemacs というスクリプトを追加しまして、
site-start.el に show-vine-default を定義し、
  M-x show-vine-default
とすると、現在インストールされている vine-default が有効な elisp パッケージを
/etc/emacs-23.0.92/site-start.d 以下の順序で、
vine-default の設定を表示するようにしました。
# vine-default の表示につきまして、他に良いアイデアがありましたら、
# 教えていただきたくおもいます。

それから、emacs の update-alternatives における PRIORITY を
  emacs-23.0.92 > emacs22-22.3
となるようにしました。
ただ、現時点のリポジトリにある emacs22-22.3-5, emacs-23.0.92-5 では、
emacs22-22.3-5, emacs-23.0.92-5 の両方、あるいは、
emacs-23.0.92-5 がインストールされている下では、
emacs-23.0.92-7 へアップグレードしたとしても、
今回に限り PRIORITY が 30 のままになってしまいます。
# %postun で update-alternatives を行っているため。
# http://trac.vinelinux.org/wiki/RpmScriplet, 
# あるいは http://fedoraproject.org/wiki/ScriptletSnippets を参照。

次の更新(emacs-23.0.92-8 以降)が入ったときに、
emacs-23.0.92-7 で設定された PRIORITY=40 が有効になります。
# もっとも気になるようでしたら、
# apt-get remove emacs でいったん削除してから、apt-get install emacs
# で再インストールすると、はじめから PRIORITY=40 となります。


実際に、以下のような挙動をします。
# 以下、見やすさを優先して一部を省略しています。

upgrade 時の状況
  emacs22-22.3-5 %postun PRIORITY=30
  emacs-23.0.92-5 %postun PRIORITY=30
  emacs-23.0.92-7 %postun PRIORITY=40

$ /sbin/update-alternatives --display emacs
emacs - status is auto.
 link currently points to /usr/bin/emacs-23.0.92
/usr/bin/emacs-23.0.92 - priority 30
/usr/bin/emacs-22.3 - priority 30
Current `best' version is /usr/bin/emacs-23.0.92.

emacs-23.0.92-7 へ更新する
$ sudo apt-get install rpm/RPMS/x86_64/emacs-23.0.92-7.20090422vl5.x86_64.rpm 

$ /sbin/update-alternatives --display emacsemacs - status is auto.
 link currently points to /usr/bin/emacs-22.3
/usr/bin/emacs-22.3 - priority 30
/usr/bin/emacs-23.0.92 - priority 30
Current `best' version is /usr/bin/emacs-22.3.
# emacs22, emacs でともに PRIORITY=30 な場合は,
# 名前順により emacs22 が優先される。
# # Vine Linux 4.2 のときは、たまたま 
# # emacs22-22.0.50, emacs-21.4 という組み合わせだったので、
# # 同じ PRIORITY により emacs22 > emacs となっていた!

仮に emacs-23.0.92-7 の spec を emacs-23.0.92-8 に変更してリビルド
$ rpmbuild -ba rpm/SPECS/emacs23.spec

upgrade 時の状況
  emacs22-22.3-5 %postun PRIORITY=30
  emacs-23.0.92-7 %postun PRIORITY=40
  emacs-23.0.92-8 %postun PRIORITY=40

emacs-23.0.92-8 へ更新する
$ sudo apt-get install rpm/RPMS/x86_64/emacs-23.0.92-8.20090422vl5.x86_64.rpm 

$ /sbin/update-alternatives --display emacsemacs - status is auto.
 link currently points to /usr/bin/emacs-23.0.92
/usr/bin/emacs-22.3 - priority 30
/usr/bin/emacs-23.0.92 - priority 40
Current `best' version is /usr/bin/emacs-23.0.92.


以上、宜しくお願いいたします。

----------
山本 宗宏
Key ID: 0x7637A1D1
Key Fingerprint: 570B C7E6 E5F3 E14F 0898  3EB8 8ECC 8310 7637 A1D1