summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2008-07-03 16:39:37 +0000
committerPascal Rigaux <pixel@mandriva.com>2008-07-03 16:39:37 +0000
commitfd521832774555c4fafd1513e319f4c81c7a67af (patch)
tree2c9abf5c3fc66232fa93dc56812bbffa341363d3
parentb0ba6bfa5a2a72a71c175e5a32660fee6668722e (diff)
downloadurpmi-fd521832774555c4fafd1513e319f4c81c7a67af.tar
urpmi-fd521832774555c4fafd1513e319f4c81c7a67af.tar.gz
urpmi-fd521832774555c4fafd1513e319f4c81c7a67af.tar.bz2
urpmi-fd521832774555c4fafd1513e319f4c81c7a67af.tar.xz
urpmi-fd521832774555c4fafd1513e319f4c81c7a67af.zip
handle transaction set with only removed packages
(for upcoming orphans handling)
-rw-r--r--urpm/main_loop.pm5
1 files changed, 3 insertions, 2 deletions
diff --git a/urpm/main_loop.pm b/urpm/main_loop.pm
index 5d7074e2..3dec70c8 100644
--- a/urpm/main_loop.pm
+++ b/urpm/main_loop.pm
@@ -172,7 +172,7 @@ foreach my $set (@{$state->{transaction} || []}) {
}
}
- if (keys(%transaction_sources_install) || keys(%transaction_sources)) {
+ if (keys(%transaction_sources_install) || keys(%transaction_sources) || $set->{remove}) {
if ($parallel) {
print N("distributing %s", join(' ', values %transaction_sources_install, values %transaction_sources)), "\n";
#- no remove are handle here, automatically done by each distant node.
@@ -185,7 +185,7 @@ foreach my $set (@{$state->{transaction} || []}) {
);
} else {
if ($options{verbose} >= 0) {
- my @packnames = (values %transaction_sources_install, values %transaction_sources);
+ if (my @packnames = (values %transaction_sources_install, values %transaction_sources)) {
(my $common_prefix) = $packnames[0] =~ m!^(.*)/!;
if (length($common_prefix) && @packnames == grep { m!^\Q$common_prefix/! } @packnames) {
#- there's a common prefix, simplify message
@@ -193,6 +193,7 @@ foreach my $set (@{$state->{transaction} || []}) {
} else {
print N("installing %s", join "\n", @packnames), "\n";
}
+ }
}
my $to_remove = $urpm->{options}{'allow-force'} ? [] : $set->{remove} || [];
bug_log(scalar localtime(), " ", join(' ', values %transaction_sources_install, values %transaction_sources), "\n");