Add a systemd unit file, and respect the sysvinit feature when installing the
init script.

(thanks to Jukka Rissanen for the unit file)

Signed-off-by: Ross Burton <[email protected]>
---
 .../neard/neard/neard.service.in                   |   13 +++++++++
 meta/recipes-connectivity/neard/neard_0.9.bb       |   28 +++++++++++++-------
 2 files changed, 31 insertions(+), 10 deletions(-)
 create mode 100644 meta/recipes-connectivity/neard/neard/neard.service.in

diff --git a/meta/recipes-connectivity/neard/neard/neard.service.in 
b/meta/recipes-connectivity/neard/neard/neard.service.in
new file mode 100644
index 0000000..90e5302
--- /dev/null
+++ b/meta/recipes-connectivity/neard/neard/neard.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=NFC service
+After=syslog.target
+
+[Service]
+Type=dbus
+BusName=org.neard
+Restart=on-failure
+ExecStart=@installpath@/neard -n
+StandardOutput=null
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta/recipes-connectivity/neard/neard_0.9.bb 
b/meta/recipes-connectivity/neard/neard_0.9.bb
index 2c4acb3..dc43f7e 100644
--- a/meta/recipes-connectivity/neard/neard_0.9.bb
+++ b/meta/recipes-connectivity/neard/neard_0.9.bb
@@ -7,6 +7,7 @@ DEPENDS = "dbus glib-2.0 libnl"
 
 SRC_URI = "git://git.kernel.org/pub/scm/network/nfc/neard.git;protocol=git \
            file://neard.in \
+           file://neard.service.in \
           "
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
@@ -18,7 +19,7 @@ SRCREV = "eb486bf35e24d7d1db61350f5ab393a0c880523d"
 PV = "0.10+git${SRCPV}"
 PR = "r0"
 
-inherit autotools pkgconfig update-rc.d
+inherit autotools pkgconfig systemd update-rc.d
 
 EXTRA_OECONF += "--enable-tools"
 
@@ -28,15 +29,20 @@ do_install() {
 
 # This would copy neard start-stop shell and test scripts
 do_install_append() {
-       # start/stop
-       install -d ${D}${sysconfdir}/init.d/
-
-       sed "s:@installpath@:${libexecdir}:" ${WORKDIR}/neard.in \
-               > ${D}${sysconfdir}/init.d/neard
-
-       chmod 0755 ${D}${sysconfdir}/init.d/neard
-
-       #test files
+       if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', 
d)}; then
+               install -d ${D}${sysconfdir}/init.d/
+               sed "s:@installpath@:${libexecdir}:" ${WORKDIR}/neard.in \
+                 > ${D}${sysconfdir}/init.d/neard
+               chmod 0755 ${D}${sysconfdir}/init.d/neard
+       fi
+
+       if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; 
then
+               install -d ${D}${systemd_unitdir}/system
+               sed "s:@installpath@:${libexecdir}:" 
${WORKDIR}/neard.service.in \
+                 > ${D}${systemd_unitdir}/system/neard.service
+       fi
+
+       # Install the tests for neard-tests
        install -d ${D}${libdir}/neard
        install -m 0755 ${S}/test/* ${D}${libdir}/${BPN}/
        install -m 0755 ${S}/tools/nfctool/nfctool ${D}${libdir}/${BPN}/
@@ -59,3 +65,5 @@ RDEPENDS_${PN}-tests = "python python-dbus python-pygobject"
 
 INITSCRIPT_NAME = "neard"
 INITSCRIPT_PARAMS = "defaults 64"
+
+SYSTEMD_SERVICE_${PN} = "neard.service"
-- 
1.7.10.4


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to