私は公式のDebianディストリビューションに付属している特定のバージョンのライブラリに依存するソフトウェアをパッケージ化しています。ソフトウェアにはバンドルライブラリソースもあります。
debian/control
10より前のDebianバージョンでは何も指定する必要はありませんが、10以上の場合、リリースされたバージョンをビルド要件として使用できるようにファイルでこれを説明する方法はありますか?
また、以前のバージョンでは(ファイルでどのように検出されますか?)、構成ステップで追加のオプションを渡す必要がdebian/rules
ありました。cmake
答え1
これに対するルールはありません。ソースパッケージ(含むdebian/control
)は、そのディストリビューションで動作するビルドの依存関係を含むビルドガイドラインとともに、特定のディストリビューションとバージョンにアップロードする必要があります。
debian/control
場合によってはすぐに変更できますが、debian/rules
ビルドが開始される前に解決されるため、ビルドの依存関係には適用されません。
実際には、2つのアプローチが適している可能性があります。
公開ソースをインポートして関心のある各ターゲットの合計を生成するには、一種のテンプレートツールを使用してください
debian/control
。debian/rules
バージョン管理システムのブランチを使用して個々のターゲットを分離しますが、それでもかなり簡単なメンテナンスが可能です。
後者は、複数のターゲットにアップロードを許可する必要があるときにDebianのほとんどのパッケージを維持する方法です(例えば実験的、安定的、またはバックポートで不安定)。
また、以前のバージョンでは(ファイルでどのように検出されますか?)、構成ステップで追加のオプションを渡す必要が
debian/rules
ありました。cmake
以前のバージョンを検出して動作をハードコードするのではなく、実装したい動作を検出するだけです。たとえば、システムに依存ライブラリがあることを確認してからcmake
呼び出しを調整したり、cmake
問題がある場合はインストールされますcmake
。