aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Rpmdrake/pkg.pm7
1 files changed, 5 insertions, 2 deletions
diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm
index 9808974d..47dc55cf 100644
--- a/Rpmdrake/pkg.pm
+++ b/Rpmdrake/pkg.pm
@@ -107,13 +107,16 @@ sub extract_header {
changelog => $chg_prepro->(to_utf8(scalar(run_rpm("rpm -q --changelog $name")))) });
} else {
my $medium = pkg2medium($p, $urpm);
- my ($local_source, %xml_info_pkgs);
+ my ($local_source, %xml_info_pkgs, $bar_id);
+ my $_statusbar_clean_guard = before_leaving { $bar_id and statusbar_msg_remove($bar_id) };
if (my $dir = urpm::file_from_local_url($medium->{url})) {
$local_source = "$dir/" . $p->filename;
$urpm->{log}("getting information from rpms from $dir");
} else {
- my $gurpm = Rpmdrake::gurpm->new(N("Please wait"), transient => $::main_window);
+ my $gurpm;
+ $bar_id = statusbar_msg(N("Getting '%s' from XML meta-data...", $xml_info), 0);
if (my $xml_info_file = urpm::media::any_xml_info($urpm, $medium, $xml_info, undef, sub {
+ $urpm ||= Rpmdrake::gurpm->new(N("Please wait"), transient => $::main_window);
download_callback($gurpm, @_)
or goto header_non_available;
})) {