summaryrefslogtreecommitdiffstats
path: root/perl-install/install/media.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/install/media.pm')
-rw-r--r--perl-install/install/media.pm8
1 files changed, 6 insertions, 2 deletions
diff --git a/perl-install/install/media.pm b/perl-install/install/media.pm
index 5b7b906e5..143d6313a 100644
--- a/perl-install/install/media.pm
+++ b/perl-install/install/media.pm
@@ -37,6 +37,7 @@ use urpm::download;
#- selected
#- size (in MB)
#- start (first rpm id, undefined iff not selected)
+#- url (compatibility for urpm)
#- update (for install_urpmi)
@@ -471,7 +472,7 @@ sub _allow_copy_rpms_on_disk {
}
sub _parse_media_cfg {
- my ($cfg) = @_;
+ my ($cfg, $phys_medium) = @_;
require MDV::Distribconf;
my $d = MDV::Distribconf->new('', undef);
@@ -487,6 +488,7 @@ sub _parse_media_cfg {
rel_hdlist => 'media_info/' . $d->getvalue($_, 'hdlist'),
name => $name,
size => $size,
+ url => ($phys_medium->{real_mntpoint} ? "$phys_medium->{real_mntpoint}" : $phys_medium->{url} ) . "$phys_medium->{rel_path}/$_", # FIXME (hackish)
selected => !$d->getvalue($_, 'noauto'),
update => $d->getvalue($_, 'updates_for') ? 1 : undef,
};
@@ -608,7 +610,7 @@ sub get_media_cfg {
my ($distribconf, $hdlists);
if (getAndSaveFile_($phys_medium, 'media_info/media.cfg', '/tmp/media.cfg')) {
- ($distribconf, $hdlists) = _parse_media_cfg('/tmp/media.cfg');
+ ($distribconf, $hdlists) = _parse_media_cfg('/tmp/media.cfg', $phys_medium);
} else {
die "media.cfg not found";
}
@@ -894,6 +896,8 @@ sub install_urpmi {
unlink $medium->{pubkey};
}
+ mkdir_p("$::prefix/etc/urpmi");
+
my (@cfg, @netrc);
foreach my $medium (@media) {
if ($medium->{selected}) {