let lcdproc & lcdexec have their own private config file;
install server & client config files to $(sysconfdir) (using automake features)
This commit is contained in:
@@ -6,6 +6,9 @@ Key:
|
||||
* Something changed / fixed
|
||||
|
||||
v.0.5dev (ongoing development)
|
||||
+ config file support in lcdproc client (thanks Andrew Foss)
|
||||
* install server & client config files n $(sysconfdir)
|
||||
|
||||
|
||||
v0.5.0
|
||||
This version has split off from unstable-0.4.3. Includes major changes.
|
||||
|
||||
+4
-1
@@ -5,7 +5,10 @@ AUTOMAKE_OPTIONS = foreign
|
||||
|
||||
SUBDIRS = shared clients server docs scripts
|
||||
|
||||
EXTRA_DIST = LCDd.conf LCDclients.conf CREDITS README.IRman contrib
|
||||
sysconf_DATA = LCDd.conf
|
||||
|
||||
EXTRA_DIST = $(sysconf_DATA) CREDITS README.IRman contrib
|
||||
|
||||
|
||||
dox:
|
||||
$(MAKE) -C docs $@
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
bin_SCRIPTS = fortune.pl iosock.pl tail.pl x11amp.pl
|
||||
|
||||
EXTRA_DIST = fortune.pl iosock.pl tail.pl x11amp.pl
|
||||
EXTRA_DIST = $(bin_SCRIPTS)
|
||||
|
||||
## EOF
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
bin_SCRIPTS = lcdheadlines
|
||||
|
||||
EXTRA_DIST = lcdheadlines
|
||||
EXTRA_DIST = $(bin_SCRIPTS)
|
||||
|
||||
## EOF
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
sysconf_DATA = lcdexec.conf
|
||||
|
||||
bin_PROGRAMS = lcdexec
|
||||
|
||||
lcdexec_SOURCES = lcdexec.c menu.c menu.h
|
||||
|
||||
lcdexec_LDADD = @ldap_libs@ ../../shared/libLCDstuff.a
|
||||
|
||||
AM_CPPFLAGS = -I$(top_srcdir)
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -DSYSCONFDIR=\"$(sysconfdir)\"
|
||||
|
||||
|
||||
EXTRA_DIST = $(sysconf_DATA)
|
||||
|
||||
## EOF
|
||||
|
||||
@@ -33,7 +33,12 @@
|
||||
|
||||
#include "menu.h"
|
||||
|
||||
#define DEFAULT_CONFIGFILE "/etc/LCDclients.conf"
|
||||
#if !defined(SYSCONFDIR)
|
||||
# define SYSCONFDIR "/etc"
|
||||
#endif
|
||||
|
||||
#define DEFAULT_CONFIGFILE SYSCONFDIR "/lcdexec.conf"
|
||||
|
||||
|
||||
char * help_text =
|
||||
"lcdexec - LCDproc client to execute commands from the LCDd menu.\n"
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
# lcdexec LCDproc client configuration file
|
||||
|
||||
## general options for lcdexec ##
|
||||
[lcdexec]
|
||||
# address of the LCDd server to connect to
|
||||
Address=localhost
|
||||
|
||||
# Port of the server to connect to
|
||||
Port=13666
|
||||
|
||||
# set reporting level
|
||||
ReportLevel=2
|
||||
|
||||
# report to to syslog ?
|
||||
ReportToSyslog=false
|
||||
|
||||
# stay in foreground ?
|
||||
Foreground=false
|
||||
|
||||
# menu commands for the main menu
|
||||
# format: <text to be displayed>, <command to be executed>
|
||||
MenuCommand="You can say A, echo A"
|
||||
MenuCommand="Or you can say B, echo B"
|
||||
|
||||
# sub menu for the main menu
|
||||
# format: <name to be displayed>, <menu name>
|
||||
SubMenu="A menu, menu1"
|
||||
|
||||
# sub menu commands
|
||||
# option names must start with the name of a defined menu
|
||||
# format: see menu commands
|
||||
menu1_MenuCommand="p, echo P"
|
||||
menu1_MenuCommand="q, echo Q"
|
||||
|
||||
|
||||
# Ideally lcdexec should be re-written so that menu definitions
|
||||
# look somewhat like:
|
||||
#
|
||||
#[Menu]
|
||||
#Type=Menu
|
||||
#Entry=SubMenu1
|
||||
#Entry=SubMenu2
|
||||
#
|
||||
#[SubMenu1]
|
||||
#Type=Action
|
||||
#Exec=/bin/program to execute with parameters
|
||||
#
|
||||
#[SubMenu2]
|
||||
#Type=Action
|
||||
#Exec=/bin/otherprogram with parameters
|
||||
#
|
||||
# Further Extensions:
|
||||
# - use input for parameters e.g. IP-Adresses, Sliders
|
||||
# - display result if a command on Screen
|
||||
# - jump to other menus depending on the output/result of a command
|
||||
|
||||
# EOF
|
||||
@@ -1,5 +1,7 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
sysconf_DATA = lcdproc.conf
|
||||
|
||||
bin_PROGRAMS = lcdproc
|
||||
|
||||
lcdproc_SOURCES = main.c main.h mode.c mode.h batt.c batt.h chrono.c chrono.h cpu.c cpu.h cpu_smp.c cpu_smp.h disk.c disk.h load.c load.h mem.c mem.h machine.h machine_Linux.c machine_OpenBSD.c machine_FreeBSD.c machine_NetBSD.c machine_Darwin.c machine_SunOS.c util.c util.h
|
||||
@@ -10,6 +12,9 @@ if DARWIN
|
||||
AM_LDFLAGS = -framework CoreFoundation -framework IOKit
|
||||
endif
|
||||
|
||||
AM_CPPFLAGS = -I$(top_srcdir)
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -DSYSCONFDIR=\"$(sysconfdir)\"
|
||||
|
||||
|
||||
EXTRA_DIST = $(sysconf_DATA)
|
||||
|
||||
## EOF
|
||||
|
||||
+13
-7
@@ -57,14 +57,24 @@ static void exit_program(int val);
|
||||
static void main_loop();
|
||||
static int process_command_line(int argc, char **argv);
|
||||
static int process_configfile(char *cfgfile);
|
||||
|
||||
|
||||
#define CHAIN(e,f) { if (e>=0 ) { e=(f); }}
|
||||
#define CHAIN_END(e,msg) { if (e<0 ) { report( RPT_CRIT,(msg)); exit(e); }}
|
||||
|
||||
static int islow = -1;
|
||||
|
||||
// 1/8th second is a single time unit...
|
||||
#define TIME_UNIT 125000
|
||||
|
||||
#if !defined(SYSCONFDIR)
|
||||
# define SYSCONFDIR "/etc"
|
||||
#endif
|
||||
|
||||
#define UNSET_INT -1
|
||||
#define UNSET_STR "\01"
|
||||
#define DEFAULT_SERVER "127.0.0.1"
|
||||
#define DEFAULT_CONFIGFILE SYSCONFDIR "/lcdproc.conf"
|
||||
|
||||
|
||||
/* list of modes to run */
|
||||
mode sequence[] =
|
||||
{
|
||||
@@ -89,12 +99,8 @@ mode sequence[] =
|
||||
|
||||
|
||||
|
||||
// TODO: Config file; not just command line
|
||||
/* All variables are set to 'unset' values*/
|
||||
#define UNSET_INT -1
|
||||
#define UNSET_STR "\01"
|
||||
#define DEFAULT_SERVER "127.0.0.1"
|
||||
#define DEFAULT_CONFIGFILE "/usr/local/etc/lcdproc.conf"
|
||||
static int islow = -1;
|
||||
char * progname = "lcdproc";
|
||||
char * server = NULL;
|
||||
int port = LCDPORT;
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
bin_SCRIPTS = lcdmetar.pl
|
||||
|
||||
EXTRA_DIST = lcdmetar.pl
|
||||
EXTRA_DIST = $(bin_SCRIPTS)
|
||||
|
||||
## EOF
|
||||
|
||||
+3
-3
@@ -23,7 +23,7 @@ lcdexec connects to LCDd (the LCDproc server) and adds a submenu to the LCDd mai
|
||||
understands the following options, with corresponding configfile settings between {} brackets:
|
||||
.TP 8
|
||||
.B \-c \fIfilename\fP
|
||||
Set the name of the config file to read, /etc/LCDclients.conf by default
|
||||
Set the name of the config file to read, /etc/lcdexec.conf by default
|
||||
.TP 8
|
||||
.B \-a \fIaddress\fP
|
||||
Set the address of the host which LCDd is running on, localhost by default
|
||||
@@ -63,7 +63,7 @@ All configfile settings should be put in the [lcdexec] section. You can use a qu
|
||||
|
||||
.SH FILES
|
||||
.TP
|
||||
.B LCDclients.conf
|
||||
.B lcdexec.conf
|
||||
This file should have a "ini-file"-like format, with sections that are preceded by a [section] header and lines that consist of key=value pairs. Strings with characters other than [a-za-Z0-9_] should be quoted with double quotes. If you want a quote or a backslash in the string, escape it by preceding it by a backslash.
|
||||
.TP
|
||||
The contents of the [lcdexec] section of this file should be as descriped in the options section.
|
||||
@@ -88,7 +88,7 @@ sd_MenuCommand="Reboot now, shutdown -r now"
|
||||
|
||||
.PP
|
||||
Start lcdexec with:
|
||||
lcdexec -c /usr/local/etc/LCDclients.conf
|
||||
lcdexec -c /usr/local/etc/lcdexec.conf
|
||||
|
||||
.PP
|
||||
This will allow you to eject the CD-ROM by opening the LCDd menu, selecting "lcdexec" and selecting "Eject CD-ROM". Further it allows you to do various shutdowns, among others the "Shutdown in 5 minutes" by opening the LCDd menu, selecting "lcdexec", selecting "Shutdown" and selecting "Shutdown in 5 minutes".
|
||||
|
||||
+1
-1
@@ -12,6 +12,6 @@ if !DARWIN
|
||||
AM_LDFLAGS = -rdynamic -uget_args
|
||||
endif
|
||||
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/shared
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/shared -DSYSCONFDIR=\"$(sysconfdir)\"
|
||||
|
||||
## EOF
|
||||
|
||||
+5
-1
@@ -72,9 +72,13 @@ extern int optind, optopt, opterr;
|
||||
#include "main.h"
|
||||
|
||||
|
||||
#if !defined(SYSCONFDIR)
|
||||
# define SYSCONFDIR "/etc"
|
||||
#endif
|
||||
|
||||
#define DEFAULT_BIND_ADDR "127.0.0.1"
|
||||
#define DEFAULT_BIND_PORT LCDPORT
|
||||
#define DEFAULT_CONFIGFILE "/etc/LCDd.conf"
|
||||
#define DEFAULT_CONFIGFILE SYSCONFDIR "/LCDd.conf"
|
||||
#define DEFAULT_USER "nobody"
|
||||
#define DEFAULT_DRIVER "curses"
|
||||
#define DEFAULT_DRIVER_PATH "" /* not needed */
|
||||
|
||||
Reference in New Issue
Block a user