We should not use options for rc-update, as add, delete and such are commands.

This commit is contained in:
Roy Marples 2008-01-15 09:50:14 +00:00
parent a1783d552d
commit 38f8eee495
3 changed files with 32 additions and 42 deletions

View File

@ -1,4 +1,4 @@
.\" Copyright 2007 Roy Marples
.\" Copyright 2007-2008 Roy Marples
.\" All rights reserved
.\"
.\" Redistribution and use in source and binary forms, with or without
@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd Dec 15, 2007
.Dd Jan 15, 2008
.Dt RC-UPDATE 8 SMM
.Os OpenRC
.Sh NAME
@ -30,16 +30,16 @@
.Nd add and remove services to and from a runlevel
.Sh SYNOPSIS
.Nm
.Fl a , -add
.Ar add
.Ar service
.Op Ar runlevel ...
.Nm
.Fl d , -delete
.Ar delete
.Ar service
.Op Ar runlevel ...
.Nm
.Fl s , -show
.Op Fl v , -verbose
.Ar show
.Op Ar runlevel ...
.Sh DESCRIPTION
OpenRC uses named runlevels. Rather than editing some obscure
@ -61,13 +61,13 @@ to the
or the current one if none given.
Services added to the boot runlevel must exist in
.Pa /etc/init.d .
.It Fl d , -delete Ar service
.It Ar delete Ar service
Delete the
.Ar service
from the
.Ar runlevel
or the current one if none given.
.It Fl s , -show
.It Ar show
Show all enabled services and the runlevels they belong to. If you specify
runlevels to show, then only those will be included in the output.
.It Fl v , -verbose

View File

@ -30,7 +30,11 @@ static void usage (int exit_status)
const char * const has_arg[] = { "", "<arg>", "[arg]" };
int i;
#ifdef usagestring
printf (usagestring);
#else
printf ("Usage: %s [options] ", applet);
#endif
#ifdef extraopts
printf (extraopts);
#endif

View File

@ -4,7 +4,7 @@
*/
/*
* Copyright 2007 Roy Marples
* Copyright 2007-2008 Roy Marples
* All rights reserved
* Redistribution and use in source and binary forms, with or without
@ -129,17 +129,15 @@ static void show (char **runlevels, bool verbose)
}
#include "_usage.h"
#define getoptstring "ads" getoptstring_COMMON
#define usagestring "" \
"Usage: rc-update [options] service <runlevel>\n" \
" rc-update [options] del service <runlevel>\n" \
" rc-update [options] show"
#define getoptstring getoptstring_COMMON
static struct option longopts[] = {
{ "add", 0, NULL, 'a'},
{ "delete", 0, NULL, 'd'},
{ "show", 0, NULL, 's'},
longopts_COMMON
};
static const char * const longopts_help[] = {
"Add the init.d to runlevels",
"Delete init.d from runlevels",
"Show init.d's in runlevels",
longopts_help_COMMON
};
#include "_usage.c"
@ -165,17 +163,7 @@ int rc_update (int argc, char **argv)
longopts, (int *) 0)) != -1)
{
switch (opt) {
case 'a':
action |= DOADD;
break;
case 'd':
action |= DODELETE;
break;
case 's':
action |= DOSHOW;
break;
case_RC_COMMON_GETOPT
case_RC_COMMON_GETOPT
}
}
@ -187,23 +175,21 @@ int rc_update (int argc, char **argv)
eerrorx ("%s: cannot mix commands", applet);
/* We need to be backwards compatible */
if (! action) {
if (optind < argc) {
if (strcmp (argv[optind], "add") == 0)
action = DOADD;
else if (strcmp (argv[optind], "delete") == 0 ||
strcmp (argv[optind], "del") == 0)
action = DODELETE;
else if (strcmp (argv[optind], "show") == 0)
action = DOSHOW;
if (action)
optind++;
else
eerrorx ("%s: invalid command `%s'", applet, argv[optind]);
}
if (! action)
usage (EXIT_FAILURE);
if (optind < argc) {
if (strcmp (argv[optind], "add") == 0)
action = DOADD;
else if (strcmp (argv[optind], "delete") == 0 ||
strcmp (argv[optind], "del") == 0)
action = DODELETE;
else if (strcmp (argv[optind], "show") == 0)
action = DOSHOW;
if (action)
optind++;
else
eerrorx ("%s: invalid command `%s'", applet, argv[optind]);
}
if (! action)
action = DOSHOW;
if (optind >= argc) {
if (! action & DOSHOW)