1 |
commit: 71df601aff9104f71a0e0a2460bb4d9d69be1c66 |
2 |
Author: Jory Pratt <anarchy <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Apr 30 16:38:43 2020 +0000 |
4 |
Commit: Jory Pratt <anarchy <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Apr 30 16:38:43 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=71df601a |
7 |
|
8 |
net-misc/networkmanager: add missing files |
9 |
|
10 |
Fixes: 7090fcd34877abca9b315684c949fbde160fabc8 |
11 |
Package-Manager: Portage-2.3.89, Repoman-2.3.20 |
12 |
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org> |
13 |
|
14 |
...top.NetworkManager.settings.modify.system.rules | 7 +++ |
15 |
net-misc/networkmanager/files/10-openrc-status-r4 | 35 +++++++++++++ |
16 |
.../networkmanager/files/conf.d.NetworkManager | 4 ++ |
17 |
.../networkmanager/files/init.d.NetworkManager-r1 | 58 ++++++++++++++++++++++ |
18 |
4 files changed, 104 insertions(+) |
19 |
|
20 |
diff --git a/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules b/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules |
21 |
new file mode 100644 |
22 |
index 0000000..d00b268 |
23 |
--- /dev/null |
24 |
+++ b/net-misc/networkmanager/files/01-org.freedesktop.NetworkManager.settings.modify.system.rules |
25 |
@@ -0,0 +1,7 @@ |
26 |
+// Let users in plugdev group modify NetworkManager |
27 |
+polkit.addRule(function(action, subject) { |
28 |
+ if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" && |
29 |
+ subject.isInGroup("plugdev") && subject.active) { |
30 |
+ return "yes"; |
31 |
+ } |
32 |
+}); |
33 |
|
34 |
diff --git a/net-misc/networkmanager/files/10-openrc-status-r4 b/net-misc/networkmanager/files/10-openrc-status-r4 |
35 |
new file mode 100644 |
36 |
index 0000000..e195ccc |
37 |
--- /dev/null |
38 |
+++ b/net-misc/networkmanager/files/10-openrc-status-r4 |
39 |
@@ -0,0 +1,35 @@ |
40 |
+#!/bin/sh |
41 |
+# Copyright (c) 2012 Alexandre Rostovtsev |
42 |
+# Released under the 2-clause BSD license. |
43 |
+ |
44 |
+# Ensures that the NetworkManager OpenRC service is marked as started and |
45 |
+# providing net only when it has a successful connection. |
46 |
+ |
47 |
+if [ ! -e "/run/openrc/softlevel" ]; then |
48 |
+ # OpenRC is not running |
49 |
+ exit 0 |
50 |
+fi |
51 |
+ |
52 |
+# Ensure rc-service is in PATH |
53 |
+PATH="${PATH}:@EPREFIX@/sbin:@EPREFIX@/usr/sbin" |
54 |
+ |
55 |
+# Exit if the NetworkManager OpenRC service is not running |
56 |
+rc-service NetworkManager status 2>&1 | grep -Eq "status: (starting|started|inactive|stopping)" || exit 0 |
57 |
+ |
58 |
+# Call rc-service in background mode so that the start/stop functions update |
59 |
+# NetworkManager service status to started or inactive instead of actually |
60 |
+# starting or stopping the daemon |
61 |
+export IN_BACKGROUND=YES |
62 |
+ |
63 |
+case "$2" in |
64 |
+ up) nm-online -t 0 -x && |
65 |
+ ! rc-service NetworkManager status 2>&1 | grep -q started && |
66 |
+ exec rc-service NetworkManager start ;; |
67 |
+ down) nm-online -t 0 -x || |
68 |
+ rc-service NetworkManager status 2>&1 | grep -q stopped || |
69 |
+ exec rc-service NetworkManager stop ;; |
70 |
+ pre-sleep) rc-service NetworkManager status 2>&1 | grep -q stopped || |
71 |
+ exec rc-service NetworkManager stop ;; |
72 |
+esac |
73 |
+exit 0 |
74 |
+# vim: set ts=4: |
75 |
|
76 |
diff --git a/net-misc/networkmanager/files/conf.d.NetworkManager b/net-misc/networkmanager/files/conf.d.NetworkManager |
77 |
new file mode 100644 |
78 |
index 0000000..4a99229 |
79 |
--- /dev/null |
80 |
+++ b/net-misc/networkmanager/files/conf.d.NetworkManager |
81 |
@@ -0,0 +1,4 @@ |
82 |
+# If NetworkManager does not establish a connection within $INACTIVE_TIMEOUT |
83 |
+# seconds after starting, the service will be marked as inactive, and it will |
84 |
+# continue to wait for a connection in background mode. |
85 |
+INACTIVE_TIMEOUT=1 |
86 |
|
87 |
diff --git a/net-misc/networkmanager/files/init.d.NetworkManager-r1 b/net-misc/networkmanager/files/init.d.NetworkManager-r1 |
88 |
new file mode 100644 |
89 |
index 0000000..fad772d |
90 |
--- /dev/null |
91 |
+++ b/net-misc/networkmanager/files/init.d.NetworkManager-r1 |
92 |
@@ -0,0 +1,58 @@ |
93 |
+#!/sbin/openrc-run |
94 |
+# Copyright (c) 2008 Saleem Abdulrasool <compnerd@××××××××.org> |
95 |
+# Copyright 2013-2020 Gentoo Authors |
96 |
+# Distributed under the terms of the GNU General Public License v2 |
97 |
+ |
98 |
+description="NetworkManager daemon. The service is marked as started only \ |
99 |
+when a network connection is established." |
100 |
+ |
101 |
+depend() { |
102 |
+ need dbus |
103 |
+ use consolekit |
104 |
+ provide net |
105 |
+} |
106 |
+ |
107 |
+start() { |
108 |
+ # If we are re-called by a dispatcher event, we want to mark the service |
109 |
+ # as started without starting the daemon again |
110 |
+ yesno "${IN_BACKGROUND}" && return 0 |
111 |
+ |
112 |
+ [ -z "${INACTIVE_TIMEOUT}" ] && INACTIVE_TIMEOUT="1" |
113 |
+ |
114 |
+ ebegin "Starting NetworkManager" |
115 |
+ start-stop-daemon --start --quiet --pidfile /run/NetworkManager/NetworkManager.pid \ |
116 |
+ --exec /usr/sbin/NetworkManager -- --pid-file /run/NetworkManager/NetworkManager.pid |
117 |
+ local _retval=$? |
118 |
+ eend "${_retval}" |
119 |
+ if [ "x${_retval}" = 'x0' ] && ! nm-online -t "${INACTIVE_TIMEOUT}"; then |
120 |
+ einfo "Marking NetworkManager as inactive. It will automatically be marked" |
121 |
+ einfo "as started after a network connection has been established." |
122 |
+ mark_service_inactive |
123 |
+ fi |
124 |
+ return "${_retval}" |
125 |
+} |
126 |
+ |
127 |
+stop() { |
128 |
+ # If we are re-called by a dispatcher event, we want to mark the service |
129 |
+ # as inactive without stopping the daemon |
130 |
+ if yesno "${IN_BACKGROUND}"; then |
131 |
+ mark_service_inactive "${SVCNAME}" |
132 |
+ return 0 |
133 |
+ fi |
134 |
+ |
135 |
+ ebegin "Stopping NetworkManager" |
136 |
+ local pidfile=/run/NetworkManager/NetworkManager.pid |
137 |
+ if [ ! -e "${pidfile}" ] && [ -e /var/run/NetworkManager.pid ]; then |
138 |
+ # Try stopping the pid file used by <0.9.7 |
139 |
+ pidfile=/var/run/NetworkManager.pid |
140 |
+ start-stop-daemon --stop --quiet --pidfile "${pidfile}" |
141 |
+ ret=$? |
142 |
+ [ ${ret} = 0 ] && [ -e "${pidfile}" ] && rm "${pidfile}" |
143 |
+ eend ${ret} |
144 |
+ else |
145 |
+ start-stop-daemon --stop --quiet --pidfile "${pidfile}" |
146 |
+ eend $? |
147 |
+ fi |
148 |
+} |
149 |
+ |
150 |
+# vim: set ft=gentoo-init-d ts=4 : |