[OE-core] [PATCH][V2] neard: add systemd unit file

Ross Burton ross.burton at intel.com
Mon Apr 29 13:44:29 UTC 2013


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 <ross.burton at intel.com>
---
 .../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





More information about the Openembedded-core mailing list