Files
buildroot/package/network-manager/S45NetworkManager
Fiona Klute (WIWA) b0a0c25e62 package/network-manager: rewrite init script
This brings the NetworkManager init script in line with the standard
Buildroot init script pattern, including the script name.

Reload using SIGHUP is also supported now, note that the
NetworkManager documentation cautions that not all parameters can be
changed at runtime (without a full restart).

Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-14 19:31:58 +02:00

69 lines
1.3 KiB
Bash

#!/bin/sh
DAEMON="NetworkManager"
PIDFILE="/var/run/$DAEMON.pid"
# shellcheck source=/dev/null
test -r "/etc/default/$DAEMON" && . "/etc/default/$DAEMON"
start() {
printf 'Starting %s: ' "$DAEMON"
[ ! -d "/var/run/$DAEMON" ] && install -d "/var/run/$DAEMON"
# shellcheck disable=SC2086 # we need the word splitting
start-stop-daemon --start --pidfile "$PIDFILE" \
--exec "/usr/sbin/$DAEMON" \
-- --pid-file="$PIDFILE" $NETWORKMANAGER_ARGS
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
stop() {
printf 'Stopping %s: ' "$DAEMON"
start-stop-daemon --stop --pidfile "$PIDFILE" \
--exec "/usr/sbin/$DAEMON"
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
return "$status"
fi
# NetworkManager deletes its PID file on exit, wait for it to
# be gone
while [ -f "$PIDFILE" ]; do
sleep 0.1
done
return "$status"
}
restart() {
stop
start
}
reload() {
printf 'Reloading %s config: ' "$DAEMON"
start-stop-daemon --stop --signal HUP -q --pidfile "$PIDFILE" \
--exec "/usr/sbin/$DAEMON"
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
case "$1" in
start|stop|restart|reload)
"$1";;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac