* [PATCH BlueZ 0/2 v3] Add support for systemd mesh service
@ 2019-06-04 6:07 Inga Stotland
2019-06-04 6:07 ` [PATCH BlueZ 1/2 v3] build: Add support for systemd bluetooth-mesh service Inga Stotland
2019-06-04 6:07 ` [PATCH BlueZ 2/2 v3] mesh: Do not daemonize, run in foreground or as service Inga Stotland
0 siblings, 2 replies; 3+ messages in thread
From: Inga Stotland @ 2019-06-04 6:07 UTC (permalink / raw)
To: linux-bluetooth
Cc: brian.gix, marcel, johan.hedberg, luiz.dentz, Inga Stotland
This patch set adds files necessary to run bluetooth-meshd
as systemd service and also removes explicit call to daemon()
Inga Stotland (2):
build: Add support for systemd bluetooth-mesh service
mesh: Do not daemonize, run in foreground or as service
Makefile.mesh | 14 ++++++++++++--
mesh/bluetooth-mesh.service.in | 16 ++++++++++++++++
mesh/main.c | 17 ++++++-----------
mesh/org.bluez.mesh.service | 5 +++++
4 files changed, 39 insertions(+), 13 deletions(-)
create mode 100644 mesh/bluetooth-mesh.service.in
create mode 100644 mesh/org.bluez.mesh.service
--
2.21.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH BlueZ 1/2 v3] build: Add support for systemd bluetooth-mesh service
2019-06-04 6:07 [PATCH BlueZ 0/2 v3] Add support for systemd mesh service Inga Stotland
@ 2019-06-04 6:07 ` Inga Stotland
2019-06-04 6:07 ` [PATCH BlueZ 2/2 v3] mesh: Do not daemonize, run in foreground or as service Inga Stotland
1 sibling, 0 replies; 3+ messages in thread
From: Inga Stotland @ 2019-06-04 6:07 UTC (permalink / raw)
To: linux-bluetooth
Cc: brian.gix, marcel, johan.hedberg, luiz.dentz, Inga Stotland
This adds support for installing systemd bluetooth-mesh service unit
and D-Bus service file that references this systemd unit.
---
Makefile.mesh | 14 ++++++++++++--
mesh/bluetooth-mesh.service.in | 16 ++++++++++++++++
mesh/org.bluez.mesh.service | 5 +++++
3 files changed, 33 insertions(+), 2 deletions(-)
create mode 100644 mesh/bluetooth-mesh.service.in
create mode 100644 mesh/org.bluez.mesh.service
diff --git a/Makefile.mesh b/Makefile.mesh
index d494287ab..9cd6e73d6 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 @@ libexec_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..76926aa87
--- /dev/null
+++ b/mesh/bluetooth-mesh.service.in
@@ -0,0 +1,16 @@
+[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
+
+[Install]
+WantedBy=bluetooth.target
+Alias=dbus-org.bluez.mesh.service
\ No newline at end of file
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
--
2.21.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH BlueZ 2/2 v3] mesh: Do not daemonize, run in foreground or as service
2019-06-04 6:07 [PATCH BlueZ 0/2 v3] Add support for systemd mesh service Inga Stotland
2019-06-04 6:07 ` [PATCH BlueZ 1/2 v3] build: Add support for systemd bluetooth-mesh service Inga Stotland
@ 2019-06-04 6:07 ` Inga Stotland
1 sibling, 0 replies; 3+ messages in thread
From: Inga Stotland @ 2019-06-04 6:07 UTC (permalink / raw)
To: linux-bluetooth
Cc: brian.gix, marcel, johan.hedberg, luiz.dentz, Inga Stotland
This removes call to daemon(). "--nodetach" option is retained
to set umask().
Also, adds description for dbus-debug option.
---
mesh/main.c | 17 ++++++-----------
1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/mesh/main.c b/mesh/main.c
index a621300e6..3cecd8fbf 100644
--- a/mesh/main.c
+++ b/mesh/main.c
@@ -2,7 +2,7 @@
*
* BlueZ - Bluetooth protocol stack for Linux
*
- * Copyright (C) 2017-2018 Intel Corporation. All rights reserved.
+ * Copyright (C) 2017-2019 Intel Corporation. All rights reserved.
*
*
* This library is free software; you can redistribute it and/or
@@ -41,6 +41,7 @@ static const struct option main_options[] = {
{ "config", optional_argument, NULL, 'c' },
{ "nodetach", no_argument, NULL, 'n' },
{ "debug", no_argument, NULL, 'd' },
+ { "dbus-debug", no_argument, NULL, 'b' },
{ "help", no_argument, NULL, 'h' },
{ }
};
@@ -49,12 +50,13 @@ static void usage(void)
{
l_info("");
l_info("Usage:\n"
- "\tmeshd [options]\n");
+ "\tbluetooth-meshd [options]\n");
l_info("Options:\n"
"\t--index <hcinum> Use specified controller\n"
"\t--config Configuration directory\n"
"\t--nodetach Run in foreground\n"
"\t--debug Enable debug output\n"
+ "\t--dbus-debug Enable D-Bus debugging\n"
"\t--help Show %s information\n", __func__);
}
@@ -170,7 +172,8 @@ int main(int argc, char *argv[])
goto done;
}
- umask(0077);
+ if (!detached)
+ umask(0077);
dbus = l_dbus_new_default(L_DBUS_SYSTEM_BUS);
if (!dbus) {
@@ -190,14 +193,6 @@ int main(int argc, char *argv[])
goto done;
}
- if (detached) {
- if (daemon(0, 0)) {
- perror("Failed to start meshd daemon");
- status = EXIT_FAILURE;
- goto done;
- }
- }
-
status = l_main_run_with_signal(signal_handler, NULL);
done:
--
2.21.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-06-04 6:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-04 6:07 [PATCH BlueZ 0/2 v3] Add support for systemd mesh service Inga Stotland
2019-06-04 6:07 ` [PATCH BlueZ 1/2 v3] build: Add support for systemd bluetooth-mesh service Inga Stotland
2019-06-04 6:07 ` [PATCH BlueZ 2/2 v3] mesh: Do not daemonize, run in foreground or as service Inga Stotland
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.