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
関連のないビルドステップを削除する編集はいつでも可能です。