aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2008-07-04 13:04:31 +0000
committerPascal Rigaux <pixel@mandriva.com>2008-07-04 13:04:31 +0000
commit11c6dd5ec517b539234cb183f804f7b5893cbba7 (patch)
tree7f3ee270c8e3dc30c0236d4be8eb419a5d537bef
parent4294365db5d78909ae5a490e0714db379502cd80 (diff)
downloadperl-URPM-11c6dd5ec517b539234cb183f804f7b5893cbba7.tar
perl-URPM-11c6dd5ec517b539234cb183f804f7b5893cbba7.tar.gz
perl-URPM-11c6dd5ec517b539234cb183f804f7b5893cbba7.tar.bz2
perl-URPM-11c6dd5ec517b539234cb183f804f7b5893cbba7.tar.xz
perl-URPM-11c6dd5ec517b539234cb183f804f7b5893cbba7.zip
- handle $state->{orphans_to_remove} in selected_size() and
build_transaction_set()
-rw-r--r--NEWS2
-rw-r--r--URPM.pm2
-rw-r--r--URPM/Resolve.pm9
3 files changed, 13 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 51d2efc..f3b6599 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,6 @@
- add traverse_tag_find()
+- handle $state->{orphans_to_remove} in selected_size() and
+ build_transaction_set()
Version 3.16 - 26 June 2008, by Pascal "Pixel" Rigaux
diff --git a/URPM.pm b/URPM.pm
index 63f7de2..6d237fd 100644
--- a/URPM.pm
+++ b/URPM.pm
@@ -840,6 +840,8 @@ B<rejected>: { fullname => {
},
} }
+B<orphans_to_remove>: [ pkg ]
+
B<whatrequires>: { name => { id => undef } }
# reversed requires_nosense for selected packages
diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm
index ecc27fb..34ac590 100644
--- a/URPM/Resolve.pm
+++ b/URPM/Resolve.pm
@@ -1434,6 +1434,10 @@ sub _selected_size_filesize {
$size -= $_->{size};
}
+ foreach (@{$state->{orphans_to_remove} || []}) {
+ $size -= $_->size;
+ }
+
$size, $bad_filesize ? 0 : $filesize;
}
@@ -1876,6 +1880,11 @@ sub build_transaction_set {
};
}
+ if ($state->{orphans_to_remove}) {
+ my @l = map { scalar $_->fullname } @{$state->{orphans_to_remove}};
+ push @{$state->{transaction}}, { remove => \@l };
+ }
+
$state->{transaction};
}