urpmi: get-depends now supports package ids list argument
This commit is contained in:
parent
67f4dee00c
commit
0c30e1cf23
@ -31,11 +31,11 @@ use urpmi_backend::tools;
|
||||
use perl_packagekit::enums;
|
||||
use perl_packagekit::prints;
|
||||
|
||||
# Two arguments (filter, package id)
|
||||
exit if($#ARGV != 2);
|
||||
# 3 arguments (filter, package id, recursive)
|
||||
$#ARGV == 2 or exit 1;
|
||||
|
||||
my @filters = split(/;/, $ARGV[0]);
|
||||
my @pkgid = split(/;/, $ARGV[1]);
|
||||
my @pkgids = split(/\|/, $ARGV[1]);
|
||||
my $recursive_option = 0;
|
||||
|
||||
# We force the recursive option
|
||||
@ -46,26 +46,27 @@ pk_print_status(PK_STATUS_ENUM_DEP_RESOLVE);
|
||||
my $urpm = urpm->new_parse_cmdline;
|
||||
urpm::media::configure($urpm);
|
||||
|
||||
my @pkgnames;
|
||||
foreach (@pkgids) {
|
||||
my @pkgid = split(/;/, $_);
|
||||
push(@pkgnames, $pkgid[0]);
|
||||
}
|
||||
print join(" ", @pkgnames);
|
||||
print "\n";
|
||||
my %requested;
|
||||
my @names = (@pkgid[0]);
|
||||
my $results = urpm::select::search_packages($urpm, \%requested, \@names,
|
||||
my $results = urpm::select::search_packages($urpm, \%requested, \@pkgnames,
|
||||
fuzzy => 0,
|
||||
caseinsensitive => 0,
|
||||
all => 0
|
||||
);
|
||||
|
||||
exit if !$results;
|
||||
my @requested_keys = keys %requested;
|
||||
my $package_id = pop @requested_keys;
|
||||
|
||||
my %resolv_request = ();
|
||||
%resolv_request->{$package_id} = 1;
|
||||
$results or exit;
|
||||
|
||||
my $empty_db = new URPM;
|
||||
my $state = {};
|
||||
$urpm->resolve_requested($empty_db,
|
||||
$state,
|
||||
\%resolv_request,
|
||||
\%requested,
|
||||
);
|
||||
|
||||
my $db = open_rpm_db();
|
||||
|
@ -156,9 +156,12 @@ static void
|
||||
backend_get_depends (PkBackend *backend, PkBitfield filters, gchar **package_ids, gboolean recursive)
|
||||
{
|
||||
gchar *filters_text;
|
||||
gchar *package_ids_temp;
|
||||
package_ids_temp = pk_package_ids_to_text (package_ids, "|");
|
||||
filters_text = pk_filter_bitfield_to_text (filters);
|
||||
pk_backend_spawn_helper (spawn, "get-depends.pl", filters_text, package_ids[0], pk_backend_bool_to_text (recursive), NULL);
|
||||
pk_backend_spawn_helper (spawn, "get-depends.pl", filters_text, package_ids_temp, pk_backend_bool_to_text (recursive), NULL);
|
||||
g_free (filters_text);
|
||||
g_free (package_ids_temp);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user