aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@mandriva.com>2010-03-23 15:47:11 +0000
committerChristophe Fergeau <cfergeau@mandriva.com>2010-03-23 15:47:11 +0000
commit1862131a0bb1e6f3f964871dca1cd6bd7c01095f (patch)
treeaee5d64276e341d09a5d283dc22d5430c95003d8
parentf386b1143c4aca6eaf95e7348bb22c8b5521b187 (diff)
downloadperl-URPM-1862131a0bb1e6f3f964871dca1cd6bd7c01095f.tar
perl-URPM-1862131a0bb1e6f3f964871dca1cd6bd7c01095f.tar.gz
perl-URPM-1862131a0bb1e6f3f964871dca1cd6bd7c01095f.tar.bz2
perl-URPM-1862131a0bb1e6f3f964871dca1cd6bd7c01095f.tar.xz
perl-URPM-1862131a0bb1e6f3f964871dca1cd6bd7c01095f.zip
check selected packages for unsatisfied requires when a promoted package is backtracked and no replacement is found
(#57224, Anssi Hannula)
-rw-r--r--NEWS3
-rw-r--r--URPM/Resolve.pm5
2 files changed, 8 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 9f5286c..ea7e0ec 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,6 @@
+- check selected packages for unsatisfied requires when a promoted package is
+ backtracked and no replacement is found (#57224, Anssi Hannula)
+
Version 3.34 - 24 February 2010
- check for conflicting selected packages before selecting a package (#57224)
diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm
index 3371991..ceeda9f 100644
--- a/URPM/Resolve.pm
+++ b/URPM/Resolve.pm
@@ -646,6 +646,11 @@ sub backtrack_selected {
});
push @$diff_provides, map { +{ name => $_, pkg => $dep->{psel} } } keys %diff_provides_h;
});
+ with_state_unsatisfied_requires($urpm, $db, $state, $dep->{promote}, sub {
+ my ($p) = @_;
+ _set_rejected_from($state, $p, $dep->{psel});
+ disable_selected_and_unrequested_dependencies($urpm, $db, $state, $p);
+ });
}
}