しむらです。
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>