From 9de16b896af952c00c12e60751f7fb602a9f5a84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor=20Duarte=20Martins?= Date: Tue, 27 Jul 2010 22:12:55 +0000 Subject: * 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. --- mdkapplet | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'mdkapplet') diff --git a/mdkapplet b/mdkapplet index 0d39413a..8dee807c 100755 --- a/mdkapplet +++ b/mdkapplet @@ -289,6 +289,7 @@ Glib::Timeout->add_seconds($config{FIRST_CHECK_DELAY}/1000, sub { $SIG{USR1} = 'IGNORE'; $SIG{USR2} = 'IGNORE'; $SIG{CHLD} = \&harvester; +$SIG{HUP} = \&restart_applet; run_program::raw({ detach => 1 }, 'ionice', '-p', $$, '-n7'); @@ -433,6 +434,13 @@ sub harvester { return @pids; } +sub restart_applet { + local $SIG{CHLD} = 'DEFAULT'; + log::explanations(N("Received SIGHUP (probably an upgrade has finished), restarting applet.")); + { redo if wait() > 0 } + exec($0, '--auto-update'); +} + # FIXME: we can run many drakconnect when network is down: sub configNetwork() { log::explanations(N_("Launching drakconnect\n")); @@ -612,10 +620,10 @@ sub no_more_supported() { sub get_extended_maintenance() { - $mdv_update_pid = fork_exec('mdkapplet-extended-maintenance-helper', $product_id->{version}, - if_($::testing, '--testing'), - if_($download_all, "--download-all=$download_dir"), - if_($root, "--urpmi-root=$root")); + $mdv_update_pid = fork_exec('mdkapplet-add-media-helper', + if_($root, "--urpmi-root=$root"), + '--product=extended', + $product_id->{version}); } -- cgit v1.2.1