私も以前にUbuntu/DebianのPythonパッケージングと戦ったことがありますが、ドキュメントが混乱している/存在しない/誤解を招くものであることに同意します。可能な限り単純な状況のためのクイックスタートガイドが本当に必要です。
さて、ここです!
ツールをインストールします。ただし、これはやり過ぎかもしれません。
sudo apt-get install build-essential python-all dh-make devscripts fakeroot
$packagename-$version
コードを、 like library_name-0.6.0/
、およびそのディレクトリにチェックアウトすることから始めますcd
。次のように実行しますdh_make -i -c gpl3 -e nfirvine@example.com
(dh_make --help
他のオプションについては、を参照してください)。すべてがうまくいけば、エラーは発生せず、大量のファイルが に作成され./debian
ます。無視または削除でき./debian/*.{ex,EX}
ます。これらは単なる例です。
これらすべてのファイルをいずれかの時点で調べる必要があるかもしれませんが、少なくとも、編集./debian/control
して./debian/rules
. コントロールのすべてのテンプレート フィールド、つまりDescription
とに入力する必要がありHomepage
ます。Package
行を次のように変更しpython-$libname
ます。Depends
control
Depends: ${misc:Depends}, ${python:Depends}
これにより、バイナリ パッケージpython-$libname
が必要な Python のバージョンに依存するようになります。( ${python:Depends} is a "substvar"; they're created when we build; you can inspect their values after your first build in
./debian/$packagename.substvars`.)
の行をrules
からdh $@
に変更dh $@ --with python2
し、先頭のタブを保持します (これは Makefile です)。これにより、debhelper は python2 アドオンを使用します。デフォルトでは引き続き pysupport を使用します (これは非推奨です、覚えていますか?)。
次に、ソース ルートで次のコマンドを実行します。
debuild -us -uc
これにより、署名せずにパッケージがビルドされます (後で行う方法を学ぶ必要があります)。おなじみの setuptools の行 (2 回: 2.6 用に 1 回、2.7 用に 1 回)、多数の dh_ アドオン、およびその他の構築作業が表示されるはずです。最後に lintian の出力があり、一般的なパッケージングの問題を検出できます。これらを修正する必要があります。lintian やその友人たちが不満を言っているのは、パッケージング ルールを順守しているだけです。
ところで、このページではとの非推奨について話しています。python-support
python-central