aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>2003-06-19 10:31:15 +0000
committerFrancois Pons <fpons@mandriva.com>2003-06-19 10:31:15 +0000
commit0efead983620c6164b110d1bdc8cc188de02b668 (patch)
treea8e612c8c83dc2e86a4285cb726382a99b057128
parentccac87c3c2131730bb7c11b2f651d36784ee14c4 (diff)
downloadperl-URPM-0efead983620c6164b110d1bdc8cc188de02b668.tar
perl-URPM-0efead983620c6164b110d1bdc8cc188de02b668.tar.gz
perl-URPM-0efead983620c6164b110d1bdc8cc188de02b668.tar.bz2
perl-URPM-0efead983620c6164b110d1bdc8cc188de02b668.tar.xz
perl-URPM-0efead983620c6164b110d1bdc8cc188de02b668.zip
0.91-5mdk
-rw-r--r--URPM/Resolve.pm15
-rw-r--r--perl-URPM.spec7
2 files changed, 16 insertions, 6 deletions
diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm
index 2ced98b..b1f66d3 100644
--- a/URPM/Resolve.pm
+++ b/URPM/Resolve.pm
@@ -218,7 +218,8 @@ sub backtrack_selected {
$options{callback_backtrack}->($urpm, $db, $state, $_,
dep => $dep, alternatives => $packages, %options) <= 0) {
#- keep in mind a backtrack has happening here...
- $state->{rejected}{$_->fullname}{backtrack} ||= {};
+ $state->{rejected}{$_->fullname}{backtrack} ||=
+ { exists $dep->{promote} ? (promote => $dep->{promote}) : @{[]} };
#- backtrack callback should return a strictly positive value if the selection of the new
#- package is prefered over the currently selected package.
next;
@@ -510,9 +511,10 @@ sub resolve_requested {
nopromoteepoch => 1,
avoided => $state->{rejected});
my $best = join '|', map { $_->id }
- grep { $urpm->unsatisfied_requires($db, $state, $_,
- nopromoteepoch => 1,
- name => $n) == 0 }
+ grep { $_->fullname ne $p->fullname &&
+ $urpm->unsatisfied_requires($db, $state, $_,
+ nopromoteepoch => 1,
+ name => $n) == 0 }
@{$packages->{$p->name}};
if (length $best) {
@@ -525,7 +527,10 @@ sub resolve_requested {
$packages = $urpm->find_candidate_packages($_,
nopromoteepoch => 1,
avoided => $state->{rejected});
- $best = join('|', map { $_->id } map { @{$_ || []} } values %$packages);
+ $best = join('|',
+ map { $_->id }
+ grep { $_->fullname ne $p->fullname }
+ map { @{$_ || []} } values %$packages);
$best and push @best, $best;
}
diff --git a/perl-URPM.spec b/perl-URPM.spec
index 503ad5d..468a69a 100644
--- a/perl-URPM.spec
+++ b/perl-URPM.spec
@@ -1,7 +1,7 @@
%define name perl-URPM
%define real_name URPM
%define version 0.91
-%define release 4mdk
+%define release 5mdk
%{expand:%%define rpm_version %(rpm -q --queryformat '%{VERSION}-%{RELEASE}' rpm)}
@@ -51,6 +51,11 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Thu Jun 19 2003 François Pons <fpons@mandrakesoft.com> 0.91-5mdk
+- added promote to backtrack data for more info.
+- fixed visual glitches when a package has its selection backtracked
+ whereas it is already installed.
+
* Wed Jun 18 2003 François Pons <fpons@mandrakesoft.com> 0.91-4mdk
- fixed installation of old package due to missing closure.
- fixed nodeps option to used for building transaction set.