[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:14811] Re: About conffile and diversion



むつみです。

>>>>> In [debian-devel : No.14810] 
>>>>>	KONDOU Mitihiko <shortcut@xxxxxxxxxxxxxxxx> wrote:
>> Mon, Jan 14, 2002 at 11:37:34AM +0900 において
>> Fumitoshi UKAI さん曰く:

>> > > conffiles に含めないで、dpkg-divert をかけると、
>> > > 期待通りの結果になるのですが、
>> > 
>> > これも、おとしあながあったような…
>>
>> ゲッ、そうなんですか?

 テストケース

 パッケージ: fuga
   /etc/fuga.conf を conffiles にもっている

 パッケージ: mope
   /etc/fuga.conf を持っているが conffiles には含めていない
   preinst で /etc/fuga.conf を divert する (postrm で divert を戻す)


 1) fuga_1-1_all.deb をインストール
 2) mope_1-1_all.deb をインストール
   -> preinst で divert が発生
   -> パッケージの展開がおきて mope の /etc/fuga.conf
      を入れようとしたときに、fuga の /etc/fuga.conf との
      比較が発生。conffiles の置き換えをするかどうか聞いてくる。

      ここで N を入力して 置き換えをしない を選択すると
      /etc/fuga.conf がなくなる。

       理由:
        - /etc/fuga.conf はすでに divert されており ほかのファイル名に
          変わってしまっている(このテストケースでは /etc/fuga.conf.mope)
        - conffiles のチェックは 元々入っていた(divert されて名前がか
          わってしまっている)ファイルに対して行われる。つまり divert
          されていることは 関知されていない。
        - N を選ぶと mope に含まれる /etc/fuga.conf は
          /etc/fuga.conf.dpkg-dist とされてインストールされてしまう。

     つまり /etc/fuga.conf.dpkg-dist と /etc/fuga.conf.mope しかない状
     態になる。

  3) sudo mv /etc/fuga.conf.dpkg-dist /etc/fuga.conf

  4) fuga_1-2.all_deb をインストール (/etc/fuga.conf の内容は fuga_1-1
     に対して更新されている)

    -> /etc/fuga.conf は更新されない (mope に含まれていたもののまま)
      更新するかという問いもない
    -> /etc/fuga.conf.mope.dpkg-new おかれる、内容は fuga_1-2_all.deb
      の /etc/fuga.conf の内容

    (んー この挙動はなんでだ??)


-- 
いしかわ むつみ
 <ishikawa@xxxxxxxxxxx>, <ishikawa@debian.org>, <ishikawa@xxxxxxxxxxxxxxxx>