自家製Debian用ソフトウェアパッケージングのベストプラクティス

自家製Debian用ソフトウェアパッケージングのベストプラクティス

私は私が書いたソフトウェアにDebianパッケージングを提供しました。ソフトウェアがDebianの一部になるにはあまりにも専門的かもしれません。とにかく、私は現在、Debianにそれを含める予定はありません。しかし、できるだけベストプラクティスに従いたいと思います。

現在、Debian パッケージはソフトウェアと同じ Mercurial リポジトリのサブディレクトリ debian/ にあります。別のリポジトリに保管する必要があるかどうか疑問に思います。また、現在のパッケージはDebianのデフォルトパッケージとしてビルドされていますが、これは適切ではありません。 orig tarballルールをビルドするためにget-orig-sourceターゲットを追加できますが、ローカルリポジトリからorig.tar.gzファイルをビルドしてもかまいませんか、それともリモートでインポートする必要がありますか?前者の場合、リポジトリの場所をget-orig-sourceターゲットに渡すなど、推奨される方法はありますか?

誰かが私にDebianディレクトリを実際のソフトウェアとは異なる(おそらく名前付き)ブランチに置いてビルドするときに一緒にマージできると提案しました。 .tar.gzを使用してorig.tar.gzを取得する方法に関する質問はまだ残っていますget-orig-source

答え1

debian/言及したように、別々のブランチ(必ずしもリポジトリである必要はありません)にあることをお勧めします。他の人があなたのソフトウェアを別のディストリビューションにパッケージ化したり、あなたと同じように別の方法でパッケージ化したい場合は、デフォルトdebian/でフォルダをインポートすると迷惑になります。

通常、get-orig-source上流のタールボールが利用できない場合、または何らかの理由で(著作権、未使用のファイルなど)変更する必要がある場合は、この方法をお勧めします。したがって、ソフトウェアのtarballをリリースする場合get-orig-source

あなたの目標に合った普遍的な解決策がないので、get-orig-source既存の解決策(例:フラッグハブ)。

彼らは一般的に同様の方法を使用してタールボールをhg archive -X ".hg* ../packagename_$VERSION.orig.tar.gz作成します。dpkg-parsechangelogdebian/changelog


梱包してお勧めします。mercurial-buildpackage。たとえば、そのツールを使用すると、元のタールボールを別の四半期に維持できます。

関連情報