diff options
Diffstat (limited to 'perl-install/install/pkgs.pm')
-rw-r--r-- | perl-install/install/pkgs.pm | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/perl-install/install/pkgs.pm b/perl-install/install/pkgs.pm index 4bd9b79b6..9f859c10a 100644 --- a/perl-install/install/pkgs.pm +++ b/perl-install/install/pkgs.pm @@ -677,86 +677,6 @@ sub _filter_packages { } @packages; } -sub _installTransactionClosure { - my ($packages, $id2pkg, $isUpgrade) = @_; - - foreach (grep { !$_->{selected} } @{$packages->{media}}) { - foreach ($_->{start} .. $_->{end}) { - delete $id2pkg->{$_}; - } - } - - my @l = ikeys %$id2pkg; - my $medium; - - #- search first usable medium (media are sorted). - foreach (@{$packages->{media}}) { - if ($l[0] <= $_->{end}) { - #- we have a candidate medium, it could be the right one containing - #- the first package of @l... - $l[0] >= $_->{start} and $medium = $_, last; - #- ... but it could be necessary to find the first - #- medium containing package of @l. - foreach my $id (@l) { - $id >= $_->{start} && $id <= $_->{end} and $medium = $_, last; - } - $medium and last; - } - } - $medium or return (); #- no more medium usable -> end of installation by returning empty list. - - #- it is sure at least one package will be installed according to medium chosen. - { - my $pkg = $packages->{depslist}[$l[0]]; - my $rpm = install::media::rel_rpm_file($medium, $pkg->filename); - if ($install::media::postinstall_rpms && -e "$install::media::postinstall_rpms/$rpm") { - #- very special case where the rpm has been copied on disk - } elsif (!install::media::change_phys_medium($medium->{phys_medium}, $rpm, $packages)) { - #- keep in mind the asked medium has been refused. - #- this means it is no longer selected. - #- (but do not unselect supplementary CDs.) - $medium->{selected} = 0; - } - } - - if (my $p = packageByName($packages, 'mdv-rpm-summary')) { - #- if it is selected, make it the first package - exists $id2pkg->{$p->id} and unshift @l, $p->id; - } - - my %closure; - foreach my $id (@l) { - my @l2 = $id; - - if ($isUpgrade && $id < 20) { - #- HACK for upgrading to 2006.0: for the 20 first main packages, upgrade one by one - #- why? well: - #- * librpm is fucked up when ordering pkgs, pkg "setup" is removed before being installed. - #- the result is /etc/group.rpmsave and no /etc/group - #- * pkg locales requires basesystem, this is stupid, the result is a huge first transaction - #- and it doesn't even help /usr/bin/locale_install.sh since it's not a requires(post) - $closure{$id} = undef; - last; - } - - while (defined($id = shift @l2)) { - exists $closure{$id} and next; - $closure{$id} = undef; - - my $pkg = $packages->{depslist}[$id]; - foreach ($pkg->requires_nosense) { - if (my $dep_id = find { $id2pkg->{$_} } keys %{$packages->{provides}{$_} || {}}) { - push @l2, $dep_id; - } - } - } - - keys %closure >= $limitMinTrans and last; - } - - map { delete $id2pkg->{$_} } grep { $id2pkg->{$_} } ikeys %closure; -} - sub install { my ($isUpgrade, $toInstall, $packages, $callback) = @_; my %packages; |