Hi there, I wrote some patch allowing to specify the path of the configuration file of sensorsd like it's done for other daemons.
Greetings, Matthias Index: sensorsd.8 =================================================================== RCS file: /usr/src/usr.sbin/sensorsd/sensorsd.8,v retrieving revision 1.22 diff -u -p -u -p -r1.22 sensorsd.8 --- sensorsd.8 27 Jul 2015 17:28:40 -0000 1.22 +++ sensorsd.8 14 Mar 2017 06:32:55 -0000 @@ -26,6 +26,7 @@ .Nm sensorsd .Op Fl d .Op Fl c Ar check +.Op Fl f Ar file .Sh DESCRIPTION The .Nm @@ -63,6 +64,11 @@ seconds. The shortest reporting period for state changes will be three times this value. The default is 20. +.It Fl f Ar file +Read configuration from +.Ar file +instead of the default configuration file +.Pa /etc/sensorsd.conf . .It Fl d Do not daemonize. If this option is specified, Index: sensorsd.c =================================================================== RCS file: /usr/src/usr.sbin/sensorsd/sensorsd.c,v retrieving revision 1.59 diff -u -p -u -p -r1.59 sensorsd.c --- sensorsd.c 12 Dec 2015 20:04:23 -0000 1.59 +++ sensorsd.c 14 Mar 2017 06:31:45 -0000 @@ -101,7 +101,8 @@ void usage(void) { extern char *__progname; - fprintf(stderr, "usage: %s [-d] [-c check]\n", __progname); + fprintf(stderr, "usage: %s [-d] [-c check] [-f file]\n", + __progname); exit(1); } @@ -115,7 +116,7 @@ main(int argc, char *argv[]) if (pledge("stdio rpath proc exec", NULL) == -1) err(1, "pledge"); - while ((ch = getopt(argc, argv, "c:d")) != -1) { + while ((ch = getopt(argc, argv, "c:df:")) != -1) { switch (ch) { case 'c': check_period = strtonum(optarg, 1, 600, &errstr); @@ -124,6 +125,12 @@ main(int argc, char *argv[]) break; case 'd': debug = 1; + break; + case 'f': + configfile = optarg; + if (access(configfile, R_OK) != 0) + err(1, "Cannot access configuration file %s", + configfile); break; default: usage();