From 0d7d5a9820d843f9f66e2b07a571cf87e1c42e96 Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Wed, 3 Oct 2012 10:57:34 +0200 Subject: [PATCH] Setup standard FHS 2.3 structure in /var This was missing from the 1.4 release due to it being hidden in one of my private plugins. Sorry! Also, add another log macro. Warnings are quite useful things to have. Signed-off-by: Joachim Nilsson --- ChangeLog | 4 ++++ helpers.h | 1 + plugins/bootmisc.c | 24 ++++++++++++++++++++++++ 3 files changed, 29 insertions(+) diff --git a/ChangeLog b/ChangeLog index c00a03e4..084dde98 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +1.5 (UNRELEASED) + - Use bootmisc plugin to setup standard FHS 2.3 structure in /var + - Added FLOG_WARN() syslog macro, for plugins + 1.4 (20121002) - Fix I/O plugin watcher and load plugins earlier for a new hook - Start refactoring helpers.c into a libite.so (-lite). This diff --git a/helpers.h b/helpers.h index 9718b604..68f368d5 100644 --- a/helpers.h +++ b/helpers.h @@ -36,6 +36,7 @@ } #define FLOG_DEBUG(fmt, args...) DO_LOG(LOG_DEBUG, fmt, ##args) +#define FLOG_WARN(fmt, args...) DO_LOG(LOG_WARNING, fmt, ##args) #define FLOG_ERROR(fmt, args...) DO_LOG(LOG_CRIT, fmt, ##args) #define FLOG_PERROR(fmt, args...) DO_LOG(LOG_CRIT, fmt ". Error %d: %s", ##args, errno, strerror(errno)) diff --git a/plugins/bootmisc.c b/plugins/bootmisc.c index 3d21f9c9..71579a50 100644 --- a/plugins/bootmisc.c +++ b/plugins/bootmisc.c @@ -28,12 +28,32 @@ #include "helpers.h" #include "plugin.h" +/* + * Setup standard FHS 2.3 structure in /var, and + * write runlevel to UTMP, needed by, e.g., printerdrake. + */ static void setup(void *UNUSED(arg)) { #ifdef RUNLEVEL struct utmp entry; #endif + _d("Setting up FHS structure in /var ..."); + mkdir("/var/cache", 0755); + mkdir("/var/games", 0755); + mkdir("/var/lib", 0755); + mkdir("/var/lib/misc", 0755); + mkdir("/var/lib/alarm", 0755); + mkdir("/var/lock", 0755); + mkdir("/var/log", 0755); + mkdir("/var/mail", 0755); + mkdir("/var/opt", 0755); + mkdir("/var/run", 0755); + mkdir("/var/spool", 0755); + mkdir("/var/spool/cron", 0755); + mkdir("/var/tmp", 0755); + mkdir("/var/empty", 0755); + _d("Setting up necessary UTMP files ..."); touch("/var/run/utmp"); chown("/var/run/utmp", 0, getgroup("utmp")); @@ -55,6 +75,10 @@ static void setup(void *UNUSED(arg)) #endif _d("Setting up misc files ..."); + mkdir("/var/run/lldpd", 0755); /* Needed by lldpd */ + mkdir("/var/run/pluto", 0755); /* Needed by Openswan */ + mkdir("/var/run/quagga", 0755); /* Needed by Quagga */ + mkdir("/var/log/quagga", 0755); /* Needed by Quagga */ mkdir("/var/run/sshd", 01755); /* OpenSSH */ mkfifo("/dev/xconsole", 0640); /* sysklogd */ chown("/dev/xconsole", 0, getgroup("tty"));