mirror of
https://github.com/truenas/scale-build.git
synced 2026-02-15 07:29:12 +00:00
Add ability to retrieve depends of binary packages
This commit is contained in:
@@ -4,8 +4,28 @@ use warnings;
|
||||
|
||||
use Dpkg::Control::Info;
|
||||
use Dpkg::Deps;
|
||||
use JSON;
|
||||
|
||||
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";
|
||||
my ($path, $depends_type) = @ARGV;
|
||||
my $control = Dpkg::Control::Info->new($path);
|
||||
if ($depends_type eq 'Build-Depends'){
|
||||
my $fields = $control->get_source();
|
||||
my $build_depends = deps_parse($fields->{'Build-Depends'});
|
||||
my %package_info = ('name'=> $fields->{'Source'}, 'build_depends'=> deps_concat($build_depends));
|
||||
my $json_str = encode_json \%package_info;
|
||||
print("$json_str");
|
||||
} elsif ($depends_type eq 'Depends') {
|
||||
my @packages = $control->get_packages();
|
||||
my @packages_list;
|
||||
foreach my $package (@packages)
|
||||
{
|
||||
push(@packages_list, {
|
||||
'name' => $package->{'Package'},
|
||||
'depends' => $package->{'Depends'}
|
||||
});
|
||||
}
|
||||
my $json_str = encode_json(\@packages_list);
|
||||
print("$json_str");
|
||||
} else {
|
||||
die "Unrecognized depends_type specified";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user