summaryrefslogtreecommitdiffstats
path: root/source/a/sysvinit/sysvinit.use_dev_initctl_not_run_initctl.diff
diff options
context:
space:
mode:
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.diff267
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 000000000..0a0f23ed6
--- /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;