diff options
Diffstat (limited to 'source/a/sysvinit/sysvinit.use_dev_initctl_not_run_initctl.diff')
-rw-r--r-- | source/a/sysvinit/sysvinit.use_dev_initctl_not_run_initctl.diff | 267 |
1 files changed, 267 insertions, 0 deletions
diff --git a/source/a/sysvinit/sysvinit.use_dev_initctl_not_run_initctl.diff b/source/a/sysvinit/sysvinit.use_dev_initctl_not_run_initctl.diff new file mode 100644 index 00000000..0a0f23ed --- /dev/null +++ b/source/a/sysvinit/sysvinit.use_dev_initctl_not_run_initctl.diff @@ -0,0 +1,267 @@ +diff -Nur sysvinit-2.90.orig/doc/Install sysvinit-2.90/doc/Install +--- sysvinit-2.90.orig/doc/Install 2018-06-18 18:25:26.000000000 -0500 ++++ sysvinit-2.90/doc/Install 2018-06-19 19:25:46.523082855 -0500 +@@ -66,7 +66,7 @@ + manual page on shutdown to find out more about this. + + Running from a read-only file system (CDROM?): +-* All communication to init goes through the FIFO /run/initctl. ++* All communication to init goes through the FIFO /dev/initctl. + There should be no problem using a read-only root file system + If you use a Linux kernel > 1.3.66. Older kernels don't allow + writing to a FIFO on a read-only file system. +diff -Nur sysvinit-2.90.orig/doc/initctl sysvinit-2.90/doc/initctl +--- sysvinit-2.90.orig/doc/initctl 2018-06-18 18:25:26.000000000 -0500 ++++ sysvinit-2.90/doc/initctl 2018-06-19 19:26:00.277206540 -0500 +@@ -1,5 +1,5 @@ + This document describes the communiction pipe set up by SysV init +-at /run/initctl. This named pipe allows programs with the proper ++at /dev/initctl. This named pipe allows programs with the proper + permissions (typically programs run by root have read+write access to + the pipe) to send signals to the init program (PID 1). + +@@ -58,13 +58,13 @@ + might need to process our request. For example, when setting environment + variables. + +-When setting an environment variable through init's /run/initctl pipe, ++When setting an environment variable through init's /dev/initctl pipe, + the data variable should have the format VARIABLE=VALUE. The string + should be terminated with a NULL '\0' character. + + + The following C code example shows how to send a set environment variable +-request to the init process using the /run/initctl pipe. This example ++request to the init process using the /dev/initctl pipe. This example + is simplified and skips the error checking. A more comlpete example can be + found in the shutdown.c program's init_setnv() function. + +@@ -86,7 +86,7 @@ + + + +-Usually the /run/initctl pipe would only be used by low-level programs to ++Usually the /dev/initctl pipe would only be used by low-level programs to + request a power-related shutdown or change the runlevel, like telinit + would do. Most of the time there is no need to talk to init directly, but + this gives us an extenable approach so init can be taught how to learn +diff -Nur sysvinit-2.90.orig/man/init.8 sysvinit-2.90/man/init.8 +--- sysvinit-2.90.orig/man/init.8 2018-06-18 18:25:26.000000000 -0500 ++++ sysvinit-2.90/man/init.8 2018-06-19 19:26:15.470343168 -0500 +@@ -144,7 +144,7 @@ + the letter \fBF\fP. + .PP + Usage of \fBSIGPWR\fP and \fB/etc/powerstatus\fP is discouraged. Someone +-wanting to interact with \fBinit\fP should use the \fB/run/initctl\fP ++wanting to interact with \fBinit\fP should use the \fB/dev/initctl\fP + control channel - see the initctl manual page for more documentation + about this. + .PP +@@ -248,7 +248,7 @@ + the current runlevel. + .PP + .SH INTERFACE +-Init listens on a \fIfifo\fP in /dev, \fI/run/initctl\fP, for messages. ++Init listens on a \fIfifo\fP in /dev, \fI/dev/initctl\fP, for messages. + \fBTelinit\fP uses this to communicate with init. The interface is not + very well documented or finished. Those interested should study the + \fIinitreq.h\fP file in the \fIsrc/\fP subdirectory of the \fBinit\fP +@@ -262,11 +262,11 @@ + .TP 0.5i + .B SIGUSR1 + On receipt of this signals, init closes and re-opens its control fifo, +-\fB/run/initctl\fP. Useful for bootscripts when /dev is remounted. ++\fB/dev/initctl\fP. Useful for bootscripts when /dev is remounted. + .TP 0.5i + .B SIGUSR2 + When init receives SIGUSR2, init closes and leaves the control fifo, +-\fB/run/initctl\f\P, closed. This may be used to make sure init is not ++\fB/dev/initctl\f\P, closed. This may be used to make sure init is not + holding open any files. However, it also prevents init from switching + runlevels. Which means commands like shutdown no longer work. + The fifo can be re-opened by sending init the SIGUSR1 signal. +@@ -294,7 +294,7 @@ + /dev/console + /var/run/utmp + /var/log/wtmp +-/run/initctl ++/dev/initctl + .fi + .\"}}} + .\"{{{ Warnings +diff -Nur sysvinit-2.90.orig/man/initctl.5 sysvinit-2.90/man/initctl.5 +--- sysvinit-2.90.orig/man/initctl.5 2018-06-18 18:25:26.000000000 -0500 ++++ sysvinit-2.90/man/initctl.5 2018-06-19 19:26:43.481595070 -0500 +@@ -16,13 +16,13 @@ + .\" + .TH INITCTL 5 "April 13, 2018" "" "Linux System Administrator's Manual" + .SH NAME +-initctl \- /run/initctl is a named pipe which passes commands to SysV init. ++initctl \- /dev/initctl is a named pipe which passes commands to SysV init. + .SH SYNOPSIS +-/run/initctl ++/dev/initctl + .SH DESCRIPTION + + This document describes the communiction pipe set up by SysV init +-at /run/initctl. This named pipe allows programs with the proper ++at /dev/initctl. This named pipe allows programs with the proper + permissions (typically programs run by root have read+write access to + the pipe) to send signals to the init program (PID 1). + +@@ -86,14 +86,14 @@ + might need to process our request. For example, when setting environment + variables. + +-When setting an environment variable through init's /run/initctl pipe, ++When setting an environment variable through init's /dev/initctl pipe, + the data variable should have the format VARIABLE=VALUE. The string + should be terminated with a NULL character. + + .SH EXAMPLES + + The following C code example shows how to send a set environment variable +-request to the init process using the /run/initctl pipe. This example ++request to the init process using the /dev/initctl pipe. This example + is simplified and skips the error checking. A more comlpete example can be + found in the shutdown.c program's init_setnv() function. + +@@ -118,18 +118,18 @@ + .sp + .RE + .SH NOTES +-Usually the /run/initctl pipe would only be used by low-level programs to ++Usually the /dev/initctl pipe would only be used by low-level programs to + request a power-related shutdown or change the runlevel, like telinit + would do. Most of the time there is no need to talk to init directly, but + this gives us an extenable approach so init can be taught how to learn + more commands. + .PP +-The commands passed through the /run/initctl pipe must be sent in a specific ++The commands passed through the /dev/initctl pipe must be sent in a specific + binary format and be of a specific length. Larger data structures or ones + not using the proper format will be ignored. Typically, only root has the + ability to write to the initctl pipe for security reasons. + .PP +-The /run/initctl pipe can be closed by sending init (PID 1) the SIGUSR2 ++The /dev/initctl pipe can be closed by sending init (PID 1) the SIGUSR2 + signal. This closes the pipe and leaves it closed. This may be useful + for making sure init is not keeping any files open. However, when the + pipe is closed, init no longer receives signals, such as those sent by +@@ -137,12 +137,12 @@ + change its runlevel directly. The pipe may be re-opened by sending init (PID 1) + the SIGUSR1 signal. + .PP +-If the /run/initctl pipe is closed then it may still be possible to bring ++If the /dev/initctl pipe is closed then it may still be possible to bring + down the system using the shutdown command's -n flag, but this is not + always clean and not recommended. + .RE + .SH FILES +-/run/initctl ++/dev/initctl + /sbin/init + .SH AUTHOR + Jesse Smith <jsmith@resonatingmedia.com> +diff -Nur sysvinit-2.90.orig/src/Makefile sysvinit-2.90/src/Makefile +--- sysvinit-2.90.orig/src/Makefile 2018-06-18 18:25:26.000000000 -0500 ++++ sysvinit-2.90/src/Makefile 2018-06-19 19:27:26.501981961 -0500 +@@ -217,8 +217,8 @@ + # + # This part is skipped on Debian systems, the + # debian.preinst script takes care of it. +- @if [ ! -p /run/initctl ]; then \ +- echo "Creating /run/initctl"; \ +- rm -f /run/initctl; \ +- mknod -m 600 /run/initctl p; fi ++ @if [ ! -p /dev/initctl ]; then \ ++ echo "Creating /dev/initctl"; \ ++ rm -f /dev/initctl; \ ++ mknod -m 600 /dev/initctl p; fi + endif +diff -Nur sysvinit-2.90.orig/src/init.c sysvinit-2.90/src/init.c +--- sysvinit-2.90.orig/src/init.c 2018-06-18 18:25:26.000000000 -0500 ++++ sysvinit-2.90/src/init.c 2018-06-19 19:27:08.688821762 -0500 +@@ -131,7 +131,7 @@ + int maxproclen; /* Maximal length of argv[0] with \0 */ + struct utmp utproto; /* Only used for sizeof(utproto.ut_id) */ + char *console_dev; /* Console device. */ +-int pipe_fd = -1; /* /run/initctl */ ++int pipe_fd = -1; /* /dev/initctl */ + int did_boot = 0; /* Did we already do BOOT* stuff? */ + int main(int, char **); + +@@ -2354,13 +2354,13 @@ + int quit = 0; + + /* +- * First, try to create /run/initctl if not present. ++ * First, try to create /dev/initctl if not present. + */ + if (stat(INIT_FIFO, &st2) < 0 && errno == ENOENT) + (void)mkfifo(INIT_FIFO, 0600); + + /* +- * If /run/initctl is open, stat the file to see if it ++ * If /dev/initctl is open, stat the file to see if it + * is still the _same_ inode. + */ + if (pipe_fd >= 0) { +@@ -2374,7 +2374,7 @@ + } + + /* +- * Now finally try to open /run/initctl if pipe_fd is -1 ++ * Now finally try to open /dev/initctl if pipe_fd is -1 + * if it is -2, then we leave it closed + */ + if (pipe_fd == -1) { +@@ -2681,7 +2681,7 @@ + } + if (ISMEMBER(got_signals, SIGUSR1)) { + /* +- * SIGUSR1 means close and reopen /run/initctl ++ * SIGUSR1 means close and reopen /dev/initctl + */ + INITDBG(L_VB, "got SIGUSR1"); + if (pipe_fd) +@@ -2929,7 +2929,7 @@ + strerror(errno)); + + /* Open the fifo and write a command. */ +- /* Make sure we don't hang on opening /run/initctl */ ++ /* Make sure we don't hang on opening /dev/initctl */ + SETSIG(sa, SIGALRM, signal_handler, 0); + alarm(3); + if ((fd = open(INIT_FIFO, O_WRONLY)) >= 0) { +diff -Nur sysvinit-2.90.orig/src/initreq.h sysvinit-2.90/src/initreq.h +--- sysvinit-2.90.orig/src/initreq.h 2018-06-18 18:25:26.000000000 -0500 ++++ sysvinit-2.90/src/initreq.h 2018-06-19 19:26:51.388666180 -0500 +@@ -1,5 +1,5 @@ + /* +- * initreq.h Interface to talk to init through /run/initctl. ++ * initreq.h Interface to talk to init through /dev/initctl. + * + * Copyright (C) 1995-2004 Miquel van Smoorenburg + * +@@ -26,7 +26,7 @@ + #include <sys/param.h> + + #ifndef INIT_FIFO +-#define INIT_FIFO "/run/initctl" ++#define INIT_FIFO "/dev/initctl" + #endif + + #define INIT_MAGIC 0x03091969 +diff -Nur sysvinit-2.90.orig/src/shutdown.c sysvinit-2.90/src/shutdown.c +--- sysvinit-2.90.orig/src/shutdown.c 2018-06-18 18:25:26.000000000 -0500 ++++ sysvinit-2.90/src/shutdown.c 2018-06-19 19:27:13.214862465 -0500 +@@ -176,7 +176,7 @@ + + /* + * Open the fifo and write the command. +- * Make sure we don't hang on opening /run/initctl ++ * Make sure we don't hang on opening /dev/initctl + */ + memset(&sa, 0, sizeof(sa)); + sa.sa_handler = alrm_handler; |