debian/controlでビルド依存関係をインストール/解決するには?

debian/controlでビルド依存関係をインストール/解決するには?

/debian/既存のフォルダとファイルを含むソースコードフォルダをダウンロードしたとします/debian/control

問題のパッケージは公式のDebianリポジトリにないため、apt-get build-dep利用できないと想定されます。

この行を解析する方法はBuild-Depends:

たとえば、行を読むと再エコーできるBuild-Depends: debhelper (>= 8), faketimeツールがありますか?control-parse debian/control build-dependsdebhelper faketime

特にマルチスレッドの場合は?

既存のDebianツールはありますか?それともそれを解析するために独自のコードを書くことができますか?

ベストアンサー1

分析:

libdpkg-perlのモジュールを使用する(dpkg-checkbuilddepsこのモジュールを内部で使用)

ソースパッケージルートに次の行を追加し、ソースパッケージルートで実行しますprint-build-depsprint-build-deps

#!/usr/bin/perl
use strict;
use warnings;

use Dpkg::Control::Info;
use Dpkg::Deps;

my $control = Dpkg::Control::Info->new();
my $fields = $control->get_source();
my $build_depends = deps_parse($fields->{'Build-Depends'});
print deps_concat($build_depends) . "\n";

また見なさい:

perldoc Dpkg::Control::Info
perldoc Dpkg::Deps

取付ける:

あなたはmk-build-depsそれを使用することができますdevscripts

apt-get install devscripts
apt-get install equivs
cd project-root # project-root contains debian/control
mk-build-deps -i

man mk-build-deps説明する:

mk-build-deps - build a package satisfying a package's build-dependencies
-i, --install
       Install the generated packages and its build-dependencies

おすすめ記事