Patchwork [2/2] neard: add systemd unit file

login
register
mail settings
Submitter Ross Burton
Date April 29, 2013, 11:57 a.m.
Message ID <1367236635-27036-2-git-send-email-ross.burton@intel.com>
Download mbox | patch
Permalink /patch/49031/
State New
Headers show

Comments

Ross Burton - April 29, 2013, 11:57 a.m.
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@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
Martin Jansa - April 29, 2013, 1:42 p.m.
On Mon, Apr 29, 2013 at 12:57:15PM +0100, Ross Burton wrote:
> 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@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..1442d00 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 \

Please use consistent indentation - no tabs in multiline variables.

>            "
>  
>  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
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Patch

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..1442d00 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"