Files
sablink-distro/net-misc/networkmanager/files/networkmanager-0.9.2.0-init-provide-net.patch
T

62 lines
1.9 KiB
Diff

From dbb1ed70eca25d57da3c12534c241cd38134627b Mon Sep 17 00:00:00 2001
From: Alexandre Rostovtsev <tetromino@gentoo.org>
Date: Wed, 1 Feb 2012 05:51:20 -0500
Subject: [PATCH] gentoo: provide net and use inactive status when not
connected
The status will be reset to started via a dispatcher script on up/down
events. See https://bugs.gentoo.org/show_bug.cgi?id=252137
---
initscript/Gentoo/NetworkManager.in | 24 +++++++++++++++++++++++-
1 files changed, 23 insertions(+), 1 deletions(-)
diff --git a/initscript/Gentoo/NetworkManager.in b/initscript/Gentoo/NetworkManager.in
index 7db410b..d26996d 100755
--- a/initscript/Gentoo/NetworkManager.in
+++ b/initscript/Gentoo/NetworkManager.in
@@ -3,18 +3,40 @@
# Distributed under the terms of the GNU General Purpose License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/files/networkmanager-0.9.2.0-init-provide-net.patch,v 1.1 2012/02/02 00:34:59 tetromino Exp $
+description="NetworkManager daemon. The service is marked as started only \
+when a network connection is established."
+
depend() {
need dbus
+ provide net
+}
+
+_is_connected() {
+ [ "x$(LC_ALL=C nmcli -t -f state nm 2> /dev/null)" = "xconnected" ]
+ return $?
}
start() {
+ if yesno "${IN_BACKGROUND}"; then
+ _is_connected && mark_service_started
+ return
+ fi
ebegin "Starting NetworkManager"
start-stop-daemon --start --quiet --pidfile /var/run/NetworkManager.pid \
--exec /usr/sbin/NetworkManager -- --pid-file /var/run/NetworkManager.pid
- eend $?
+ local _retval=$?
+ eend "${_retval}"
+ if [ "x${_retval}" = 'x0' ]; then
+ _is_connected || mark_service_inactive
+ fi
+ return "${_retval}"
}
stop() {
+ if yesno "${IN_BACKGROUND}"; then
+ _is_connected || mark_service_inactive
+ return
+ fi
ebegin "Stopping NetworkManager"
start-stop-daemon --stop --quiet --pidfile /var/run/NetworkManager.pid
eend $?
--
1.7.8.4