summaryrefslogtreecommitdiff
path: root/source/a/sysvinit
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2018-06-21 22:58:42 +0000
committerEric Hameleers <alien@slackware.com>2018-06-22 09:00:34 +0200
commitca85aab95397ae918088f8ba2195eb4eb996c739 (patch)
tree53c83f5d50354f163eeab5dd11c8ba109be9e291 /source/a/sysvinit
parentb893b1174dfcd0fdc84aa597eee76b797d6d7b11 (diff)
downloadcurrent-ca85aab95397ae918088f8ba2195eb4eb996c739.tar.gz
Thu Jun 21 22:58:42 UTC 201820180621225842
a/pkgtools-15.0-noarch-20.txz: Rebuilt. Move pkgtools database to /var/lib/pkgtools/. Move removed logs to /var/log/pkgtools/. a/sysvinit-2.90-x86_64-1.txz: Upgraded. ap/cups-filters-1.20.3-x86_64-3.txz: Rebuilt. Recompiled against poppler-0.66.0. kde/calligra-2.9.11-x86_64-22.txz: Rebuilt. Recompiled against poppler-0.66.0. l/dbus-python-1.2.8-x86_64-1.txz: Upgraded. l/gc-7.6.6-x86_64-1.txz: Upgraded. l/harfbuzz-1.8.1-x86_64-1.txz: Upgraded. l/poppler-0.66.0-x86_64-1.txz: Upgraded. Shared library .so-version bump. l/pulseaudio-12.0-x86_64-1.txz: Upgraded. n/dhcpcd-7.0.6-x86_64-1.txz: Upgraded. n/php-7.2.7-x86_64-1.txz: Upgraded. Added support for libedit. t/texlive-2017.171108-x86_64-7.txz: Rebuilt. Recompiled against poppler-0.66.0. x/libwacom-0.30-x86_64-1.txz: Upgraded. xfce/exo-0.12.2-x86_64-1.txz: Upgraded. xfce/tumbler-0.2.1-x86_64-4.txz: Rebuilt. Recompiled against poppler-0.66.0. xfce/xfce4-settings-4.12.4-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/a/sysvinit')
-rw-r--r--source/a/sysvinit/CHANGES1
-rw-r--r--source/a/sysvinit/slack-desc2
-rwxr-xr-xsource/a/sysvinit/sysvinit.SlackBuild32
-rw-r--r--source/a/sysvinit/sysvinit.use_dev_initctl_not_run_initctl.diff267
4 files changed, 284 insertions, 18 deletions
diff --git a/source/a/sysvinit/CHANGES b/source/a/sysvinit/CHANGES
deleted file mode 100644
index a4c1f96b..00000000
--- a/source/a/sysvinit/CHANGES
+++ /dev/null
@@ -1 +0,0 @@
-Removed pidof symlink.
diff --git a/source/a/sysvinit/slack-desc b/source/a/sysvinit/slack-desc
index 79d6b54a..0d585bf7 100644
--- a/source/a/sysvinit/slack-desc
+++ b/source/a/sysvinit/slack-desc
@@ -15,5 +15,5 @@ sysvinit: For example, the normal system runlevel is 3, which starts agetty
sysvinit: on virtual consoles tty1 - tty6. Runlevel 4 starts xdm.
sysvinit: Runlevel 0 shuts the system down.
sysvinit:
-sysvinit:
+sysvinit: Homepage: http://www.nongnu.org/sysvinit/
sysvinit:
diff --git a/source/a/sysvinit/sysvinit.SlackBuild b/source/a/sysvinit/sysvinit.SlackBuild
index 8f31223f..b74de22a 100755
--- a/source/a/sysvinit/sysvinit.SlackBuild
+++ b/source/a/sysvinit/sysvinit.SlackBuild
@@ -23,8 +23,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=sysvinit
-VERSION=${VERSION:-2.88dsf}
-BUILD=${BUILD:-5}
+VERSION=${VERSION:-2.90}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -54,20 +54,28 @@ cd $TMP
rm -rf sysvinit-$VERSION
tar xvf $CWD/sysvinit-$VERSION.tar.xz || exit 1
cd sysvinit-$VERSION
+
chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
# Fix paths for /etc/forcefsck and /etc/fastboot:
zcat $CWD/sysvinit.paths.diff.gz | patch -p1 -E --verbose --backup --suffix=.orig || exit 1
-cd doc
+# Use /dev/initctl instead of /run/initctl ; this is a named pipe and probably
+# should be in /dev anyway, but more importantly, having the upgraded package
+# expect it in /run breaks shutdown/reboot without manual intervention
+zcat $CWD/sysvinit.use_dev_initctl_not_run_initctl.diff.gz | patch -p1 --verbose || exit 1
+
mkdir -p $PKG/usr/doc/sysvinit-$VERSION
-cp -a Install Propaganda sysvinit-2.86.lsm \
- ../COPYING* ../COPYRIGHT ../README* \
+cp -a COPYING* COPYRIGHT* README* \
+ doc/* \
$PKG/usr/doc/sysvinit-$VERSION
-chmod -R 644 $PKG/usr/doc/sysvinit-$VERSION/*
-chmod 755 $PKG/usr/doc/sysvinit-$VERSION
-cd ../src
+cd src
make clobber || exit 1
make || exit 1
@@ -90,14 +98,6 @@ mv $PKG/sbin/init $PKG/sbin/init.new
chmod 755 $PKG/sbin/init.new
chown root:root $PKG/sbin/init.new
-# This version is old. We use genpower now.
-#cat wall > $PKG/usr/bin/wall
-#strip --strip-unneeded powerd
-#cat powerd > $PKG/sbin/powerd
-#chmod 755 $PKG/usr/bin/wall $PKG/sbin/powerd
-#chown root:root $PKG/usr/bin/wall $PKG/sbin/powerd
-cp initscript.sample $PKG/sbin/initscript.sample
-
cd ../man
mkdir -p $PKG/usr/man/man{1,5,8}
for page in last.1 ; do
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;