summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
authorFrancois Pons <fpons@mandriva.com>2002-01-04 17:34:35 +0000
committerFrancois Pons <fpons@mandriva.com>2002-01-04 17:34:35 +0000
commit883e070b411abc63e7ab89efe88cbc51e320c139 (patch)
tree803ac0cfd45a815699b4f69f04d79b6a9776f7de /perl-install
parent6ea016b32d565af4c2be937295792089aeb56d9d (diff)
downloaddrakx-backup-do-not-use-883e070b411abc63e7ab89efe88cbc51e320c139.tar
drakx-backup-do-not-use-883e070b411abc63e7ab89efe88cbc51e320c139.tar.gz
drakx-backup-do-not-use-883e070b411abc63e7ab89efe88cbc51e320c139.tar.bz2
drakx-backup-do-not-use-883e070b411abc63e7ab89efe88cbc51e320c139.tar.xz
drakx-backup-do-not-use-883e070b411abc63e7ab89efe88cbc51e320c139.zip
allow to use same identifier for security medium (1u).
re-install urpmi. allow some error to be catched.
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/crypto.pm22
-rw-r--r--perl-install/install_steps.pm29
-rw-r--r--perl-install/install_steps_interactive.pm6
-rw-r--r--perl-install/pkgs.pm2
4 files changed, 37 insertions, 22 deletions
diff --git a/perl-install/crypto.pm b/perl-install/crypto.pm
index cb6517536..89ff9474d 100644
--- a/perl-install/crypto.pm
+++ b/perl-install/crypto.pm
@@ -85,16 +85,18 @@ sub getPackages {
$crypto::host = $mirror;
#- extract hdlist of crypto, then depslist.
- require pkgs;
- my $update_medium = pkgs::psUsingHdlist($prefix, 'ftp', $packages, "hdlist-updates.cz",
- 1+scalar(keys %{$packages->{mediums}}), "RPMS",
- #"Updates for Mandrake Linux $::VERSION", 1, getFile("base/hdlist.cz", $mirror)) and
- "Updates for Mandrake Linux 8.1", 1, getFile("base/hdlist.cz", $mirror)) and
- log::l("read updates hdlist");
- #- keep in mind where is the URL prefix used according to mirror (for install_any::install_urpmi).
- $update_medium->{prefix} = dir($mirror);
-
- return $update_medium;
+ eval {
+ require pkgs;
+ my $update_medium = pkgs::psUsingHdlist($prefix, 'ftp', $packages, "hdlist-updates.cz", "1u", "RPMS",
+ #"Updates for Mandrake Linux $::VERSION", 1, getFile("base/hdlist.cz", $mirror)) and
+ "Updates for Mandrake Linux 8.1", 1, getFile("base/hdlist.cz", $mirror)) and
+ log::l("read updates hdlist");
+ #- keep in mind where is the URL prefix used according to mirror (for install_any::install_urpmi).
+ $update_medium->{prefix} = dir($mirror);
+
+ return $update_medium;
+ };
+ return; #- an exception occurred, so ignore it.
}
sub get {
diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm
index 14396d13d..3819e495d 100644
--- a/perl-install/install_steps.pm
+++ b/perl-install/install_steps.pm
@@ -435,13 +435,7 @@ Consoles 1,3,4,7 may also contain interesting information";
substInFile { s/^cdrom\n//; $_ .= "cdrom\n" if eof } "$msec/group.conf" if -d $msec;
substInFile { s/^cdwriter\n//; $_ .= "cdwriter\n" if eof } "$msec/group.conf" if -d $msec;
- my $pkg = pkgs::packageByName($o->{packages}, 'urpmi');
- if ($pkg && pkgs::packageSelectedOrInstalled($pkg)) {
- install_any::install_urpmi($o->{prefix},
- $::oem ? 'cdrom' : $o->{method}, #- HACK
- $o->{packages}{mediums});
- pkgs::saveCompssUsers($o->{prefix}, $o->{packages}, $o->{compssUsers}, $o->{compssUsersSorted});
- }
+ $o->install_urpmi;
# #- update language and icons for KDE.
# update_gnomekderc($_, 'Locale', Language => "") foreach list_skels($o->{prefix}, '.kderc');
@@ -525,6 +519,20 @@ sub copyKernelFromFloppy {
fs::umount("/floppy");
}
+sub install_urpmi {
+ my ($o) = @_;
+
+ my $pkg = pkgs::packageByName($o->{packages}, 'urpmi');
+ if ($pkg && pkgs::packageSelectedOrInstalled($pkg)) {
+ install_any::install_urpmi($o->{prefix},
+ $::oem ? 'cdrom' : $o->{method}, #- HACK
+ $o->{packages}{mediums});
+ pkgs::saveCompssUsers($o->{prefix}, $o->{packages}, $o->{compssUsers}, $o->{compssUsersSorted});
+ }
+
+
+}
+
sub updateModulesFromFloppy {
my ($o) = @_;
return if $::testing || !$o->{updatemodules};
@@ -595,8 +603,11 @@ sub installUpates {
upNetwork($o);
require crypto;
- my @crypto_packages = crypto::getPackages($o->{prefix}, $o->{packages}, $u->{mirror});
- $o->pkg_install(@{$u->{packages} || []});
+ crypto::getPackages($o->{prefix}, $o->{packages}, $u->{mirror}) and
+ $o->pkg_install(@{$u->{packages} || []});
+
+ #- re-install urpmi with update security medium.
+ $o->install_urpmi;
}
sub summary {
diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm
index bd1591d39..fa5e8cd43 100644
--- a/perl-install/install_steps_interactive.pm
+++ b/perl-install/install_steps_interactive.pm
@@ -920,8 +920,10 @@ Do you want to continue ?")) || return;
};
if ($update_medium) {
- $o->choosePackagesTree($o->{packages}, $update_medium);
- $o->pkg_install();
+ if ($o->choosePackagesTree($o->{packages}, $update_medium)) {
+ $o->pkg_install;
+ $o->install_urpmi;
+ }
}
#- stop interface using ppp only.
diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm
index 9110d403d..e8dd9fac2 100644
--- a/perl-install/pkgs.pm
+++ b/perl-install/pkgs.pm
@@ -417,7 +417,7 @@ sub psUsingHdlist {
log::l("trying to read $hdlist for medium $medium");
#- if the medium already exist, use it.
- $packages->{mediums}{$medium} and return;
+ $packages->{mediums}{$medium} and return $packages->{mediums}{$medium};
my $m = $packages->{mediums}{$medium} = { hdlist => $hdlist,
method => $method,