summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rw-r--r--urpm/select.pm16
2 files changed, 16 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index 5b24b2ca..4d322e66 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+- modify infrastructure so that rpmdrake doesn't select all updates by
+ default (#38611)
+
Version 5.8.1 - 6 March 2008, by Thierry Vignaud
- add infrastructure so that rpmdrake doesn't select all updates by
diff --git a/urpm/select.pm b/urpm/select.pm
index 00991511..bd969311 100644
--- a/urpm/select.pm
+++ b/urpm/select.pm
@@ -266,9 +266,7 @@ sub resolve_dependencies {
#- first check if a priority_upgrade package is requested
#- (it should catch all occurences in --auto-select mode)
#- (nb: a package "foo" may appear twice, and only one will be set flag_upgrade)
- if (my @l = grep { $_->flag_upgrade } _priority_upgrade_pkgs($urpm, $options{priority_upgrade})) {
- $need_restart = _resolve_priority_upgrades($urpm, $db, $state, $requested, \@l, %options);
- }
+ $need_restart = resolve_priority_upgrades_after_auto_select($urpm, $db, $state, $requested, %options);
}
if (!$need_restart) {
@@ -292,6 +290,18 @@ sub _priority_upgrade_pkgs {
} split(/,/, $priority_upgrade_string);
}
+
+sub resolve_priority_upgrades_after_auto_select {
+ my ($urpm, $db, $state, $selected, %options) = @_;
+
+ my $need_restart;
+
+ if (my @l = grep { $_->flag_upgrade } _priority_upgrade_pkgs($urpm, $options{priority_upgrade})) {
+ $need_restart = _resolve_priority_upgrades($urpm, $db, $state, $selected, \@l, %options);
+ }
+ $need_restart;
+}
+
sub _resolve_priority_upgrades {
my ($urpm, $db, $state, $selected, $priority_pkgs, %options) = @_;