From 0027df7f53a01b889d11d3a8ebbcb7b27c0369ee Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Sat, 28 Sep 2019 19:43:16 -0300 Subject: networkmanager: Add sysvinit support Signed-off-by: Otavio Salvador Signed-off-by: Khem Raj --- .../networkmanager/networkmanager.initd | 110 +++++++++++++++++++++ .../networkmanager/networkmanager_1.18.2.bb | 6 +- 2 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd (limited to 'meta-networking') diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd b/meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd new file mode 100644 index 0000000000..4fdd80d410 --- /dev/null +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager/networkmanager.initd @@ -0,0 +1,110 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: network-manager +# Required-Start: $remote_fs dbus udev +# Required-Stop: $remote_fs dbus udev +# Should-Start: $syslog +# Should-Stop: $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: network connection manager +# Description: Daemon for automatically switching network +# connections to the best available connection. +### END INIT INFO + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DESC="network connection manager" +NAME="NetworkManager" + +DAEMON=/usr/sbin/$NAME + +PIDFILE=/run/$NAME/$NAME.pid + +SCRIPTNAME=/etc/init.d/network-manager + +. /etc/init.d/functions || exit 1 + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +log_daemon_msg() { + echo -n $* +} + +log_end_msg() { + if [ $1 -eq 0 ]; then + success + else + failure + fi + echo +} + +log_progress_msg () { + if [ -z "${1:-}" ]; then + return 1 + fi + echo -n " $@" +} + +# +# Function that starts the daemon/service. +# +d_start() { + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- $DAEMON_OPTS +} + +# +# Function that stops the daemon/service. +# +d_stop() { + start-stop-daemon --stop --retry 5 --quiet --pidfile $PIDFILE \ + --exec $DAEMON +} + +d_reload() { + start-stop-daemon --stop --signal HUP --quiet --pidfile $PIDFILE \ + --exec $DAEMON +} + +case "$1" in + start) + log_daemon_msg "Starting $DESC" "$NAME" + d_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_progress_msg "already started" + log_end_msg 0 ;; + *) log_end_msg 1 ;; + esac + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + d_stop + case "$?" in + 0) log_end_msg 0 ;; + 1) log_progress_msg "already stopped" + log_end_msg 0 ;; + *) log_end_msg 1 ;; + esac + ;; + reload|force-reload) + log_daemon_msg "Reloading $DESC" "$NAME" + d_reload + log_end_msg $? + ;; + restart) + $0 stop + $0 start + ;; + status) + status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.2.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.2.bb index 3c220ec777..db69a5e77c 100644 --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.2.bb +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.18.2.bb @@ -19,10 +19,11 @@ DEPENDS = " \ curl \ " -inherit gnomebase gettext systemd bash-completion vala gobject-introspection gtk-doc update-alternatives +inherit gnomebase gettext update-rc.d systemd bash-completion vala gobject-introspection gtk-doc update-alternatives SRC_URI = " \ ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ + file://${BPN}.initd \ file://0001-Fixed-configure.ac-Fix-pkgconfig-sysroot-locations.patch \ file://0002-Do-not-create-settings-settings-property-documentati.patch \ " @@ -130,6 +131,7 @@ FILES_${PN}-nmtui-doc = " \ ${mandir}/man1/nmtui* \ " +INITSCRIPT_NAME = "network-manager" SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'NetworkManager.service NetworkManager-dispatcher.service', '', d)}" ALTERNATIVE_PRIORITY = "100" @@ -138,6 +140,8 @@ ALTERNATIVE_TARGET[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','syste ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${sysconfdir}/resolv.conf','',d)}" do_install_append() { + install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/network-manager + rm -rf ${D}/run ${D}${localstatedir}/run # For read-only filesystem, do not create links during bootup -- cgit v1.2.3-54-g00ecf