mirror of
https://github.com/troglobit/finit.git
synced 2026-11-01 13:10:32 +00:00
initctl: only show enable/disable commands on compat systems
The enable/disable commands require either both the available/ and enabled/ subdirectories in /etc/finit.d, or at least available/ Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
1 parent
c7d189f199
commit
f9532d11ba
1 file changed
+43
-9
+43
-9
@@ -639,8 +639,27 @@ static int transform(char *nm)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int has_conf(char *path, size_t len, char *name)
|
||||||
|
{
|
||||||
|
paste(path, len, FINIT_RCSD, name);
|
||||||
|
if (!fisdir(path)) {
|
||||||
|
strlcpy(path, FINIT_RCSD, len);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static int usage(int rc)
|
static int usage(int rc)
|
||||||
{
|
{
|
||||||
|
int has_rcsd = fisdir(FINIT_RCSD);
|
||||||
|
int has_ena;
|
||||||
|
char avail[256];
|
||||||
|
char ena[256];
|
||||||
|
|
||||||
|
has_conf(avail, sizeof(avail), "available");
|
||||||
|
has_ena = has_conf(ena, sizeof(ena), "enabled");
|
||||||
|
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"Usage: %s [OPTIONS] [COMMAND]\n"
|
"Usage: %s [OPTIONS] [COMMAND]\n"
|
||||||
"\n"
|
"\n"
|
||||||
@@ -656,15 +675,30 @@ static int usage(int rc)
|
|||||||
" debug Toggle Finit (daemon) debug\n"
|
" debug Toggle Finit (daemon) debug\n"
|
||||||
" help This help text\n"
|
" help This help text\n"
|
||||||
" version Show Finit version\n"
|
" version Show Finit version\n"
|
||||||
"\n"
|
"\n", prognm);
|
||||||
" ls | list List all .conf in /etc/finit.d/\n"
|
|
||||||
" create <CONF> Create .conf in /etc/finit.d/available/\n"
|
if (has_rcsd)
|
||||||
" enable <CONF> Enable .conf in /etc/finit.d/available/\n"
|
fprintf(stderr,
|
||||||
" disable <CONF> Disable .conf in /etc/finit.d/[enabled/]\n"
|
" ls | list List all .conf in " FINIT_RCSD "\n"
|
||||||
" touch <CONF> Mark .conf in /etc/finit.d/ for reload\n"
|
" create <CONF> Create .conf in %s\n"
|
||||||
" reload Reload *.conf in /etc/finit.d/ (activates changes)\n"
|
" edit <CONF> Edit .conf in %s\n"
|
||||||
|
" touch <CONF> Change .conf in %s\n",
|
||||||
|
avail, avail, avail);
|
||||||
|
if (has_ena)
|
||||||
|
fprintf(stderr,
|
||||||
|
" enable <CONF> Enable .conf in %s\n", avail);
|
||||||
|
if (has_ena)
|
||||||
|
fprintf(stderr,
|
||||||
|
" disable <CONF> Disable .conf in %s\n", ena);
|
||||||
|
if (has_rcsd)
|
||||||
|
fprintf(stderr,
|
||||||
|
" reload Reload *.conf in " FINIT_RCSD " (activate changes)\n");
|
||||||
|
else
|
||||||
|
fprintf(stderr,
|
||||||
|
" reload Reload " FINIT_CONF " (activate changes)\n");
|
||||||
|
|
||||||
|
fprintf(stderr,
|
||||||
// " reload <JOB|NAME>[:ID] Reload (SIGHUP) service by job# or name\n"
|
// " reload <JOB|NAME>[:ID] Reload (SIGHUP) service by job# or name\n"
|
||||||
" edit <CONF> Edit .conf in /etc/finit.d/available/\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
" cond show Show condition status\n"
|
" cond show Show condition status\n"
|
||||||
" cond dump Dump all conditions and their status\n"
|
" cond dump Dump all conditions and their status\n"
|
||||||
@@ -682,7 +716,7 @@ static int usage(int rc)
|
|||||||
" reboot Reboot system\n"
|
" reboot Reboot system\n"
|
||||||
" halt Halt system\n"
|
" halt Halt system\n"
|
||||||
" poweroff Halt and power off system\n"
|
" poweroff Halt and power off system\n"
|
||||||
" suspend Suspend system\n", prognm);
|
" suspend Suspend system\n");
|
||||||
|
|
||||||
if (has_utmp())
|
if (has_utmp())
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
|
|||||||
Reference in new issue
Block a user