5

いくつかのパッケージ ソース (例: foo-[ver].orig.tar.gz、foo-[ver].dsc) をダウンロードすると、使用中に依存関係の問題が発生することがよくdpkg-source -x foo-[ver].dscありdpkg-buildpackage -us -uc ...ます。この場合、ビルドの依存関係を 1 つずつインストールする必要があります。このケースを自動的に処理するツールはありdpkg-source-dependencies -x foo-[ver].dscますか?

4

4 に答える 4

7

パッケージをビルドしようとすると、次のようにしてすべての依存関係を取得する必要があります。

apt-get build-dep [package-name]

また、apt-get は、必要に応じてソース パッケージをコンパイルできます。

apt-get --build [package-name]

于 2012-01-24T13:56:30.553 に答える
3

これにはいくつかの方法があります(他の回答からわかるように)。すでにリポジトリの一部であるパッケージの場合は、次を使用できます。

apt-get build-dep pkgname

ローカル パッケージの場合、次のいずれかです。

apt-get build-dep source-dir/
apt-get build-dep source-name.dsc
/usr/lib/pbuilder/pbuilder-satisfydepends* --control source-name.dsc
mk-build-deps --install source-name.dsc
pbuilder build source-name.dsc
sbuild source-name.dsc

おそらく他の解決策がありますが、上記が最も広く使用されています。

于 2016-10-25T18:47:41.810 に答える
2

pbuilderは、この仕事のための単なるツールです。pbuilderインストール時に tarball に最小限のディストリビューションをセットアップします。ファイルをビルドする.dscには、ファイルをpbuilder提供して tarballを解凍し、chroot必要なすべてのビルド依存関係をインストールして、パッケージをコンパイルします。この手順の結果、ビルド結果はホスト マシンの現在の構成から独立しています。

于 2012-01-21T17:18:49.623 に答える
-1

Build-Depends を debian/control から抽出し、その後 apt でインストールします。いくつかの標準パッケージは Build-Depends として言及されておらず (build-essentials など)、debuild から暗黙的に必要とされます。

pkgs=$(grep Build-Depends debian/control|sed 's/^Build-Depends: //g)
pkgs=$(echo $pkgs|sed "s/[() ]//g"|tr "," " ")
apt-get install $pkgs build-essential
于 2013-11-14T12:40:41.123 に答える