summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2009-03-02 13:59:16 +0000
committerThierry Vignaud <tv@mandriva.org>2009-03-02 13:59:16 +0000
commit33ad24f949ea1cf2a00dba6b38bf1eebac468aec (patch)
tree789e927c644d9f0cb695fd91945c8dc5dfe57445 /perl-install
parent3138f5124242eff0724f30c09317c14260e4083b (diff)
downloaddrakx-33ad24f949ea1cf2a00dba6b38bf1eebac468aec.tar
drakx-33ad24f949ea1cf2a00dba6b38bf1eebac468aec.tar.gz
drakx-33ad24f949ea1cf2a00dba6b38bf1eebac468aec.tar.bz2
drakx-33ad24f949ea1cf2a00dba6b38bf1eebac468aec.tar.xz
drakx-33ad24f949ea1cf2a00dba6b38bf1eebac468aec.zip
(_installTransactionClosure) drop it
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/install/pkgs.pm80
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;