特定のオプションを追加して、1つのソースから異なる名前の複数のDebianパッケージを作成することは可能ですか?

特定のオプションを追加して、1つのソースから異なる名前の複数のDebianパッケージを作成することは可能ですか?

debuild を使用して Debian パッケージを作成しました。

1 つのターゲット タイプに対して変数を使用した 1 つのコマンド:

debuild --set-envvar=TARGET=S_SS -b -us -uc -aarm64

そしてまた別のもののために:

debuild --set-envvar=TARGET=S_TT -b -us -uc -aarm64

この変数は Makefile で使用されます。

debuild コンパイルの結果は、どちらの場合も同じパッケージ名の *.deb になります。デフォルトの「debian」とは異なる、コンパイルに必要なファイル (コントロール、変更ログなど) を含むフォルダーへの特定のパッケージ名またはパスを設定することは可能ですか?

答え1

まあ、debian/control変数の置換をサポートしています。

私が考えついた最もクリーンなオプション:

  1. (ダイナミック)変更バイナリパッケージ名を組み込み、${variable} 変数を直接渡すか、または追加してdebian/control設定します。debian/rules-Vdebian/substvars

    参照: Debian ポリシー4.10. 変数の置換: debian/substvars5.2. ソースパッケージ制御ファイル – debian/control

  2. (静的)debian/rules複数の構成/ビルドサイクルを実行し、分割バイナリパッケージを生成します。この場合、debian/control両方のパッケージが事前に宣言され、ビルドファイルが分割されます。debian/<packagename>.install

    参照:debian/control ターゲットに応じて debian/rules の環境変数を変更する(別の関連事例に対する私の回答)

関連情報