From 985b694e51ca91ea15c95098af8df750283744f2 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 7 Jun 2026 14:00:25 +0200 Subject: [PATCH] confd: fix debug mode regression In the last major refactor of confd to a stand-alone daemon, new command line options were added, one of which -v . Unfortunately opening up for a few corner cases where the debug flag or the log_level was not set properly. This fixes that and also adds a CONFD_ARGS for /etc/default/confd, which is customary for all daemons. Signed-off-by: Joachim Wiberg --- board/common/rootfs/etc/default/confd | 4 ++++ package/confd/confd.conf | 14 ++++++-------- src/confd/src/main.c | 6 ++++-- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/board/common/rootfs/etc/default/confd b/board/common/rootfs/etc/default/confd index 7919fb44..3352c808 100644 --- a/board/common/rootfs/etc/default/confd +++ b/board/common/rootfs/etc/default/confd @@ -1 +1,5 @@ CONFD_TIMEOUT=60 +#DEBUG=1 + +# -v debug +CONFD_ARGS="" diff --git a/package/confd/confd.conf b/package/confd/confd.conf index cc8d0572..1737f294 100644 --- a/package/confd/confd.conf +++ b/package/confd/confd.conf @@ -1,11 +1,9 @@ -#set DEBUG=1 - # Single daemon handles gen-config, datastore init, config load, and plugins -# log:prio:daemon.err -service log:console env:/etc/default/confd \ +service log:console env:/etc/default/confd \ [S12345] confd -f -v warning \ - -F /etc/factory-config.cfg \ - -S /cfg/startup-config.cfg \ - -E /etc/failure-config.cfg \ - -t $CONFD_TIMEOUT \ + -F /etc/factory-config.cfg \ + -S /cfg/startup-config.cfg \ + -E /etc/failure-config.cfg \ + -t $CONFD_TIMEOUT \ + $CONFD_ARGS \ -- Configuration daemon diff --git a/src/confd/src/main.c b/src/confd/src/main.c index f679d9df..a7f1cb28 100644 --- a/src/confd/src/main.c +++ b/src/confd/src/main.c @@ -656,9 +656,10 @@ int main(int argc, char **argv) log_level = LOG_WARNING; else if (!strcmp(optarg, "info")) log_level = LOG_NOTICE; - else if (!strcmp(optarg, "debug")) + else if (!strcmp(optarg, "debug")) { log_level = LOG_DEBUG; - else { + debug = 1; + } else { fprintf(stderr, "confd error: Invalid verbosity \"%s\"\n", optarg); return EXIT_FAILURE; } @@ -696,6 +697,7 @@ int main(int argc, char **argv) if (getenv("DEBUG")) { log_opts |= LOG_PERROR; + log_level = LOG_DEBUG; debug = 1; } openlog("confd", log_opts, LOG_DAEMON);