一緒に縛られた関連パッケージなしで Debian パッケージをビルドする

一緒に縛られた関連パッケージなしで Debian パッケージをビルドする

foo-dbgsym-*Debianパッケージをビルドするときは、通常、バージョンとパッケージと共にバンドルされた複数の関連パッケージをビルドしますfoo-doc

たとえば、次のような比較的単純なパッケージもありますmake

make-dbgsym_4.2.1-1.2_amd64.deb
make-guile-dbgsym_4.2.1-1.2_amd64.deb
make-guile_4.2.1-1.2_amd64.deb
make_4.2.1-1.2_amd64.deb

ビルドシステムにビルドするだけでmakeビルドしないように指示できますかmake-guile

以下は、パッケージの構築に使用するプロセスです。

apt-get source make
cd make*
dpkg-buildpackage --build=binary --no-sign

ビルドするパッケージを指定する一般的なプロセスはありますか?

Makeは簡単な例ですが、より大きなパッケージは興味のない複数のバージョンのパッケージをビルドし、依存ライブラリをインストールする必要があり、ビルドプロセスに時間がかかります。

答え1

dbgsym利用可能なパッケージを無効にするビルドnoautodbgsymオプション:

DEB_BUILD_OPTIONS=noautodbgsym dpkg-buildpackage -us -uc

--buildのオプションを変更して、アーキテクチャ依存またはアーキテクチャに依存しないパッケージのみをビルドすることもできますdpkg-buildpackage

他に、ビルドするパッケージとインストールする依存関係を選択して選択する普遍的な方法はありません。具体的には、ビルドの依存関係は、関連するバイナリパッケージにバンドルされていません。

一部パッケージのサポートファイルの生成;および/または山かっこ内の依存関係を見つけてBuild-Profilesこれを確認できますdebian/control。これらのパッケージでは、適切な構成ファイルを選択するdpkg-buildpackageオプション-Pがビルドオプションと一緒に使用されることがあります。たとえば、nocheck構成ファイルがあるパッケージでは

DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -Pnocheck

テスト関連のビルド依存関係(ある場合)をスキップし、実行中のテストもスキップします。

実際、makeパッケージの最新バージョンはnoguileビルドプロファイルを提供すると主張しているので、Guileをスキップできるはずです。

dpkg-buildpackage -Pnoguile -us -uc

その他構成ファイルの定義が不完全です。

debian/control関連のないパッケージを削除し、debian/rules関連のないビルドステップを削除する編集はいつでも可能です。

関連情報