mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-17 14:49:30 -07:00
net-misc/networkmanager: Port init script to elogind
Closes: https://bugs.gentoo.org/734028 Signed-off-by: Pacho Ramos <pacho@gentoo.org>
This commit is contained in:
62
net-misc/networkmanager/files/init.d.NetworkManager-r3
Normal file
62
net-misc/networkmanager/files/init.d.NetworkManager-r3
Normal file
@@ -0,0 +1,62 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright (c) 2008 Saleem Abdulrasool <compnerd@compnerd.org>
|
||||
# Copyright 2013-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
description="NetworkManager daemon. The service is marked as started only \
|
||||
when a network connection is established."
|
||||
|
||||
depend() {
|
||||
need dbus
|
||||
use elogind
|
||||
provide net
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
checkpath -q -d -m 0755 /run/NetworkManager
|
||||
}
|
||||
|
||||
start() {
|
||||
# If we are re-called by a dispatcher event, we want to mark the service
|
||||
# as started without starting the daemon again
|
||||
yesno "${IN_BACKGROUND}" && return 0
|
||||
|
||||
[ -z "${INACTIVE_TIMEOUT}" ] && INACTIVE_TIMEOUT="1"
|
||||
|
||||
ebegin "Starting NetworkManager"
|
||||
start-stop-daemon --start --quiet --pidfile /run/NetworkManager/NetworkManager.pid \
|
||||
--exec /usr/sbin/NetworkManager -- --pid-file /run/NetworkManager/NetworkManager.pid
|
||||
local _retval=$?
|
||||
eend "${_retval}"
|
||||
if [ "x${_retval}" = 'x0' ] && ! nm-online -t "${INACTIVE_TIMEOUT}"; then
|
||||
einfo "Marking NetworkManager as inactive. It will automatically be marked"
|
||||
einfo "as started after a network connection has been established."
|
||||
mark_service_inactive
|
||||
fi
|
||||
return "${_retval}"
|
||||
}
|
||||
|
||||
stop() {
|
||||
# If we are re-called by a dispatcher event, we want to mark the service
|
||||
# as inactive without stopping the daemon
|
||||
if yesno "${IN_BACKGROUND}"; then
|
||||
mark_service_inactive "${SVCNAME}"
|
||||
return 0
|
||||
fi
|
||||
|
||||
ebegin "Stopping NetworkManager"
|
||||
local pidfile=/run/NetworkManager/NetworkManager.pid
|
||||
if [ ! -e "${pidfile}" ] && [ -e /var/run/NetworkManager.pid ]; then
|
||||
# Try stopping the pid file used by <0.9.7
|
||||
pidfile=/var/run/NetworkManager.pid
|
||||
start-stop-daemon --stop --quiet --pidfile "${pidfile}"
|
||||
ret=$?
|
||||
[ ${ret} = 0 ] && [ -e "${pidfile}" ] && rm "${pidfile}"
|
||||
eend ${ret}
|
||||
else
|
||||
start-stop-daemon --stop --quiet --pidfile "${pidfile}"
|
||||
eend $?
|
||||
fi
|
||||
}
|
||||
|
||||
# vim: set ft=gentoo-init-d ts=4 :
|
||||
@@ -311,7 +311,7 @@ multilib_src_install() {
|
||||
multilib_src_install_all() {
|
||||
! use systemd && readme.gentoo_create_doc
|
||||
|
||||
newinitd "${FILESDIR}/init.d.NetworkManager-r2" NetworkManager
|
||||
newinitd "${FILESDIR}/init.d.NetworkManager-r3" NetworkManager
|
||||
newconfd "${FILESDIR}/conf.d.NetworkManager" NetworkManager
|
||||
|
||||
# Need to keep the /etc/NetworkManager/dispatched.d for dispatcher scripts
|
||||
|
||||
Reference in New Issue
Block a user