web-dev-qa-db-ja.com

Launchpadでstdebを使用する方法は?

ランチパッドには、PPAへのソースパッケージのアップロードのみを許可するポリシーがあることを知っています(説明されているように ここ )。

それでも、python .debパッケージにはすべてのソースが含まれており、 stdeb 拡張子を使用できず、パッケージを手動でビルドする必要があるのはばかげているようです...これを回避する方法はありますか?

編集:最初の回答から、私はコードを書いた開発者であることを明確にする必要があるようです。そのため、私は自分のプログラムは私のppaで.debになります。私は通常、システムで.debパッケージを次のように取得します。

python setup.py --command-packages=stdeb.command bdist_deb

これにより、すべてのpythonプログラムで標準であるsetup.pyスクリプトを再利用できるようになります。pythonパッケージガイドを確認しました。 ここ しかし、上記のワンライナーと同じ結果を達成するために、10倍以上作業する必要があるとは信じがたいので、何かが足りないようです...?

3
mac

そのパッケージのREADMEを見ると、_py2dsc_ユーティリティまたは_sdist_dsc_ distutilsコマンドを使用して、PythonパッケージからDebianソースパッケージをビルドすることがサポートされています。

Debianソースパッケージを入手したら、次のようなコマンドを使用してPPAにアップロードできるはずです。

_# Unpack the source package:
dpkg-source -x package_version.dsc
# Prepare a signed package upload:
cd package-version/
debuild -S -sa
# Upload the source package:
cd ..
dput $ARCHIVE package_version.upload
_
4

いいえ、これは不可能です。

そして、これは良いことです。理想的には、ソースからパッケージ化する目的は、どの変更がdebian/ubuntuにのみ存在し、どのソースがアップストリームからのものであるかを明確に確認できることです。どのディレクトリファイルを配置するかを選択することは、ディストリビューション固有の変更であり、他のソースとは別に、ディストリビューション固有のファイルに含める必要があります。

ソースパッケージは非常に単純な場合があることに注意してください。ソースを含むパッケージでdh_makeを実行し、コントロールファイルと著作権ファイルを更新して、コピーするファイルをインストールファイルに追加します。ソースの更新がある場合は、ソースを解凍して変更ログを更新するだけです。

2
johanvdw