Thread (9 messages) flat view 9 messages, 3 authors, 2017-07-25

Re: [PATCH] Support to change set file via arg

From: Marcel Holtmann <marcel@holtmann.org>
Date: 2017-06-30 17:42:55

Hi Shapiro,
quoted hunk ↗ jump to hunk
Currently, there is an expectation of the main.conf file at a specific
location.  This prevents system builds that support more than one
platform.

This adds support so the main.conf file can be specified as a command
line arg instead, so systems can manage multiple conf files as necessary
and pass the appropriate conf file when the daemon is started.

Signed-off-by: C Shapiro <redacted>
---
src/bluetoothd.8.in |  4 ++++
src/main.c          | 12 +++++++++++-
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/bluetoothd.8.in b/src/bluetoothd.8.in
index 97ef3ec94..d61dcc5b3 100644
--- a/src/bluetoothd.8.in
+++ b/src/bluetoothd.8.in
@@ -27,6 +27,10 @@ Print bluetoothd options and exit.
Enable logging in foreground. Directs log output to the controlling terminal \
in addition to syslog.
.TP
+.B -f, --configfile
+Specifies an explicit config file path instead of relying on the default path \
+(@CONFIGDIR@/main.conf) for the config file.
+.TP
.B -d, --debug=<file1>:<file2>:...
Sets how much information bluetoothd sends to the log destination (usually \
syslog's "daemon" facility). If the file options are omitted, then debugging \
diff --git a/src/main.c b/src/main.c
index bcc1e6fae..87bdb66cb 100644
--- a/src/main.c
+++ b/src/main.c
@@ -490,6 +490,7 @@ static guint setup_signalfd(void)
static char *option_debug = NULL;
static char *option_plugin = NULL;
static char *option_noplugin = NULL;
+static char *option_configfile = NULL;
static gboolean option_compat = FALSE;
static gboolean option_detach = TRUE;
static gboolean option_version = FALSE;
@@ -505,6 +506,9 @@ static void free_options(void)
	g_free(option_noplugin);
	option_noplugin = NULL;
+
+	g_free(option_configfile);
+	option_configfile = NULL;
}

static void disconnect_dbus(void)
@@ -577,6 +581,9 @@ static GOptionEntry options[] = {
				"Specify plugins to load", "NAME,..," },
	{ "noplugin", 'P', 0, G_OPTION_ARG_STRING, &option_noplugin,
				"Specify plugins not to load", "NAME,..." },
+	{ "configfile", 'f', 0, G_OPTION_ARG_STRING, &option_configfile,
+				"Specify an explicit path to the config file",
+				"FILE”},
I am failing to understand why this is needed. What problem are you trying to solve here? Can you give an example.

Regards

Marcel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help