diff options
author | Derek Jennings <djennings@mageia.org> | 2013-07-20 20:39:34 +0000 |
---|---|---|
committer | Colin Guthrie <colin@mageia.org> | 2013-08-24 18:40:32 +0100 |
commit | b23ecf09334de48937af46cc621471257b2d5985 (patch) | |
tree | e6fbb4ed9d4d0673c307ac982313d442b8698381 | |
parent | 7feea8b8b5270e569f17b61966753fa41db33eb7 (diff) | |
download | drakx-net-b23ecf09334de48937af46cc621471257b2d5985.tar drakx-net-b23ecf09334de48937af46cc621471257b2d5985.tar.gz drakx-net-b23ecf09334de48937af46cc621471257b2d5985.tar.bz2 drakx-net-b23ecf09334de48937af46cc621471257b2d5985.tar.xz drakx-net-b23ecf09334de48937af46cc621471257b2d5985.zip |
install net_monitor package on demand (mga#157)
-rw-r--r-- | NEWS | 1 | ||||
-rwxr-xr-x | bin/net_applet | 5 | ||||
-rw-r--r-- | lib/network/connection_manager.pm | 1 |
3 files changed, 7 insertions, 0 deletions
@@ -1,4 +1,5 @@ - net_applet: fix error dialog title after selecting a wireless network +- install net_monitor package on demand (mga#157) 1.24: - connection manager: extract gtk2 specific code in separate module diff --git a/bin/net_applet b/bin/net_applet index b4d5ec1..a722c28 100755 --- a/bin/net_applet +++ b/bin/net_applet @@ -15,6 +15,7 @@ use network::connection; use network::connection::ethernet; use network::vpn; use run_program; +use do_pkgs; use mygtk2 qw(gtknew gtkset); use dbus_object; use network::monitor; @@ -315,6 +316,10 @@ sub shouldStart() { return getAutoStart(); } sub run_net_monitor() { + my $in = 'do_pkgs'; + # stop reaping child processes or else gurpmi segfaults + local $SIG{CHLD} = "DEFAULT"; + $in->do_pkgs->install('net_monitor'); run_program::raw({ detach => 1 }, '/usr/bin/net_monitor', '--defaultintf', $current_interface) unless is_running('net_monitor'); } sub run_netcenter() { diff --git a/lib/network/connection_manager.pm b/lib/network/connection_manager.pm index 9e76868..6096c13 100644 --- a/lib/network/connection_manager.pm +++ b/lib/network/connection_manager.pm @@ -222,6 +222,7 @@ sub stop_connection { sub monitor_connection { my ($cmanager) = @_; my $interface = $cmanager->{connection} && $cmanager->{connection}->get_interface or return; + $cmanager->{in}->do_pkgs->install('net_monitor'); run_program::raw({ detach => 1 }, '/usr/bin/net_monitor', '--defaultintf', $interface); } |