build: Add support for systemd bluetooth-mesh service
authorInga Stotland <inga.stotland@intel.com>
Tue, 4 Jun 2019 06:07:47 +0000 (23:07 -0700)
committerAnupam Roy <anupam.r@samsung.com>
Tue, 17 Dec 2019 14:28:19 +0000 (19:58 +0530)
This adds support for installing systemd bluetooth-mesh service unit
and D-Bus service file that references this systemd unit.

Change-Id: I8306de2261244ead765bdae9b6b7bed00f069a61
Signed-off-by: Anupam Roy <anupam.r@samsung.com>
Makefile.mesh
mesh/bluetooth-mesh.service.in [new file with mode: 0644]
mesh/org.bluez.mesh.service [new file with mode: 0644]

index 8713ed6..3471155 100644 (file)
@@ -4,6 +4,11 @@ if DATAFILES
 dbus_DATA += mesh/bluetooth-mesh.conf
 endif
 
+if SYSTEMD
+systemdsystemunit_DATA += mesh/bluetooth-mesh.service
+dbussystembus_DATA += mesh/org.bluez.mesh.service
+endif
+
 mesh_sources = mesh/mesh.h mesh/mesh.c \
                                mesh/net-keys.h mesh/net-keys.c \
                                mesh/mesh-io.h mesh/mesh-io.c \
@@ -38,7 +43,12 @@ mesh_meshd_LDADD = src/shared/ecc.lo src/shared/queue.lo src/shared/io-ell.lo \
 
 mesh_bluetooth_meshd_SOURCES = $(mesh_sources) mesh/main.c
 mesh_bluetooth_meshd_LDADD = src/libshared-ell.la $(ell_ldadd) -ljson-c
-mesh_bluetooth_meshd_DEPENDENCIES = $(ell_dependencies) src/libshared-ell.la
+mesh_bluetooth_meshd_DEPENDENCIES = $(ell_dependencies) src/libshared-ell.la \
+                               mesh/bluetooth-mesh.service
+
+EXTRA_DIST += mesh/bluetooth-mesh.conf mesh/bluetooth-mesh.service.in \
+               mesh/org.bluez.mesh.service
+
+CLEANFILES += mesh/bluetooth-mesh.service
 
-EXTRA_DIST += mesh/bluetooth-mesh.conf
 endif
diff --git a/mesh/bluetooth-mesh.service.in b/mesh/bluetooth-mesh.service.in
new file mode 100644 (file)
index 0000000..c8afbf5
--- /dev/null
@@ -0,0 +1,18 @@
+[Unit]
+Description=Bluetooth mesh service
+ConditionPathIsDirectory=/sys/class/bluetooth
+
+[Service]
+Type=dbus
+BusName=org.bluez.mesh
+ExecStart=@pkglibexecdir@/bluetooth-meshd
+NotifyAccess=main
+LimitNPROC=1
+ProtectHome=true
+ProtectSystem=full
+Restart=on-failure
+RestartSec=5s
+
+[Install]
+WantedBy=bluetooth.target
+Alias=dbus-org.bluez.mesh.service
diff --git a/mesh/org.bluez.mesh.service b/mesh/org.bluez.mesh.service
new file mode 100644 (file)
index 0000000..a61c444
--- /dev/null
@@ -0,0 +1,5 @@
+[D-BUS Service]
+Name=org.bluez.mesh
+Exec=/bin/false
+User=root
+SystemdService=dbus-org.bluez.mesh.service