Commit Graph

214 Commits

Author SHA1 Message Date
Jesse Smith
e0cfd39728 Added "Fall through" comments to some switch statements where multiple
approaches are tried in order to prevent warnings from GCC 7 (and newer).

Added includes on Linux for sys/sysmacros.h as the old defines in
the sys/types.h file will be removed in the future.
2018-05-04 14:51:40 -03:00
Jesse Smith
cfb39b573f Updated init.c to remove some old notes and answer questions
that were flagged in comments or FIXME labels.
2018-04-23 00:09:49 -03:00
Jesse Smith
272f112c98 Added new signal handler for SIGUSR2. When init receives SIGUSR2
it closes (and leaves closed) the named pipe /run/initctl. This
can be used to make sure init does not have any files open. However,
it also means we cannot switch run levels or bring down the system.
The pipe can be re-opened by sending init the SIGUSR1 signal.

Updated the man pages for initctl and init to include this information.
2018-04-17 19:44:50 -03:00
Jesse Smith
f09da9cb55 Add check to make sure /run/initctl is open before we try to close
it when receiving SIGUSR1. Avoids crashing upon receiving signal.
2018-04-15 14:09:33 -03:00
Jesse Smith
aee28b3292 Updated init page to reference the initctl manual page instead of
telling people to read the source code to learn how to use
the /run/initctl named pipe. Updated Makefile to install
the initctl.5 manual page.
2018-04-14 19:19:18 -03:00
Jesse Smith
01ca5252e8 Added new manual page for the initctl named pipe.
This provides information on how to send messages
to the init command.
2018-04-14 19:16:12 -03:00
Jesse Smith
266671c968 Added documentation page for initctl (/run/initctl). 2018-04-08 22:03:07 -03:00
Jesse Smith
a4508479f5 Updated shutdown to check if time has lapsed when we did not
notice. For example if the computer was in sleep mode pending
a shutdown. The shutdown command now notices time has past
and adjusts its countdown clock to compensate. Accurate
to the nearest minute.
Closes Savannah bug #36279
2018-04-04 23:12:25 -03:00
Jesse Smith
d9b6475d85 Removed unneeded "count" variable in utmpdump.c.
Fixed typo in accidental wrote_wtmp_rlevel == 0 || wrote_wtmp_rlevel
comparison so the latter is wrote_utmp_rlevel.

Simplified logic in mountpoint.c when testing for same device or same inode.

Thanks to David Binderman for pointing out the above three issues.
2018-03-30 22:15:04 -03:00
Jesse Smith
e02e001f7a Updated changelog in preparation for release. 2018-03-27 20:47:49 -03:00
Jesse Smith
a436cdc993 Merge branch 'mountpoint' 2018-03-27 20:33:52 -03:00
Jesse Smith
4f7a210940 Merge branch 'speedup' 2018-03-27 20:33:34 -03:00
Jesse Smith
21a982f36a Fix merge issue. 2018-03-27 20:33:16 -03:00
Jesse Smith
c0f5983562 Merge branch 'beta' 2018-03-27 20:31:48 -03:00
Jesse Smith
9bbabbfda4 Updated manual page to include -p flag description. 2018-03-08 12:32:50 -04:00
Jesse Smith
8c8172349e Updated mountpoint to search for circular mount points when using
the -p parameter. This works around mountpoint not recognizing
circular mounts where /a/b/c/d and /a/b are the same location
(ie the same device and same inode).
Closes Savannah bug #37114.
2018-03-07 16:25:53 -04:00
Jesse Smith
a8ef2a24c5 Updated changelog. 2018-03-07 13:59:51 -04:00
Jesse Smith
a3f38afc34 Updated documentation and install instructions. Refreshed copyright notice. 2018-02-27 17:28:10 -04:00
Jesse Smith
d6f9d19745 Updated Makefile to sign and upload packages created
from the git repository when we use "make upload".
2018-02-23 18:08:34 -04:00
Jesse Smith
bdd2bc12e3 Updated documentation to be more relevant to modern (2018)
systems.
Updated copyright notice.
Fixed start-stop-daemon.c so that it will compile.
Updated install instructions.
Removed references to "obsolete" directory which, fittingly,
no longer exists.
2018-02-23 17:34:30 -04:00
Jesse Smith
2e1f87635e Removed extra sleep() calls from shutting down process since we use
sync() anyway to pause and make sure data is written out to disk.
2018-02-22 21:07:51 -04:00
Jesse Smith
2b651b469e Fixed Clang compiler warning when calling sprintf() with
variable number of data parameters.
2018-02-21 18:05:58 -04:00
Jesse Smith
e1ab5f1528 Updated Makefile to build tarball from git repo instead of old Subversion
repo. The migration broke creating the staging area for source files.
2018-02-21 17:36:04 -04:00
Jesse Smith
8c00f756ec Imported changelog from Jesse's source repo. 2018-02-20 19:42:51 -04:00
Jesse Smith
c6f29e96c0 Cleared up compiler warnings from unused variables and findtty()
function in bootlogd.c
2018-02-20 19:40:14 -04:00
Jesse Smith
87032d1937 Moved initscript.sample from source to doc directory and committed it. 2018-02-20 19:39:07 -04:00
Jesse Smith
1d24d576f1 Add fscanf checks to init.c to warn us if calls fail.
Mostly to clean up compiler warnings.
2018-02-20 19:38:40 -04:00
Jesse Smith
d21c8fc44b Perform error check on setuid() call in shutdown as manual page suggests. 2018-02-20 19:37:29 -04:00
Jesse Smith
6a8a216449 Fix typo in killall5.c and move initscript.sample file
from source tree into "doc" directory.
2018-02-20 19:36:21 -04:00
Jesse Smith
986bee63c0 Allow multiple console output
When booting a kernel with multiple serial console support, or multuiple
console arguments ala "console=tty1 console=ttyS0,9600" the kernel will output
messages to all consoles, init however will not. It will only send output to,
and accept input from, the last of the consoles.
This patch fixes it.

(Author is Martin Buck.)
2018-02-20 19:34:45 -04:00
Jesse Smith
f52d703c8e Updated bootlogd and init to better compile and run on GNU/kFreeBSD. 2018-02-20 19:30:46 -04:00
Jesse Smith
80dbcf3de3 Moved the named communication pipe from /dev/initctl to /run/initctl. This
patch was supplied by Robert Millan from Debian. FreeBSD apparently does not
like named piped in /dev, so we move it to /run for better cross-platform
compatibility.
2018-02-20 19:29:08 -04:00
Jesse Smith
efa6fefa8e Applied Debian patches to update init Makefile, halt and init documentation. 2018-02-20 19:26:09 -04:00
Jesse Smith
7817f31a4f Updated init.8 man page to include the term "reload" when the Q or q
parameter is passed.
2018-02-20 19:23:48 -04:00
Jesse Smith
6e3e87bf32 Patch to automatically spawn agetty on kernel consoles
The feature is useful for developers and admins that occasionally need
to boot with e.g. console=ttyS0.
The built in default can be overridden via inittab for each device. An
entry like "S0::off:" turns off the getty on ttyS0.
2018-02-20 19:18:58 -04:00
Jesse Smith
e80878c555 Imported patches from Arch Linux's bootlogd to avoid special
characters in log file. Also makes parsing easier.
2018-02-20 19:16:42 -04:00
Jesse Smith
3e43bb7ccd Applied patches provided in Savannah bug report 49991. Fix tabs in
bootlogd and avoid printing unitialized "buf" variable when
consolename() fails.
2018-02-20 19:14:36 -04:00
Petter Reinholdtsen
3f98f493ff Correct remote repo URL. 2018-02-17 14:44:05 +00:00
Petter Reinholdtsen
94c1fedd26 Extend migration script to handle startpar and insserv too. 2018-02-12 06:23:20 +00:00
Petter Reinholdtsen
f897dbed3b Remove obsolete FIXME from migration script. 2018-02-11 22:34:43 +00:00
Petter Reinholdtsen
beb8bd3425 Make sure tags are migrated. 2018-02-11 22:32:30 +00:00
Petter Reinholdtsen
5e304c9469 Start on script to migrate from subversion to git. 2018-02-11 09:55:10 +00:00
Petter Reinholdtsen
6d359d7592 Use https link to project page. 2018-02-11 09:22:35 +00:00
Petter Reinholdtsen
959397cf9a Improve nroff formatting of init(8) manual page.
Based on patch from Bjarni Ingi Gislason in
<URL: https://bugs.debian.org/890041 >.
2018-02-11 09:20:47 +00:00
Petter Reinholdtsen
d972463609 Include -Wunreachable-code when building. 2014-02-28 13:18:49 +00:00
Petter Reinholdtsen
ca4561271e Check exit code from dup() in spawn() and log error if it fail.
Patch from Michał Kulling.
2014-02-10 22:47:27 +00:00
Petter Reinholdtsen
d53cccb542 Use narrowly scoped file descriptor for handling opened TTY in
spawn().  Patch from Michał Kulling.
2014-02-10 22:44:15 +00:00
Petter Reinholdtsen
da988bb28e Make it possible to specify the initctl path as a compile time define INIT_FIFO. 2014-02-07 23:27:39 +00:00
Petter Reinholdtsen
4811afc88b Remove obsolete/ directory from tarball. None of it have been useful for many years. 2014-02-07 19:16:41 +00:00
Petter Reinholdtsen
86c85e2330 Add 'make dist' target to get a tarball to test in addition to the upload target. 2014-02-07 19:13:52 +00:00