diff --git a/finit.c b/finit.c index c02f2c94..0a363c01 100644 --- a/finit.c +++ b/finit.c @@ -181,8 +181,8 @@ int main(int argc, char* argv[]) mount("none", "/proc", "proc", 0, NULL); mount("none", "/proc/bus/usb", "usbfs", 0, NULL); mount("none", "/sys", "sysfs", 0, NULL); - mkdir("/dev/pts", 0755); - mkdir("/dev/shm", 0755); + makedir("/dev/pts", 0755); + makedir("/dev/shm", 0755); mount("none", "/dev/pts", "devpts", 0, "gid=5,mode=620"); mount("none", "/dev/shm", "tmpfs", 0, NULL); umask(022); diff --git a/helpers.h b/helpers.h index da1e879b..47c943bc 100644 --- a/helpers.h +++ b/helpers.h @@ -44,6 +44,9 @@ #ifndef touch # define touch(x) do { if (mknod((x), S_IFREG|0644, 0) && errno != EEXIST) _pe("Failed creating %s", x); } while (0) #endif +#ifndef makedir +# define makedir(x, p) do { if (mkdir(x, p) && errno != EEXIST) _pe("Failed creating directory %s", x); } while (0) +#endif #ifndef chardev # define chardev(x,m,maj,min) mknod((x), S_IFCHR|(m), makedev((maj),(min))) #endif diff --git a/libite/rsync.c b/libite/rsync.c index 068b4a8d..4c62b8ac 100644 --- a/libite/rsync.c +++ b/libite/rsync.c @@ -59,8 +59,8 @@ int rsync(char *src, char *dst, int delete, int (*filter) (const char *file)) int i = 0, num = 0, result = 0; char **files; /* Array of file names. */ - if (!fisdir(dst)) - mkdir(dst, 0755); + if (!fisdir(dst) + makedir(dst, 0755); if (!fisdir(src)) { if (!fexist(src)) diff --git a/plugins/bootmisc.c b/plugins/bootmisc.c index 6db05260..f006cf7f 100644 --- a/plugins/bootmisc.c +++ b/plugins/bootmisc.c @@ -39,20 +39,20 @@ static void setup(void *UNUSED(arg)) #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); + makedir("/var/cache", 0755); + makedir("/var/games", 0755); + makedir("/var/lib", 0755); + makedir("/var/lib/misc", 0755); + makedir("/var/lib/alarm", 0755); + makedir("/var/lock", 0755); + makedir("/var/log", 0755); + makedir("/var/mail", 0755); + makedir("/var/opt", 0755); + makedir("/var/run", 0755); + makedir("/var/spool", 0755); + makedir("/var/spool/cron", 0755); + makedir("/var/tmp", 0755); + makedir("/var/empty", 0755); _d("Setting up necessary UTMP files ..."); touch("/var/run/utmp"); @@ -75,11 +75,11 @@ 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 */ + makedir("/var/run/lldpd", 0755); /* Needed by lldpd */ + makedir("/var/run/pluto", 0755); /* Needed by Openswan */ + makedir("/var/run/quagga", 0755); /* Needed by Quagga */ + makedir("/var/log/quagga", 0755); /* Needed by Quagga */ + makedir("/var/run/sshd", 01755); /* OpenSSH */ mkfifo("/dev/xconsole", 0640); /* sysklogd */ chown("/dev/xconsole", 0, getgroup("tty")); } diff --git a/plugins/dbus.c b/plugins/dbus.c index 828bdee0..5351b1a8 100644 --- a/plugins/dbus.c +++ b/plugins/dbus.c @@ -29,8 +29,8 @@ static void setup(void *UNUSED(arg)) { #ifdef HAVE_DBUS _d("Starting D-Bus ..."); - mkdir("/var/run/dbus", 0755); - mkdir("/var/lock/subsys/messagebus", 0755); + makedir("/var/run/dbus", 0755); + makedir("/var/lock/subsys/messagebus", 0755); run("dbus-uuidgen --ensure"); remove("/var/run/dbus/pid"); run_interactive("dbus-daemon --system", "Starting D-Bus"); diff --git a/plugins/x11-common.c b/plugins/x11-common.c index 89e8ed14..a0277cf1 100644 --- a/plugins/x11-common.c +++ b/plugins/x11-common.c @@ -48,8 +48,8 @@ static void setup(void *UNUSED(arg)) } #endif - mkdir("/tmp/.X11-unix", 01777); - mkdir("/tmp/.ICE-unix", 01777); + makedir("/tmp/.X11-unix", 01777); + makedir("/tmp/.ICE-unix", 01777); } static plugin_t plugin = {