]> code.ossystems Code Review - openembedded-core.git/commitdiff
bluez5: enable sysvinit support
authorChristopher Larson <chris_larson@mentor.com>
Wed, 11 Nov 2015 04:24:58 +0000 (21:24 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 25 Nov 2015 08:07:54 +0000 (08:07 +0000)
This is from Shrikant Bobade <Shrikant_Bobade@mentor.com>.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-connectivity/bluez5/bluez5.inc
meta/recipes-connectivity/bluez5/bluez5/init [new file with mode: 0644]

index df42c88b9da3cd604c9eed9c429ba883d96705f3..13fd600296fecf1d228b2433f5b6755a151320b3 100644 (file)
@@ -18,10 +18,11 @@ PACKAGECONFIG[experimental] = "--enable-experimental,--disable-experimental,"
 
 SRC_URI = "\
     ${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
+    file://init \
 "
 S = "${WORKDIR}/bluez-${PV}"
 
-inherit autotools-brokensep pkgconfig systemd
+inherit autotools-brokensep pkgconfig systemd update-rc.d
 
 EXTRA_OECONF = "\
   --enable-tools \
@@ -42,6 +43,9 @@ NOINST_TOOLS = " \
 "
 
 do_install_append() {
+       install -d ${D}${INIT_D_DIR}
+       install -m 0755 ${WORKDIR}/init ${D}${INIT_D_DIR}/bluetooth
+
        install -d ${D}${sysconfdir}/bluetooth/
        if [ -f ${S}/profiles/audio/audio.conf ]; then
            install -m 0644 ${S}/profiles/audio/audio.conf ${D}/${sysconfdir}/bluetooth/
@@ -100,5 +104,7 @@ FILES_${PN}-dbg += "\
 RDEPENDS_${PN}-testtools += "python python-dbus python-pygobject"
 
 SYSTEMD_SERVICE_${PN} = "bluetooth.service"
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "bluetooth"
 
 EXCLUDE_FROM_WORLD = "1"
diff --git a/meta/recipes-connectivity/bluez5/bluez5/init b/meta/recipes-connectivity/bluez5/bluez5/init
new file mode 100644 (file)
index 0000000..1606a5c
--- /dev/null
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DESC=bluetooth
+
+DAEMON=/usr/lib/bluez5/bluetooth/bluetoothd
+
+# If you want to be ignore error of "org.freedesktop.hostname1",
+# please enable NOPLUGIN_OPTION.
+# NOPLUGIN_OPTION="--noplugin=hostname"
+NOPLUGIN_OPTION=""
+SSD_OPTIONS="--oknodo --quiet --exec $DAEMON -- $NOPLUGIN_OPTION"
+
+test -f $DAEMON || exit 0
+
+# FIXME: any of the sourced files may fail if/with syntax errors
+test -f /etc/default/bluetooth && . /etc/default/bluetooth
+test -f /etc/default/rcS && . /etc/default/rcS
+
+set -e
+
+case $1 in
+  start)
+       echo "Starting $DESC"
+
+       if test "$BLUETOOTH_ENABLED" = 0; then
+               echo "disabled. see /etc/default/bluetooth"
+               exit 0
+       fi
+
+       start-stop-daemon --start --background $SSD_OPTIONS
+       echo "${DAEMON##*/}"
+
+  ;;
+  stop)
+       echo "Stopping $DESC"
+       if test "$BLUETOOTH_ENABLED" = 0; then
+               echo "disabled."
+               exit 0
+       fi
+       start-stop-daemon --stop $SSD_OPTIONS
+       echo "${DAEMON}"
+  ;;
+  restart|force-reload)
+       $0 stop
+       sleep 1
+       $0 start
+  ;;
+  status)
+        pidof ${DAEMON} >/dev/null
+        status=$?
+        if [ $status -eq 0 ]; then
+                 echo "bluetooth is running."
+        else
+                echo "bluetooth is not running"
+        fi
+        exit $status
+   ;;
+   *)
+       N=/etc/init.d/bluetooth
+       echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
+       exit 1
+       ;;
+esac
+
+exit 0
+
+# vim:noet