--- freem/src/fmadm.c 2025/04/14 19:20:20 1.37 +++ freem/src/fmadm.c 2025/04/15 02:24:43 1.38 @@ -1,5 +1,5 @@ /* - * $Id: fmadm.c,v 1.37 2025/04/14 19:20:20 snw Exp $ + * $Id: fmadm.c,v 1.38 2025/04/15 02:24:43 snw Exp $ * FreeM Administration Tool * * @@ -24,6 +24,9 @@ * along with FreeM. If not, see . * * $Log: fmadm.c,v $ + * Revision 1.38 2025/04/15 02:24:43 snw + * Improve FreeM logging capabilities + * * Revision 1.37 2025/04/14 19:20:20 snw * Create LOCALSTATEDIR during fmadm configure if needed * @@ -1537,7 +1540,8 @@ void fm_configure (void) char jnlhostid[4096]; char jnlcut[4096]; char hostid[4096]; - + char logdir[4096]; + char confbase[4096]; char envbase[4096]; @@ -1577,6 +1581,7 @@ void fm_configure (void) } #endif + snprintf (logdir, sizeof (logdir) - 1, "/var/log/freem"); snprintf (vardir, sizeof (vardir) - 1, "%s", LOCALSTATEDIR); snprintf (varbase, sizeof (varbase) - 1, "%s/freem", LOCALSTATEDIR); snprintf (rundir, sizeof (rundir) - 1, "%s/freem/run", LOCALSTATEDIR); @@ -1644,6 +1649,12 @@ void fm_configure (void) } /* check for existence of needed directories */ + if (stat (logdir, &etcstat) == -1) { + fprintf (stderr, "fmadm: creating %s [logdir]\n", logdir); + mkdir (logdir, 0775); + set_permissions (logdir, username, groupname, 0775); + } + if (stat (SYSCONFDIR, &etcstat) == -1) { fprintf (stderr, "fmadm: creating %s [SYSCONFDIR]\n", SYSCONFDIR); mkdir (SYSCONFDIR, 0775);