[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-devel:04100] Re: about diversion
中原です。
> 樽石です。
>
> nakahara> 6.2 によると upgrade時には
これは 6.3 の間違いでした。
> nakahara>
> nakahara> new-preinst upgrade old-version
> nakahara>
> nakahara> とだけ呼ばれるようなので、 途中のバージョンから diversion を採用すると
> 確かにPackaging Manualにはそう書いてある(あったと記憶している)
> のですが、dpkgのmanpageにあるように実際は
>
> Installation consists of the following steps:
> 1. Extract the controlfiles of the new package.
> 2. If another version of the same package was
> installed before the new installation, execute
> prerm script of the old package.
> 3. Run preinst script, if provided by the package.
> 4. Unpack the files and at the same time, backup
> the old files so that if something goes wrong, we
> can restore them.
> 5. If another version of the same package was
> installed before the new installation, execute the
> postrm script of the old package. Note that this
> script is executed after the preinst script of the
> new package, because new files are written at the
> same time, old files are removed.
> 6. eonfigure the package. See --configure for
> detailed information about how this is done.
>
> のようにしかしないようです。
これは Package Manual 6.3 と 6.4 に書いてあることを単純化して書いてあ
るにすぎないと思います。
in Message-ID: <19980618234522R.masato@xxxxxxxxxxxxx>
> taruisma> 僕の作ったパッケージでは最初Packaging Manualに従ってパッケージング
> taruisma> していたのですが、どうupgradeしてもスコアファイルが消えてしまう
> taruisma> という問題があったのでいろいろ調べたところ上記の文章にたどり着きました。
> taruisma> #うーん、でもPackaging Manualにあるのはいったい何?
> と投稿してから考えてみると
> postinstとかにわたる引数をみれば良いのか…
preinst の引数を見れば、upgrade 時か、remove されたパッケージの
install 時かpurge されたパッケージ (新規インストールも含む) の install
時かすぐにわかります。
postinst は、(正常にインストールされている時は) configure 時に
postinst configure most-recently-configured-version
と呼ばれるのようです。新規インストール時には 第 2 引数は空なのかは読み
とれません。これは鵜飼さんの指摘のように debug option を付けて知らべる
か、dpkg のソースを見るかしかないようです。もしそうなら postinst では
第 2 引数を見て判断するのでしょうね。
でも簡単に score file があれば作らないというのではだめだったんですか?
--
中原 早生
広島大学総合科学部
nakahara@xxxxxxxxxxxxxxxxxxxxx