* [gentoo-commits] gentoo-x86 commit in net-misc/networkmanager/files: networkmanager-0.9.2.0-init-provide-net.patch 10-openrc-status
@ 2012-02-02 0:34 Alexandre Rostovtsev (tetromino)
0 siblings, 0 replies; only message in thread
From: Alexandre Rostovtsev (tetromino) @ 2012-02-02 0:34 UTC (permalink / raw
To: gentoo-commits
tetromino 12/02/02 00:34:59
Added: networkmanager-0.9.2.0-init-provide-net.patch
10-openrc-status
Log:
Change the NetworkManager OpenRC service to provide net; the service's status is set to 'inactive' when NetworkManager is running but has no connections up, and to 'started' when NetworkManager is connected (bug #252137, thanks to Xake). Do not keepdir /var/run/NetworkManager, it's not needed in Gentoo (bug #401019, thanks to Maxim Kammerer). Correctly parse single-quoted hostnames in /etc/conf.d/hostname.
(Portage version: 2.2.0_alpha84/cvs/Linux x86_64)
Revision Changes Path
1.1 net-misc/networkmanager/files/networkmanager-0.9.2.0-init-provide-net.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/networkmanager/files/networkmanager-0.9.2.0-init-provide-net.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/networkmanager/files/networkmanager-0.9.2.0-init-provide-net.patch?rev=1.1&content-type=text/plain
Index: networkmanager-0.9.2.0-init-provide-net.patch
===================================================================
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
1.1 net-misc/networkmanager/files/10-openrc-status
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/networkmanager/files/10-openrc-status?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/networkmanager/files/10-openrc-status?rev=1.1&content-type=text/plain
Index: 10-openrc-status
===================================================================
#!/bin/sh
# Copyright (c) 2012 Alexandre Rostovtsev
# Released under the 2-clause BSD license.
# Ensures that the NetworkManager OpenRC service is marked as started and
# providing net only when it has a successful connection.
# Exit if no valid interface name given
if [ -z "$1" -o "x$1" = "xnone" ]; then
exit
fi
# Ensure rc-service is in PATH
PATH="${PATH}:@EPREFIX@/sbin:@EPREFIX@/usr/sbin"
# Exit if the NetworkManager OpenRC service is not running
rc-service NetworkManager status 2>&1 | grep -Eq "status: (starting|started|inactive|stopping)" || exit 0
# Call rc-service in background mode so that the start/stop functions update
# NetworkManager service status to started or inactive instead of actually
# starting or stopping the daemon
export IN_BACKGROUND=YES
case "$2" in
up|vpn-up) exec rc-service NetworkManager start ;;
down|vpn-down) exec rc-service NetworkManager stop ;;
esac
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-02-02 0:35 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-02 0:34 [gentoo-commits] gentoo-x86 commit in net-misc/networkmanager/files: networkmanager-0.9.2.0-init-provide-net.patch 10-openrc-status Alexandre Rostovtsev (tetromino)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox