From 92967ccd8f02c6ba85bb0bf0bb2704b6038bc22a Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Wed, 13 Feb 2008 13:28:45 +0000 Subject: (get_pkgs,open_urpmi_db) ignore disabled backport media in rpmdrake too, not just in MandrivaUpdate (#35009) --- Rpmdrake/open_db.pm | 2 +- Rpmdrake/pkg.pm | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Rpmdrake/open_db.pm b/Rpmdrake/open_db.pm index 221dad01..9925467e 100644 --- a/Rpmdrake/open_db.pm +++ b/Rpmdrake/open_db.pm @@ -89,7 +89,7 @@ sub open_urpmi_db { my $urpm = fast_open_urpmi_db(); my $media = ref $::rpmdrake_options{media} ? join(',', @{$::rpmdrake_options{media}}) : ''; - my $searchmedia = $urpmi_options{update} ? undef : join(',', map { $_->{name} } grep { $_->{ignore} && $_->{name} =~ /backport/i } @{$urpm->{media}}); + my $searchmedia = join(',', map { $_->{name} } grep { $_->{ignore} && $_->{name} =~ /backport/i } @{$urpm->{media}}); urpm::media::configure($urpm, media => $media, if_($searchmedia, searchmedia => $searchmedia), %urpmi_options); $urpm; } diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm index 71a025df..936117ea 100644 --- a/Rpmdrake/pkg.pm +++ b/Rpmdrake/pkg.pm @@ -336,6 +336,11 @@ sub get_pkgs { my $requested = {}; my $state = {}; + my (@requested, @requested_strict); + + { + local $urpm->{searchmedia} = undef; + $urpm->request_packages_to_upgrade( $db, $state, @@ -343,9 +348,9 @@ sub get_pkgs { ); # list of updates (including those matching /etc/urpmi/skip.list): - my @requested = sort map { urpm_name($_) } @{$urpm->{depslist}}[keys %$requested]; + @requested = sort map { urpm_name($_) } @{$urpm->{depslist}}[keys %$requested]; # list of pure updates (w/o those matching /etc/urpmi/skip.list but with their deps): - my @requested_strict = $probe_only_for_updates ? + @requested_strict = $probe_only_for_updates ? sort map { urpm_name($_); } $urpm->resolve_requested($db, $state, $requested, callback_choices => \&Rpmdrake::gui::callback_choices) @@ -353,6 +358,8 @@ sub get_pkgs { # list updates including skiped ones + their deps in MandrivaUpdate: push @requested, difference2(\@requested_strict, \@requested) if $probe_only_for_updates; + } + if (!$probe_only_for_updates) { $urpm->compute_installed_flags($db); # TODO/FIXME: not for updates $urpm->{depslist}[$_]->set_flag_installed foreach keys %$requested; #- pretend it's installed -- cgit v1.2.1