Commit 7f1def69 authored by Petr Vorel's avatar Petr Vorel Committed by Thomas Petazzoni
Browse files

package/modem-manager: init script for systemV-like init systems

ModemManager get started by NetworkManager, in case of systemd init
system. In case of other systems it needs to be started by init script.

Debian [1] solved it by detection in code. For Buildroot it's IMHO
enough to install init script for systemV-like init systems.

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=770871



[Thomas:
 - slightly simplify the script by removing the MODEMMANAGER_BIN
   variable which was used at only one place, and use directly $?
   instead of an intermediate $ret variable.
 - split the too long line added in the .mk file.]

Signed-off-by: default avatarPetr Vorel <petr.vorel@gmail.com>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 7de0ff0e
Loading
Loading
Loading
Loading
+42 −0
Original line number Diff line number Diff line
#!/bin/sh
#
# Starts ModemManager
#

PIDFILE=/var/run/ModemManager.pid

[ -x $MODEMMANAGER_BIN ] || exit 0

start() {
	echo -n "Starting ModemManager: "
	umask 077
	start-stop-daemon -S -q -b -m -p $PIDFILE \
		--exec /usr/sbin/ModemManager
	[ $? = 0 ] && echo "OK" || echo "FAIL"
}
stop() {
	echo -n "Stopping ModemManager: "
	start-stop-daemon -K -q -p $PIDFILE
	[ $? = 0 ] && { echo "OK"; rm -f $PIDFILE; } || echo "FAIL"
}
restart() {
	stop
	start
}

case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	restart|reload)
		restart
		;;
	*)
		echo "Usage: $0 {start|stop|restart}"
		exit 1
esac

exit $ret
+5 −0
Original line number Diff line number Diff line
@@ -26,4 +26,9 @@ else
MODEM_MANAGER_CONF_OPTS += --without-mbim
endif

define MODEM_MANAGER_INSTALL_INIT_SYSV
	$(INSTALL) -m 0755 -D package/modem-manager/S44modem-manager \
		$(TARGET_DIR)/etc/init.d/S44modem-manager
endef

$(eval $(autotools-package))