2011-09-01 9 views
14

How do I write a setup.py for a twistd/twisted plugin that works with setuptools, distribute, etc?へのフォローアップとして、ツイストプラグインのためのdebianパッケージはどのようにして作られますか?twisted/twistedプラグイン用にubuntu/debianパッケージを作るにはどうすればいいですか?

setup.pyが適切に書かれていると仮定すると、cdbs/python-central/dh_python2を使ってもうまくいくはずですが、これまではあまり運がありませんでした。

これらのツールでは、基本的に 'python setup.py install --root ='を実行してから ''で終わるものをパッケージ化しているので、前の質問に正しく答えると、この質問は偽?

誰でもここにdebianのツイストプラグインを正常にパッケージ化しましたか?

答えて

1

ああ、私はこれを試みて失敗しました。私はそれがDebianの/ Ubuntuはあなたがターゲットにしたい解放するには、あなたが入れたいどのくらいの努力によって可能だと思う

二つのアプローチがあります。

  1. は、あなたのパッケージがtwisted/plugins/にプラグインファイルをスティックがありますねじれた木にこれは、Twistedが異なるリリース(Natty IIRCのLucidとdh_python2python-supportpython-support)で異なるメソッドを使用してパッケージ化されているため、痛みです。パッケージはTwistedと同じ方法でパッケージ化する必要があります。
  2. コードの横にtwisted/plugins/ディレクトリがインストールされています。その後、IIRCの問題は、(パッケージではないので)ねじれたディレクトリを含むシンボリックリンクの森が作成されるようになります。
+0

私はひどくも、これらのオプションを理解していません。プラグインファイルを「ツイストツリー」に「貼り付ける(stick)」というパッケージの技術的な詳細を提供できますか? Twistedが異なるリリースでインストールされる可能性のある異なる場所を考えれば、ねじれたツリーの場所をどのように知ることができますか? – Glyph

3

明らかに、問題は 'python-support'にあります。これは、ねじれたプラグインについて言えば壊れています。

This message from Ubuntu's Matthias Kloseは、問題を説明し、解決策を提供しています:のpython-サポート付きツイストプラグインの

パッケージは、設計によって破壊されます。 pythonポリシーでさえ、同じpython名前空間を共有するパッケージに対して同じ パッケージヘルパーを使うべきであることを明示的に述べています。

これにはdh_python2を使用するか、 `include-links 'を使用して dh_pycentralで(廃止予定の)ビルドを使用する必要があります。

- マティアス・クローゼ

+2

最初の文章は多少誤解を招きます。 Twistedパッケージはdh_python2を使用するため、python-supportは "twisted pluginsの場合は普通に壊れている"だけです。なぜなら、python-supportの本質的な欠点のせいではないからです。より一般的には、別のパッケージの名前空間にPythonモジュールをインストールする場合、そのパッケージが使用するのと同じパッケージングヘルパーを使用する必要があります。そうしないと、ファイルが適切な場所に配置されません。 – mithrandi

+0

これはDebianだけでなくUbuntuでも当てはまりますか?それぞれのバージョン – Glyph

関連する問題