diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rc/Makefile | 8 | ||||
| -rw-r--r-- | src/rc/rc-applets.c | 11 | ||||
| -rw-r--r-- | src/rc/rc.c | 6 | 
3 files changed, 16 insertions, 9 deletions
| diff --git a/src/rc/Makefile b/src/rc/Makefile index a2e638e8..209523ab 100644 --- a/src/rc/Makefile +++ b/src/rc/Makefile @@ -1,4 +1,4 @@ -PROG=		rc +PROG=		openrc  SRCS=		checkpath.c fstabinfo.c mountinfo.c start-stop-daemon.c \  		rc-applets.c rc-depend.c rc-logger.c \  		rc-misc.c rc-plugin.c rc-service.c rc-status.c rc-update.c \ @@ -11,7 +11,7 @@ SBINDIR=	${PREFIX}/sbin  LINKDIR=	${LIBEXECDIR}  BINLINKS=	rc-status -SBINLINKS=	rc-service rc-update runscript service start-stop-daemon +SBINLINKS=	rc rc-service rc-update runscript service start-stop-daemon  RC_BINLINKS=	einfon einfo ewarnn ewarn eerrorn eerror ebegin eend ewend \  		eindent eoutdent esyslog eval_ecolors ewaitfile \  		veinfo vewarn vebegin veend vewend veindent veoutdent \ @@ -90,5 +90,5 @@ install: all  check test:: -links: rc -	$(call make-links,${ALL_LINKS},rc,.) +links: $PROG +	$(call make-links,${ALL_LINKS},$PROG,.) diff --git a/src/rc/rc-applets.c b/src/rc/rc-applets.c index 64b6e888..8431eea3 100644 --- a/src/rc/rc-applets.c +++ b/src/rc/rc-applets.c @@ -533,11 +533,18 @@ run_applets(int argc, char **argv)  {  	size_t i; +	/* +	 * The "rc" applet is deprecated and should be referred to as +	 * "openrc", so output a warning. +	 */ +	if (strcmp(applet, "rc") == 0) +		ewarn("The 'rc' applet is deprecated; please use 'openrc' instead.");  	/* Bug 351712: We need an extra way to explicitly select an applet OTHER  	 * than trusting argv[0], as argv[0] is not going to be the applet value if  	 * we are doing SELinux context switching. For this, we allow calls such as  	 * 'rc --applet APPLET', and shift ALL of argv down by two array items. */ -	if (strcmp(applet, "rc") == 0 && argc >= 3 && +	if ((strcmp(applet, "rc") == 0 || strcmp(applet, "openrc") == 0) && +		argc >= 3 &&  		(strcmp(argv[1],"--applet") == 0 || strcmp(argv[1], "-a") == 0)) {  		applet = argv[2];  		argv += 2; @@ -557,6 +564,6 @@ run_applets(int argc, char **argv)  	if (strncmp(applet, "mark_service_", strlen("mark_service_")) == 0)  		exit(do_mark_service(argc, argv)); -	if (strcmp(applet, "rc") != 0) +	if (strcmp(applet, "rc") != 0 && strcmp(applet, "openrc") != 0)  		eerrorx("%s: unknown applet", applet);  } diff --git a/src/rc/rc.c b/src/rc/rc.c index c1c1629a..136e8fa8 100644 --- a/src/rc/rc.c +++ b/src/rc/rc.c @@ -125,7 +125,7 @@ cleanup(void)  #endif  	if (!rc_in_logger && !rc_in_plugin && -	    applet && strcmp(applet, "rc") == 0) +	    applet && (strcmp(applet, "rc") == 0 || strcmp(applet, "openrc") == 0))  	{  		if (hook_out)  			rc_plugin_run(hook_out, runlevel); @@ -724,7 +724,7 @@ handle_bad_signal(int sig)  #include "_usage.h"  #define usagestring ""					\ -    "Usage: rc [options] [<runlevel>]" +    "Usage: openrc [options] [<runlevel>]"  #define getoptstring "a:no:s:S" getoptstring_COMMON  static const struct option longopts[] = {  	{ "applet",   1, NULL, 'a' }, @@ -864,7 +864,7 @@ main(int argc, char **argv)  	}  	/* Enable logging */ -	setenv("EINFO_LOG", "rc", 1); +	setenv("EINFO_LOG", "openrc", 1);  	/* Export our PID */  	snprintf(pidstr, sizeof(pidstr), "%d", getpid()); | 
