Rename the rc binary to openrc
Debian requested this rename due to the "rc" binary conflicting with the "rc" binary from the plan 9 shell. We also add a deprecation warning to the binary when it is run as rc to encourage users to switch to openrc instead. X-Gentoo-Bug: 493958 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=493958
This commit is contained in:
		
							
								
								
									
										5
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								README
									
									
									
									
									
								
							| @@ -61,6 +61,11 @@ As of OpenRC-0.12, the net.* scripts, originally from Gentoo Linux, have | ||||
| been removed. If you need these scripts, look for a package called | ||||
| netifrc, which is maintained by them. | ||||
|  | ||||
| As of OpenRC-0.13, the /sbin/rc binary has been renamed /sbin/openrc. | ||||
| There is a /sbin/rc symbolic link in place currently in case you are | ||||
| still using the old name.  However, it is strongly advised that you | ||||
| migrate your system to the new name. | ||||
|  | ||||
| Reporting Bugs | ||||
| -------------- | ||||
| Since Gentoo Linux is hosting OpenRC development, Bugs should go to | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| MAN3=		einfo.3 \ | ||||
| 		rc_config.3 rc_deptree.3 rc_find_pids.3 rc_plugin_hook.3 \ | ||||
| 		rc_runlevel.3 rc_service.3 rc_stringlist.3 | ||||
| MAN8=		rc-service.8 rc-status.8 rc-update.8 rc.8 runscript.8 \ | ||||
| MAN8=		rc-service.8 rc-status.8 rc-update.8 openrc.8 runscript.8 \ | ||||
| 		service.8 start-stop-daemon.8 | ||||
|  | ||||
| # Handy macro to create symlinks | ||||
|   | ||||
| @@ -22,10 +22,10 @@ | ||||
| .\" SUCH DAMAGE. | ||||
| .\" | ||||
| .Dd May 2, 2009 | ||||
| .Dt RC 8 SMM | ||||
| .Dt OPENRC 8 SMM | ||||
| .Os OpenRC | ||||
| .Sh NAME | ||||
| .Nm rc | ||||
| .Nm openrc | ||||
| .Nd stops and starts services for the specified runlevel | ||||
| .Sh SYNOPSIS | ||||
| .Nm | ||||
| @@ -63,7 +63,7 @@ otherwise -1. | ||||
| .Fl r , -resolve | ||||
| does the same and also prints the full path of the service to stdout. | ||||
| .Sh SEE ALSO | ||||
| .Xr rc 8 , | ||||
| .Xr openrc 8 , | ||||
| .Xr stdout 3 | ||||
| .Sh AUTHORS | ||||
| .An Roy Marples <roy@marples.name> | ||||
|   | ||||
| @@ -66,7 +66,7 @@ exits 0, except when checking for crashed services and it doesn't find any. | ||||
| tries to list services within each runlevel in the presently resolved | ||||
| dependency order if the dependency tree is available. | ||||
| .Sh SEE ALSO | ||||
| .Xr rc 8 , | ||||
| .Xr openrc 8 , | ||||
| .Xr rc-update 8 | ||||
| .Sh AUTHORS | ||||
| .An Roy Marples <roy@marples.name> | ||||
|   | ||||
| @@ -86,7 +86,7 @@ If the | ||||
| option is given then we either add or remove the runlevel from the runlevel. | ||||
| This allows inheritance of runlevels. | ||||
| .Sh SEE ALSO | ||||
| .Xr rc 8 , | ||||
| .Xr openrc 8 , | ||||
| .Xr rc-status 8 | ||||
| .Sh AUTHORS | ||||
| .An Roy Marples <roy@marples.name> | ||||
|   | ||||
| @@ -44,7 +44,7 @@ is set to the name of the runlevel or name of the service. | ||||
| Plugins can affect the parent environment by writing NULL separated strings to | ||||
| .Va rc_environ_fd . | ||||
| .Sh SEE ALSO | ||||
| .Xr rc 8 , | ||||
| .Xr openrc 8 , | ||||
| .Xr runscript 8 | ||||
| .Sh AUTHORS | ||||
| .An Roy Marples <roy@marples.name> | ||||
|   | ||||
| @@ -343,7 +343,7 @@ sets the following environment variables for use in the service scripts: | ||||
| .It Va RC_SVCNAME | ||||
| Name of the service. | ||||
| .It Va RC_RUNLEVEL | ||||
| Current runlevel that rc is in. Note that, in OpenRC, the reboot | ||||
| Current runlevel that OpenRC is in. Note that, in OpenRC, the reboot | ||||
| runlevel is mapped to the shutdown runlevel. This was done because most | ||||
| services do not need to know if a system is shutting down or rebooting. | ||||
| If you are writing a service that does need to know this, see the | ||||
| @@ -536,7 +536,7 @@ Instead we return 1 to be compliant with Gentoo baselayout. | ||||
| Users are encouraged to use the is_newer_than function which returns correctly. | ||||
| .Sh SEE ALSO | ||||
| .Xr einfo 3 , | ||||
| .Xr rc 8 , | ||||
| .Xr openrc 8 , | ||||
| .Xr rc-status 8 , | ||||
| .Xr rc-update 8 , | ||||
| .Xr rc_plugin_hook 3 , | ||||
|   | ||||
| @@ -6,7 +6,7 @@ | ||||
| # the old service state data | ||||
| : ${RC_LIBEXECDIR:=@LIBEXECDIR@} | ||||
| : ${RC_SVCDIR:=@LIBEXECDIR@/init.d} | ||||
| case "$(rc --sys)" in | ||||
| case "$(openrc --sys)" in | ||||
| 	OPENVZ|VSERVER)	rm -rf "$RC_SVCDIR"/*;; | ||||
| 	*)		if mountinfo --quiet "$RC_SVCDIR"; then | ||||
| 				rm -rf "$RC_SVCDIR"/* | ||||
|   | ||||
| @@ -37,7 +37,7 @@ fi | ||||
|  | ||||
| # /run is a new directory for storing volatile runtime data. | ||||
| # Read more about /run at https://lwn.net/Articles/436012 | ||||
| sys="$(rc --sys)" | ||||
| sys="$(openrc --sys)" | ||||
|  | ||||
| if [ ! -d /run ]; then | ||||
| 	if [ "$sys" = VSERVER ]; then | ||||
|   | ||||
| @@ -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,.) | ||||
|   | ||||
| @@ -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); | ||||
| } | ||||
|   | ||||
| @@ -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()); | ||||
|   | ||||
| @@ -5,24 +5,24 @@ | ||||
| id:3:initdefault: | ||||
|  | ||||
| # System initialization, mount local filesystems, etc. | ||||
| si::sysinit:/sbin/rc sysinit | ||||
| si::sysinit:/sbin/openrc sysinit | ||||
|  | ||||
| # Further system initialization, brings up the boot runlevel. | ||||
| rc::bootwait:/sbin/rc boot | ||||
| rc::bootwait:/sbin/openrc boot | ||||
|  | ||||
| l0:0:wait:/sbin/rc shutdown | ||||
| l0:0:wait:/sbin/openrc shutdown | ||||
| l0s:0:wait:/sbin/halt -dhip | ||||
| l1:S1:wait:/sbin/rc single | ||||
| l2:2:wait:/sbin/rc nonetwork | ||||
| l3:3:wait:/sbin/rc default | ||||
| l4:4:wait:/sbin/rc default | ||||
| l5:5:wait:/sbin/rc default | ||||
| l6:6:wait:/sbin/rc reboot | ||||
| l1:S1:wait:/sbin/openrc single | ||||
| l2:2:wait:/sbin/openrc nonetwork | ||||
| l3:3:wait:/sbin/openrc default | ||||
| l4:4:wait:/sbin/openrc default | ||||
| l5:5:wait:/sbin/openrc default | ||||
| l6:6:wait:/sbin/openrc reboot | ||||
| l6r:6:wait:/sbin/reboot -d | ||||
| #z6:6:respawn:/sbin/sulogin | ||||
|  | ||||
| # new-style single-user | ||||
| su0:S:wait:/sbin/rc single | ||||
| su0:S:wait:/sbin/openrc single | ||||
| su1:S:wait:/sbin/sulogin | ||||
|  | ||||
| # TERMINALS | ||||
|   | ||||
		Reference in New Issue
	
	Block a user