[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:07726] Re: Is this man-db bug?
- From: ISHIKAWA Mutsumi <ishikawa@xxxxxxxxxxx>
- Subject: [debian-users:07726] Re: Is this man-db bug?
- Date: Mon, 17 Aug 1998 21:59:01 +0900
- X-dispatcher: imput version 980812
- X-fingerprint: AC FA FA 80 27 8D 50 5E 5F 9F B4 78 94 BC 61 B5
- X-ml-info: If you have a question, send a mail with the body "# help" (without quotes) to the address debian-users-ctl@debian.or.jp
- X-ml-name: debian-users
- X-mlserver: fml [fml 2.1A#45]; post only from members
- X-url: http://www.linux.or.jp/~ishikawa/
- References: <19980817184621R.oka@xxxxxxxxxxxxxxxx>
- Message-id: <19980817215925Z.ishikawa@xxxxxxxxxxx>
- X-mail-count: 07726
- X-mailer: Mew version 1.93b53 on Emacs 20.2 / Mule 3.0 (MOMIJINOGA)
むつみです。
Mitsuru Oka <95i44@xxxxxxxxxxxxxxxx> さんは
Subject: [debian-users:07721] Is this man-db bug?
Message-ID: <19980817184621R.oka@xxxxxxxxxxxxxxxx>
において言いました
>> 岡@情報科学.高知大です。
>> man-db_2.3.10-65.jp4.deb をインストール(正確には何も考えずにapt-get
>> upgrade)したところ以下のエラーメッセージを出して異常終了しました。
>>
>>
>> man-db 2.3.10-65.jp3をman-db_2.3.10-65.jp4.debを使って置換するための準備中です ...
>> Removing whatis indexes as well as /var/catman hierarchy.
>> 置換のためにman-dbを解凍中 ...
>> dpkg: error processing man-db_2.3.10-65.jp4.deb (--unpack):
>> trying to overwrite `/usr/man/ja_JP.ujis', which is also in package canna
>> dpkg-deb: サブプロセスpasteがシグナル(Broken pipe)によって終了しました。
>> canna をインストールしており、 /usr/man/ja_JP.ujis 以下に幾つかのマニュ
>> アルが入っていることと関係があるようです。Debian ではこういった共通に
>> 使われ得るディレクトリをどのパッケージが責任を持って管理するものなのか
>> よく分かっていませんが、上記の通りうまくいっていないようです。
これは、複数の問題が絡み合ったために起きた現象です。
まず、どのパッケージがディレクトリを持つのかという問題ですが、これは、
どれが持っていても構いません。ディレクトリに関しては、(複数のパッケー
ジが持っていて)重複するのも OK です。全く問題ありません。
で、上記のエラーが起ったのは
canna に /usr/man/ja_JP.ujis という ディレクトリ が
man-db には /usr/man/ja_JP.ujis という シンボリックリンク が
それぞれ含まれていたからです。
この状況の経緯
1) man-db の最新版では /usr/man/$LANG と行った場合、$LANG は最初の 2
文字しか見てくれなくなった。つまり、日本語だと /usr/man/ja に日本語
man ページがインストールされることが前提となる。
2) しかし、この変更が比較的最近行われたため、Hamm (および Hamm-JP)の
リリースまでに /usr/man/ja_JP.ujis にマニュアルをインストールしてい
るパッケージをすべて変更するのは不可能だった。
2) そこで、man-db (ja) の最新版では、インストール時に
1. /usr/man/ja というディレクトリを用意する
2. インストール時に /usr/man/ja_JP.ujis というディレクトリがある
と、それ以下のファイルを、/usr/man/ja_JP.ujis に移動させ、
/usr/man/ja_JP.ujis を削除
3. /usr/man/ja_JP.ujis -> /usr/man/ja というシンボリックリンクを
用意する
という動作を差せる応急処置を取ることにした。
で、まあ、/usr/man/ja_JP.ujis が無い場合でも、ほかのパッケージをインス
トールする時に、/usr/man/ja_JP.ujis というディレクトリができないように、
パッケージにシンボリックリンクが含まれているんでしょう。
<疑問>
でも、これって、パッケージに含めてると、確かに overwrite する形になっ
て、気持ちよくありませんね。どうせ、/usr/man/ja_JP.ujis -> /usr/man/ja
は張るんだから、パッケージにファイルとして含めずに、postinst とかで
リンクを張るようにするって処置だけじゃまずいんでしょうか。
</疑問>
さらにもうひとつ、dpkg はリリース前の(つまり unstable とか frozen な)
開発段階では(チェックのために) overwrite ができない設定がディフォルト
にされます。で、リリースされるとその設定が解除され、overwrite 可がディ
フォルトになります。
ですんで、Hamm に含まれる、
dpkg_1.4.0.23.2
では、複数のパッケージに同じファイルが含まれてもディフォルトでは
overwrite するようになってるはずです。
それより前の Hamm 開発中の時に含まれていた dpkg あるいは slink に含ま
れる dpkg_1.4.0.27.deb では、ディフォルトでは overwrite できない設定に
されています。
--
From Nagoya
ishikawa@xxxxxxxxxxx, ishikawa@debian.or.jp
** 石川 睦%無意味な全文引用は嫌い@Japan Linux Users Group **
(Nagoya Linux Users Group)
私家版 f.o.l FAQ (Last Update : 1997/12/24)
http://www.linux.or.jp/~ishikawa/linux/faq/faq-list.html