vine-users ML アーカイブ



[vine-users:062788] Re: remove emacsen-common seems incomplete

  • From: KAZUKI SHIMURA <ksh@xxxxxxxxxxxxxxxxxxx>
  • Subject: [vine-users:062788] Re: remove emacsen-common seems incomplete
  • Date: Sun, 26 Oct 2003 13:26:15 +0900
しむらです。

On Fri, 24 Oct 2003 10:53:09 +0900
In article <20031024104534.C61B.HOTTA@xxxxxxxxxxxxxx>
HOTTA Michihide <hotta@xxxxxxxxxxxxxx> wrote:

> [root@db2 /root]# apt-get remove emacsen-common
> 以下のパッケージが削除されます:
>   IIIMECF Mule-UCS apel emacsen-common flim rail ruby-mode semi
>   xemacs21.4
> スクリプト apel-10.3-0vl9 の実行に失敗
> スクリプト IIIMECF-0.6-0vl1 の実行に失敗
> スクリプト ruby-mode-1.6.7-0vl5 の実行に失敗
> スクリプト Mule-UCS-0.85-0vl0.1 の実行に失敗
> スクリプト rail-1.2.5-0vl5 の実行に失敗
> E: Sub-process /bin/rpm returned an error code (255)

apel, IIIMECF, ruby-mode, Mule-UCS, rail のアンインストール時に実行さ
れるスクリプトの実行に失敗しています。
そのため、apel, IIIMECF, ruby-mode, Mule-UCS, rail は削除されずに残っ
ていると思います。

# 先の [vine-users:062495] には、
# > のようになりますが、データベースからは削除されます。その後
# とありましたが、ここで削除されているのを確認したのは emacsen-common
# のことですよね?

このため、
  1. この削除されなかったパッケージが emacsen, emacsen-common, semi を
     要求している。
  2. しかし、emacsen, emacsen-common, semi は削除されてしまっている。
という (未解決の依存関係がある) 状態になり、
  # apt-get -f install
すると、不足しているパッケージをインストールしようとします。

削除されなかったパッケージは、アンインストール時 (preun = ファイルが削
除される前) に、以下のようなスクリプトが実行されます。

  /usr/lib/emacsen-common/emacs-package-remove hoge
  /usr/lib/emacsen-common/remove-package-list hoge

emacs-package-remove, remove-package-list は emacsen-common パッケージ
に含まれています。

  % rpm -qf /usr/lib/emacsen-common/emacs-package-remove
  emacsen-common-0.4-0vl19
  % rpm -qf /usr/lib/emacsen-common/remove-package-list
  emacsen-common-0.4-0vl19

アンインストール時にスクリプトが実行されるよりも前に、emacsen-common
が削除されてしまうと、スクリプトの実行に失敗してしまいます。

emacs-package-remove, remove-package-list を実行する前に、これらが存在
するかどうかを確認するように、パッケージを修正すれば良いような気がしま
す。

# /usr/lib/rpm/macros でマクロが定義されているので、これを修正して、片
# っ端からリビルド?


-- 
KAZUKI SHIMURA <ksh@xxxxxxxxxxxxxxxxxxx>