diff options
author | João Victor Duarte Martins <jvictor@mandriva.com> | 2010-07-27 22:12:55 +0000 |
---|---|---|
committer | João Victor Duarte Martins <jvictor@mandriva.com> | 2010-07-27 22:12:55 +0000 |
commit | 9de16b896af952c00c12e60751f7fb602a9f5a84 (patch) | |
tree | 63dc419aff900535bf6b91dc8c950a1699d11872 /mdkapplet-upgrade-helper | |
parent | 95131d42ad6fc221a36f22d002b1b36601c0b2ec (diff) | |
download | mgaonline-9de16b896af952c00c12e60751f7fb602a9f5a84.tar mgaonline-9de16b896af952c00c12e60751f7fb602a9f5a84.tar.gz mgaonline-9de16b896af952c00c12e60751f7fb602a9f5a84.tar.bz2 mgaonline-9de16b896af952c00c12e60751f7fb602a9f5a84.tar.xz mgaonline-9de16b896af952c00c12e60751f7fb602a9f5a84.zip |
* mdkapplet-upgrade-helper (run_gurpmi): create windows before upgrade
(fix #59025); send SIGHUP to mdkapplet so it will restarts (fix
#59481).
* mdkapplet (get_extended_maintenance): updated to
mdkapplet-add-media-helper. (restart_applet): restart handler to
SIGHUP.
Diffstat (limited to 'mdkapplet-upgrade-helper')
-rwxr-xr-x | mdkapplet-upgrade-helper | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mdkapplet-upgrade-helper b/mdkapplet-upgrade-helper index a40a2885..0231051a 100755 --- a/mdkapplet-upgrade-helper +++ b/mdkapplet-upgrade-helper @@ -90,8 +90,11 @@ sub run_gurpmi() { my @initial_args = ('--replacefiles', '--clean'); push @initial_args, "--download-all=$download_dir" if $download_dir; + # Windows are created before upgrading packages, to guarantee that + # any possible related GTK upgrade won't affect us... my $succeeded_win = create_upgrade_succeeded_window(); my $failed_win = create_upgrade_failed_window(); + while ($refork_gurpmi) { my $ok = fork_gurpmi(@initial_args); @@ -110,6 +113,8 @@ sub run_gurpmi() { } else { rm_rf(get_stale_upgrade_filename()); $succeeded_win->main && !$::testing && any::reboot(); + my $mdkapp_pid = common::is_running('mdkapplet'); + defined($mdkapp_pid) && kill('HUP', $mdkapp_pid); } } } @@ -123,7 +128,7 @@ my @common = ( width => $width - 50, ); -sub get_upgrade_failed_window() { +sub create_upgrade_failed_window() { local $mygtk2::left_padding = 0; my $w = ugtk2->new(N("Error")); gtkadd($w->{window}, @@ -138,7 +143,7 @@ sub get_upgrade_failed_window() { return $w; } -sub get_upgrade_succeeded_window() { +sub create_upgrade_succeeded_window() { local $mygtk2::left_padding = 0; my $w = ugtk2->new(N("Congratulations")); gtkadd($w->{window}, |