diff options
-rwxr-xr-x | gurpmi2 | 2 | ||||
-rw-r--r-- | urpm.pm | 4 | ||||
-rwxr-xr-x | urpmi | 2 |
3 files changed, 5 insertions, 3 deletions
@@ -240,7 +240,7 @@ sub do_install_3 () { sync(); }, ); - my %transaction_sources_install = %{$urpm->extract_packages_to_install(\%transaction_sources) || {}}; + my %transaction_sources_install = %{$urpm->extract_packages_to_install(\%transaction_sources, $state) || {}}; if (!$urpm->{options}{'verify-rpm'} || grep { $_->{'verify-rpm'} } @{$urpm->{media}}) { my @bad_signatures = $urpm->check_sources_signatures(\%transaction_sources_install, \%transaction_sources, translate => 1); if (@bad_signatures) { @@ -2893,12 +2893,14 @@ sub prepare_transaction { #- extract package that should be installed instead of upgraded, #- sources is a hash of id -> source rpm filename. sub extract_packages_to_install { - my ($urpm, $sources) = @_; + my ($urpm, $sources, $state) = @_; my %inst; + my $rej = ref $state ? $state->{rejected} || {} : {}; foreach (keys %$sources) { my $pkg = $urpm->{depslist}[$_] or next; $pkg->flag_disable_obsolete || !$pkg->flag_installed + and !grep { exists $rej->{$_}{closure}{$pkg->fullname} } keys %$rej and $inst{$pkg->id} = delete $sources->{$pkg->id}; } @@ -577,7 +577,7 @@ foreach my $set (@{$state->{transaction} || []}) { goto &urpm::download::sync_logger; }, ); - my %transaction_sources_install = %{$urpm->extract_packages_to_install(\%transaction_sources) || {}}; + my %transaction_sources_install = %{$urpm->extract_packages_to_install(\%transaction_sources, $state) || {}}; if (!$force && ($urpm->{options}{'verify-rpm'} || grep { $_->{'verify-rpm'} } @{$urpm->{media}})) { my @bad_signatures = $urpm->check_sources_signatures(\%transaction_sources_install, \%transaction_sources, translate => 1); |