convert all references from runscript to openrc-run
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
PROG= openrc
|
||||
SRCS= checkpath.c fstabinfo.c mountinfo.c start-stop-daemon.c \
|
||||
SRCS= checkpath.c fstabinfo.c mountinfo.c openrc-run.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 \
|
||||
runscript.c rc.c swclock.c
|
||||
rc.c start-stop-daemon.c swclock.c
|
||||
|
||||
ifeq (${MKSELINUX},yes)
|
||||
SRCS+= rc-selinux.c
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* runscript.c
|
||||
* openrc-run.c
|
||||
* Handle launching of init scripts.
|
||||
*/
|
||||
|
||||
@@ -370,18 +370,18 @@ svc_exec(const char *arg1, const char *arg2)
|
||||
dup2(slave_tty, STDERR_FILENO);
|
||||
}
|
||||
|
||||
if (exists(RC_SVCDIR "/runscript.sh")) {
|
||||
execl(RC_SVCDIR "/runscript.sh",
|
||||
RC_SVCDIR "/runscript.sh",
|
||||
if (exists(RC_SVCDIR "/openrc-run.sh")) {
|
||||
execl(RC_SVCDIR "/openrc-run.sh",
|
||||
RC_SVCDIR "/openrc-run.sh",
|
||||
service, arg1, arg2, (char *) NULL);
|
||||
eerror("%s: exec `" RC_SVCDIR "/runscript.sh': %s",
|
||||
eerror("%s: exec `" RC_SVCDIR "/openrc-run.sh': %s",
|
||||
service, strerror(errno));
|
||||
_exit(EXIT_FAILURE);
|
||||
} else {
|
||||
execl(RC_LIBEXECDIR "/sh/runscript.sh",
|
||||
RC_LIBEXECDIR "/sh/runscript.sh",
|
||||
execl(RC_LIBEXECDIR "/sh/openrc-run.sh",
|
||||
RC_LIBEXECDIR "/sh/openrc-run.sh",
|
||||
service, arg1, arg2, (char *) NULL);
|
||||
eerror("%s: exec `" RC_LIBEXECDIR "/sh/runscript.sh': %s",
|
||||
eerror("%s: exec `" RC_LIBEXECDIR "/sh/openrc-run.sh': %s",
|
||||
service, strerror(errno));
|
||||
_exit(EXIT_FAILURE);
|
||||
}
|
||||
@@ -1162,6 +1162,11 @@ openrc_run(int argc, char **argv)
|
||||
subshells the init script may create so that our mark_service_*
|
||||
functions can always instruct us of this change */
|
||||
snprintf(pidstr, sizeof(pidstr), "%d", (int) getpid());
|
||||
setenv("RC_OPENRC_PID", pidstr, 1);
|
||||
/*
|
||||
* RC_RUNSCRIPT_PID is deprecated, but we will keep it for a while
|
||||
* for safety.
|
||||
*/
|
||||
setenv("RC_RUNSCRIPT_PID", pidstr, 1);
|
||||
|
||||
/* eprefix is kinda klunky, but it works for our purposes */
|
||||
@@ -329,7 +329,7 @@ do_mark_service(int argc, char **argv)
|
||||
bool ok = false;
|
||||
char *svcname = getenv("RC_SVCNAME");
|
||||
char *service = NULL;
|
||||
char *runscript_pid;
|
||||
char *openrc_pid;
|
||||
/* char *mtime; */
|
||||
pid_t pid;
|
||||
RC_SERVICE bit;
|
||||
@@ -350,7 +350,7 @@ do_mark_service(int argc, char **argv)
|
||||
eerrorx("%s: unknown applet", applet);
|
||||
|
||||
/* If we're marking ourselves then we need to inform our parent
|
||||
runscript process so they do not mark us based on our exit code */
|
||||
openrc-run process so they do not mark us based on our exit code */
|
||||
/*
|
||||
* FIXME: svcname and service are almost always equal except called from a
|
||||
* shell with just argv[1] - So that doesn't seem to do what Roy initially
|
||||
@@ -359,8 +359,8 @@ do_mark_service(int argc, char **argv)
|
||||
* openrc@gentoo.org).
|
||||
*/
|
||||
if (ok && svcname && strcmp(svcname, service) == 0) {
|
||||
runscript_pid = getenv("RC_RUNSCRIPT_PID");
|
||||
if (runscript_pid && sscanf(runscript_pid, "%d", &pid) == 1)
|
||||
openrc_pid = getenv("RC_OPENRC_PID");
|
||||
if (openrc_pid && sscanf(openrc_pid, "%d", &pid) == 1)
|
||||
if (kill(pid, SIGHUP) != 0)
|
||||
eerror("%s: failed to signal parent %d: %s",
|
||||
applet, pid, strerror(errno));
|
||||
@@ -369,10 +369,10 @@ do_mark_service(int argc, char **argv)
|
||||
in control as well */
|
||||
/*
|
||||
l = strlen(RC_SVCDIR "/exclusive") + strlen(svcname) +
|
||||
strlen(runscript_pid) + 4;
|
||||
strlen(openrc_pid) + 4;
|
||||
mtime = xmalloc(l);
|
||||
snprintf(mtime, l, RC_SVCDIR "/exclusive/%s.%s",
|
||||
svcname, runscript_pid);
|
||||
svcname, openrc_pid);
|
||||
if (exists(mtime) && unlink(mtime) != 0)
|
||||
eerror("%s: unlink: %s", applet, strerror(errno));
|
||||
free(mtime);
|
||||
|
||||
Reference in New Issue
Block a user