diff options
-rw-r--r-- | Makefile.mesh | 14 | ||||
-rw-r--r-- | mesh/bluetooth-mesh.service.in | 18 | ||||
-rw-r--r-- | mesh/org.bluez.mesh.service | 5 |
3 files changed, 35 insertions, 2 deletions
diff --git a/Makefile.mesh b/Makefile.mesh index 8dacc104c..85b88eba4 100644 --- a/Makefile.mesh +++ b/Makefile.mesh @@ -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 \ @@ -32,7 +37,12 @@ pkglibexec_PROGRAMS += mesh/bluetooth-meshd 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 index 000000000..c8afbf53e --- /dev/null +++ b/mesh/bluetooth-mesh.service.in @@ -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 index 000000000..a61c44455 --- /dev/null +++ b/mesh/org.bluez.mesh.service @@ -0,0 +1,5 @@ +[D-BUS Service] +Name=org.bluez.mesh +Exec=/bin/false +User=root +SystemdService=dbus-org.bluez.mesh.service |