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

[debian-devel:14766] Re: build non-US package



むつみです。

>>>>> In [debian-devel : No.14762] 
>>>>>	Matanuki@xxxxxxxxxx wrote:
>> non-US packageを作成する際の詳細について教えて下さい。
>>
>> ipv6calc-0.30が libsslにdependするようになり、
>> debian/controlのSection:行を main/netから non-US/mainに変更して
>> dpkg-buildpackage -uc -usしました。

 処置としては正しいと思います。

  もともと main/net と書いていたのだとすると、それは間違っていた
という気もしますが。

---- Debian Policy Manual より

2.1.7. Subsections
------------------

     The packages in the sections _main_, _contrib_ and _non-free_ are
     grouped further into _subsections_ to simplify handling.

     The section and subsection for each package should be specified in the
     package's `Section' control record.  However, the maintainer of the
     Debian archive may override this selection to ensure the consistency
     of the Debian distribution.  The `Section' field should be of the
     form:
        * _subsection_ if the package is in the _main_ section,
        * _section/subsection_ if the package is in the _contrib_ or
          _non-free_ section, and
        * `non-US', `non-US/contrib' or `non-US/non-free' if the package is
          in _non-US/main_, _non-US/contrib_ or _non-US/non-free_
          respectively.
(以下省略)

>> と Section: は non-US/mainになっているのですが、
>> このパッケージを dpkg -i ipv6calc_0.30-1_i386.debした後に
>> dpkg -s ipv6calcすると
>> [mguuji@chiaki:~/lab]$ dpkg -s ipv6calc
>> Package: ipv6calc
>> Status: install ok installed
>> Priority: optional
>> Section: unknown
>> Installed-Size: 180
>> (以下略)
>> と Sectionが unknownになってしまいます。
>> なぜでしょう?

 以前 Section: が unknown になったままの 同名のパッケージを
手元でインストールしたことがある可能性はないですか?

 dpkg のバグ(仕様ではないと思うんだけど..)のような気もするんですが、
dpkg が使っている db の Section フィールドの値、パッケージを purge
しようが upgrade しようが 最初にインストールされた時の状態を保持
してしまうようです。

 手元でテストした手順は以下です。

 1) Section: non-US/main としたてきとーなパッケージをつくった
    mope_1-1.deb としましょう。
 3) dpkg -s mope で db にないのを確認
 4) dpkg -i mope_1.1.deb
 5) dpkg -s mope

iceman:~/tmp$dpkg -s mope
Package: mope
Status: install ok installed
Priority: optional
Section: non-US/main
Installed-Size: 52
Maintainer: ISHIKAWA Mutsumi <ishikawa@xxxxxxxxxxx>
Version: 1-1
(以下省略)

 6) Section: non-US/non-free に変更して(バージョン変更せずに)
   同一のパッケージ(mope_1-1.deb)を作成
 7) dpkg -i mope_1-1.deb
 8) dpkg -s mope

iceman:~/tmp$dpkg -s mope
Package: mope
Status: install ok installed
Priority: optional
Section: non-US/main
Installed-Size: 52
Maintainer: ISHIKAWA Mutsumi <ishikawa@xxxxxxxxxxx>
Version: 1-1
(以下省略)

  ※ dpkg -s の結果 Section: かわっていない...

 9) dpkg --purge mope
10) dpkg -s mope

iceman:~/tmp$dpkg -s mope
Package: mope
Status: purge ok not-installed
Priority: optional
Section: non-US/main

  ※ purge されたが Section: 古いまま

 11) Section: non-US/non-free で mope_1-2.deb を作成
 12) dpkg -i mope_1-2.deb
 13) dpkg -s mope

iceman:~/tmp$dpkg -s mope
Package: mope
Status: install ok installed
Priority: optional
Section: non-US/main
Installed-Size: 52
Maintainer: ISHIKAWA Mutsumi <ishikawa@xxxxxxxxxxx>
Version: 1-2
(以下略)

  ※ Section: 更新されず


ということなんで、この ML だと明確な回答できないと思われるので
debian-dpkg@lists.debian.org or debian-devel@lists.debian.org
の方で、質問してみてください(or いきなり BTS につっこんでしまってもい
い気もしますが ^^;;)

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