aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2007-07-03 13:51:33 +0000
committerThierry Vignaud <tv@mandriva.org>2007-07-03 13:51:33 +0000
commit497b9422ac9ceab83f7c74fae177896dac0c49d9 (patch)
treefad998e3c67108eef8a094dde8405ac98116f05d
parent61e3eb2e53901b6aedeb2a0b3855cf3376954a09 (diff)
downloadrpmdrake-497b9422ac9ceab83f7c74fae177896dac0c49d9.tar
rpmdrake-497b9422ac9ceab83f7c74fae177896dac0c49d9.tar.gz
rpmdrake-497b9422ac9ceab83f7c74fae177896dac0c49d9.tar.bz2
rpmdrake-497b9422ac9ceab83f7c74fae177896dac0c49d9.tar.xz
rpmdrake-497b9422ac9ceab83f7c74fae177896dac0c49d9.zip
(perform_installation) Gtk2::GUI_Update_Guard->new use of alarm() kill
us when running system(), thus making DVD being ejected and printing wrong error messages (#30463)
-rwxr-xr-xRpmdrake/pkg.pm25
1 files changed, 17 insertions, 8 deletions
diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm
index 955e4103..3613139c 100755
--- a/Rpmdrake/pkg.pm
+++ b/Rpmdrake/pkg.pm
@@ -543,16 +543,25 @@ sub perform_installation { #- (partially) duplicated from /usr/sbin/urpmi :-(
my %sources = %$local_sources;
my %error_sources;
- urpm::removable::copy_packages_of_removable_media($urpm,
+ {
+ # Gtk2::GUI_Update_Guard->new use of alarm() kill us when
+ # running system(), thus making DVD being ejected and printing
+ # wrong error messages (#30463)
+
+ local $SIG{ALRM} = sub { die "ALARM" };
+ my $remaining = alarm(0);
+ urpm::removable::copy_packages_of_removable_media($urpm,
$list, \%sources,
sub {
- interactive_msg(
- N("Change medium"),
- N("Please insert the medium named \"%s\" on device [%s]", $_[0], $_[1]),
- yesno => 1, text => { no => N("Cancel"), yes => N("Ok") },
- );
- },
- );
+ interactive_msg(
+ N("Change medium"),
+ N("Please insert the medium named \"%s\" on device [%s]", $_[0], $_[1]),
+ yesno => 1, text => { no => N("Cancel"), yes => N("Ok") },
+ );
+ },
+ );
+ alarm $remaining;
+ }
urpm::install::create_transaction($urpm, $state,
nodeps => $urpm->{options}{'allow-nodeps'} || $urpm->{options}{'allow-force'},