summaryrefslogtreecommitdiffstats
path: root/urpmf
diff options
context:
space:
mode:
Diffstat (limited to 'urpmf')
-rwxr-xr-xurpmf9
1 files changed, 7 insertions, 2 deletions
diff --git a/urpmf b/urpmf
index e4e6b815..0132355e 100755
--- a/urpmf
+++ b/urpmf
@@ -300,8 +300,13 @@ if ($needed_media_info{hdlist}) {
}
} elsif (my ($xml_info) = @needed_xml_info) {
foreach $medium (grep { !$_->{ignore} } @{$urpm->{media}}) {
- my $xml_info_file = urpm::media::any_xml_info($urpm, $medium, $xml_info, $options{verbose} < 0) or
- $urpm->{error}(N("no xml-info available for medium \"%s\"", $medium->{name})), next;
+ my $xml_info_file = urpm::media::any_xml_info($urpm, $medium, $xml_info, $options{verbose} < 0);
+ if (!$xml_info_file) {
+ my $hdlist = urpm::media::any_hdlist($urpm, $medium, $options{verbose} < 0) or
+ $urpm->{error}(N("no xml-info available for medium \"%s\"", $medium->{name})), next;
+ $urpm->{log}("getting information from $hdlist");
+ $urpm->parse_hdlist($hdlist, callback => $callback);
+ }
require urpm::xml_info;
require urpm::xml_info_pkg;