9b1ed59f1ddc3326c39ae363787261b8b3e7bed1
[sysvinit.git] / doc / Changelog
1 sysvinit (2.89dsf) UNRELEASED; urgency=low
2
3 [ Werner Fink ]
4 * Correct fix for Debian bug #547073: use IUTF8 flag if defined
5 and if already set to make sure the utf-8 flag is not cleared
6 from the tty. Patch from Samuel Thibault.
7 * Include limits.h in killall.c to enforce definition of PATH_MAX
8 * Fix sysvinit bug #29758 Linker invocation should not contain
9 headers. Change based on patch from Elias Pipping.
10
11 [ Petter Reinholdtsen ]
12 * Next release will be 2.89dsf.
13 * Add #ifdef in bootlogd.c to avoid gcc warnings about unused
14 variable on non-linux platforms.
15 * Only set the VSWTC field for termios in init if it is available,
16 to get the source building on FreeBSD.
17
18 -- Petter Reinholdtsen <pere@hungry.com> Sun Apr 11 11:28:55 CEST 2010
19
20 sysvinit (2.88dsf) world; urgency=low
21
22 [ Petter Reinholdtsen ]
23 * Mention new home on Savannah in README.
24 * Revert change from Fedora/RedHat where the now obsolete command
25 INIT_CMD_CHANGECONS was introduced. Based on feedback and patch
26 from Bill Nottingham.
27 * Adjust makefile to make sure the install directories are created
28 before files are copied into them.
29 * Simplify build rules, based on patch from Mike Frysinger and Gentoo.
30 * Fix minor bug in optimizing of argument parsing. Based on
31 report from jakemus on freshmeat.
32 * Add casts to get rid of compiler warning about signed/unsigned issues.
33 * Change tty handling in init to make sure the UTF-8 flag is not cleared
34 on boot. Patch from Samuel Thibault.
35 * Add Makefile in toplevel directory.
36 * Print usage information when shutdown is used by non-root user.
37 Patch from Mike Frysinger and Gentoo.
38 * Sync shutdown manual page and usage information. Patch from Mike
39 Frysinger and Gentoo.
40 * Fix race condition in utmp writing. Patch from Gil Kloepfer via
41 Mike Frysinger and Gentoo.
42 * Rewrite findtty() in bootlogd to recursively search /dev/ for the
43 correct device, to handle terminal devices for example in /dev/pty/.
44 Patch from Debian.
45 * Make sure bootlogd findpty() returns an error value when it fails to
46 find a usable pty. Patch from Rob Leslie via Debian.
47 * Make sure bootlogd fflush() every line, even if asked not to flush
48 to disk using fdatasync(). Patch from Scott Gifford via Debian.
49 * Add compatibility code to handle old path "/etc/powerstatus" for a
50 while.
51 * Incude definition for MNT_DETACH which is missing in older GNU libc
52 headers.
53 * Do not strip binaries before installing them, to make it easier to
54 get binaries with debug information installed.
55
56 [ Werner Fink ]
57 * Add the comment from Andrea Arcangeli about the correct
58 place of setting the default childhandler within spawn().
59 * Make sure that newline is printed out for last(1) even
60 if an utmp record entry is truncated.
61 * Check if utmp not only exists but also is writable and delay
62 writing out of the utmp runlevel record if utmp is not writable.
63 * Be able to find libcrypt also on 64 bit based architectures.
64 * Add option -w to the last command to display the full user and
65 domain names in the output. Patch from Petr Lautrbach.
66 * Add a manual page for utmpdump as this tool is sometimes
67 very useful even if not intended for normal use.
68 * Use paths.h macros for wall
69 * Change path "/etc/powerstatus" to "/var/run/powerstatus"
70 * Detected also removable block devices at halt/reboot to be able
71 to flush data and send them the ATA standby command. This should
72 avoid data loss on USB sticks and other removable block devices.
73 * Flush block devices on halt/reboot if not done by the kernel.
74 * Set SHELL to /bin/sh in the environmant of shutdown.
75 * Retry to write out shutdown messages if interrupted.
76 * pidof/killall5 - make omit pid list a dynamic one.
77 * pidof - provide '-n' to skip stat(2) syscall on network based FS.
78 * init - avoid compiler warnings
79 * init - initialize console by using the macros from ttydefaults.h
80 * init - add the possiblity to ignore further interrupts from keyboard
81 * init - add the possiblity to set sane terminal line settings
82 * sulogin - add the possibility to reset the terminal io
83 * Fix some minor problems
84 * init - enable is_selinux_enabled() to detect selinuxfs
85 * Add fix for Debian bug #536574 -- Can be enabled by -DACCTON_OFF
86 * Add helper program fstab-decode to make it easier to handle
87 /etc/mtab content. Patch by Miloslav Trmac and Fedora.
88 * Add fix for Debian bug #335023 - Make sure TERM is set on FreeBSD.
89 * Add fix for Debian bug #374038 - Make it clear that shutdown -c can
90 only cancel a waiting shutdown, not an active one.
91 * Add note to pidof manual page about the use of readlink(2). Patch by
92 Bill Nottingham and Fedora.
93 * Add PAM patch contrib/notify-pam-dead.patch based on Debian bug
94 #68621, which will add PAM support for programs spawned by init on
95 the console like sulogin. Based on patch by Topi Miettinen. This
96 patch is not applied by default yet while we review its
97 usefullness. It is only helpful for session handling, as sulogin
98 do not use and will not use a PAM conv() function. The current
99 sulogin is able to handle DES as well as MD5, SHA, and Blowfish
100 encrypted passwords due using getpwnam(3).
101 * Move utmp/wtmp before the execvp() in spawn() to be sure to
102 use the correct pid even on a controlling tty
103 * Remaining problem is that the pid of the second fork() for
104 getting a controlling tty isn't that reported by spawn()
105 * Re-enable writting utmp/wtmp for boot scripts
106 * Extend sulogin to support additional encryption algorithms
107 * Re-enable maintenance message of sulogin
108 * Enable the sulogin fallback password check to handle MD5, SHA, and
109 Blowfish encrypted passwords in case of getpwnam(3) fails.
110 * sulogin picking the SELinux context was broken. Patch by Daniel Walsh
111
112 -- Petter Reinholdtsen <pere@hungry.com> Sun Apr 11 11:28:55 CEST 2010
113
114 sysvinit (2.87dsf) world; urgency=low
115
116 * Fix typos and do minor updates in the manual pages.
117 * Correct section of mountpoint(1).
118 * Document -e and -t options for telinit in init(8).
119 * Update address of FSF in the COPYRIGHT file.
120 * Document in halt(8) that -n might not disable all syncing.
121 Patch by Bill Nottingham and Fedora
122 * Adjust output from "last -x". In reboot lines, print endpoint
123 of uptime too. In shutdown lines print downtimes rather than
124 the time between downs. Fix typo in string compare in last.c.
125 Patch by Thomas Hood.
126 * Improve handling of IPv6 addresses in last. Patch from Fedora.
127 * Document last options in usage information, previously only
128 mentioned in the manual page.
129 * Add new option -F to last, to output full date string instead
130 of the short form provided by default. Patch from Olaf Dabrunz
131 and SuSe.
132 * Adjust build rules to make sure the installed binaries
133 are stripped.
134 * Increase the compiler warning level when building.
135 * Fix utmp/wtmp updating on 64-bit platforms. Patch by Bill
136 Nottingham and Fedora.
137 * Avoid unchecked return value from malloc() in utmpdump.
138 Patch from Christian 'Dr. Disk' Hechelmann and Fedora.
139 * Make sure to use execle and no execl when passing environment to
140 the new process. Patch from RedHat.
141 * Correct init to make sure the waiting status is preserved across
142 re-exec. Patch from RedHat.
143 * Correct init to avoid race condition when starting programs during
144 boot. Patch from SuSe.
145 * Allow 'telinit u' in runlevels 0 and 6. Patch from Thomas Hood.
146 * Change install rules to make pidof an absolute symlink. Patch from
147 Thomas Hood.
148 * Improve error message from init if fork() fail. Patch found in Suse.
149 * Add support for SE Linux capability handling. Patch from Manoj
150 Srivastava, adjusted to avoid aborting if SE policy was loaded in
151 the initrd with patch from Bill Nottingham and Fedora.
152 * Add -c option to pidof for only matching processes with the same
153 process root. Ignore -c when not running as root. Patch from
154 Thomas Woerner and Fedora.
155 * Adjust init to terminate argv0 with one 0 rather than two so that
156 process name can be one character longer. Patch by Kir Kolyshkin.
157 * Make sure bootlogd exit with non-error exit code when forking of
158 the child successfully.
159 * Add bootlogd option -s to make it possible to control the use of
160 fdatasync(). Patch from Thomas Hood.
161 * Add bootlogd option -c to tell it to create the log file if it does
162 not exist. Patch from Thomas Hood.
163 * Let bootlogd also look at ttyB* devices to work on HPPA. Patch
164 from Thomas Hood.
165 * Change init to use setenv() instead of putenv, make sure the PATH
166 value is usable on re-exec. Patch from Thomas Hood.
167 * Add usleep in killall5 after killing processes, to force the kernel
168 to reschedule. Patch from SuSe.
169 * Modify pidof to not print empty line if no pid was found.
170 * Modify init and sulogin to fix emergency mode's tty, making sure ^C
171 and ^Z work when booting with 'emergency' kernel option. Patch from
172 Samuel Thibault.
173 * Modify init to allow some time for failed opens to resolve themselves.
174 Patch from Bill Nottingham and Fedora.
175 * Modify init to shut down IDE, SCSI and SATA disks properly. Patches
176 from Sebastian Reichelt, Werner Fink and SuSe.
177 * Modify wall to use UT_LINESIZE from <utmp.h> instead of hardcoded
178 string lengths. Patch from SuSe.
179 * Change wall to make halt include hostname in output.
180 * Change killall to avoid killing init by mistake. Patch from SuSe.
181 * Change killall5 to use the exit value to report if it found any
182 processes to kill. Patch from Debian.
183 * Add option -o opmitpid to killall5, to make it possible to skip
184 some pids during shutdown. Based on patch from Colin Watson and
185 Ubuntu.
186 * Add references between killall5 and pidof manual pages. Patch from Debian.
187 * Modify killall to work better with user space file system, by
188 changing cwd to /proc when stopping and killing processes, and
189 avoiding stat() when the value isn't used. Also, lock process
190 pages in memory to avoid paging when user processes are stopped.
191 Patch from Debian and Goswin von Brederlow with changes by Kel
192 Modderman.
193 * Change shutdown to only accept flags -H and -P with the -h flag,
194 and document this requirement in the manual page.
195 * Change reboot/halt to work properly when used as a login shell.
196 Patch by Dale R. Worley and Fedora.
197 * Let sulogin fall back to the staticly linked /bin/sash if both roots
198 shell and /bin/sh fail to execute.
199
200 -- Petter Reinholdtsen <pere@hungry.com> Sun, 12 Jul 2009 19:58:10 +0200
201
202 sysvinit (2.86) cistron; urgency=low
203
204 * Fixed up bootlogd to read /proc/cmdline. Also keep an internal
205 linebuffer to process \r, \t and ^H. It is becoming useable.
206 * Applied trivial OWL patches
207 * Block signals in syslog(), since syslog() is not re-entrant
208 (James Olin Oden <joden@malachi.lee.k12.nc.us>, redhat bug #97534)
209 * Minor adjustements so that sysvinit compiles on the Hurd
210 * killall5 now skips kernel threads
211 * Inittab entries with both 'S' and other runlevels were broken.
212 Fix by Bryan Kadzban <bryan@kadzban.is-a-geek.net>
213 * Changed initreq.h to be more flexible and forwards-compatible.
214 * You can now through /dev/initctl set environment variables in
215 init that will be inherited by its children. For now, only
216 variables prefixed with INIT_ can be set and the maximum is
217 16 variables. There's also a length limit due to the size
218 of struct init_request, so it should be safe from abuse.
219 * Option -P and -H to shutdown set INIT_HALT=POWERDOWN and
220 INIT_HALT=HALT as environment variables as described above
221 * Add "mountpoint" utility.
222 * Slightly better algorithm in killall5.c:pidof()
223 * Added some patches from fedora-core (halt-usage, last -t,
224 sulogin-message, user-console)
225
226 -- Miquel van Smoorenburg <miquels@cistron.nl> Fri, 30 Jul 2004 14:14:58 +0200
227
228 sysvinit (2.85) cistron; urgency=low
229
230 * Add IPv6 support in last(1)
231 * Sulogin: even if the root password is empty, ask for a password-
232 otherwise there is no way to set a timeout.
233 * Removed support for ioctl.save.
234 * Turned of support for /etc/initrunlvl and /var/run/initrunlvl
235 * Fixed warts in dowall.c ("Dmitry V. Levin" <ldv@altlinux.org>)
236 * Fix init.c::spawn(). The "f" variable was used both as file descriptor
237 and waitpid(2) return code. In certain circumstances, this leads to
238 TIOCSCTTY with wrong file descriptor (Vladimir N. Oleynik).
239 * Fix fd leak in sulogin (Dmitry V. Levin).
240 * More error checking in all wait() calling code (Dmitry V. Levin).
241 * Fix argv[] initialization in spawn() (Dmitry V. Levin).
242 * Change strncpy to strncat in most places (Dmitry V. Levin).
243
244 -- Miquel van Smoorenburg <miquels@cistron.nl> Tue, 15 Apr 2003 16:37:57 +0200
245
246 sysvinit (2.84) cistron; urgency=low
247
248 * Don't use /etc/initlvl interface for telinit; only use /dev/initctl,
249 and give a clear error when that fails.
250 * Add -i/--init command line flag to init - this tells init
251 'behave as system init even if you're not PID#1'. Useful for
252 testing in chroot/jail type environments.
253
254 -- Miquel van Smoorenburg <miquels@cistron.nl> Tue, 27 Nov 2001 13:10:08 +0100
255
256 sysvinit (2.83) cistron; urgency=low
257
258 * Fix bug in shutdown where it didn't check correctly for a
259 virtual console when checking /etc/shutdown.allow
260 * Fix race condition in waitpid() [Andrea Arcangeli]
261 * Call closelog() after openlog()/syslog() since recent libc's
262 keep the logging fd open and that is fd#0 aka stdin.
263
264 -- Miquel van Smoorenburg <miquels@cistron.nl> Tue, 2 Oct 2001 23:27:06 +0200
265
266 sysvinit (2.82) cistron; urgency=low
267
268 * Print out correct version number at startup.
269 * Fix spelling of initttab in init(8)
270
271 -- Miquel van Smoorenburg <miquels@cistron.nl> Thu, 23 Aug 2001 17:50:44 +0200
272
273 sysvinit (2.81) cistron; urgency=low
274
275 * Fix typo/bug in killall5/pidof, -o option failed to work since 2.79.
276 Reformatted source code to prevent this from happening again.
277 * shutdown.8: applied redhat manpage update
278 * sulogin: applied redhat sysvinit-2.78-sulogin-nologin.patch
279 * sulogin: applied redhat sysvinit-2.78-notty.patch
280 * sulogin: applied redhat sysvinit-2.78-sigint.patch
281
282 sysvinit (2.80) cistron; urgency=low
283
284 * Grammar/spelling fixes in shutdown.c (Christian Steinrueck)
285 * Don't set controlling tty for non-(sysinit,boot,single) runlevels
286
287 -- Miquel van Smoorenburg <miquels@cistron.nl> Thu, 26 Jul 2001 13:26:56 +0200
288
289 sysvinit (2.79) cistron; urgency=low
290
291 * New upstream version
292 * several fixes to wall by Tim Robbins <fyre@box3n.gumbynet.org>
293 * Several extra boundary checks by Solar Designer
294 * Make /dev/console controlling tty
295 * Stricter checks on ownership of tty by mesg(1)
296 * Documented and restricted -n option to wall(1)
297 * Make it compile with glibc 2.2.2
298 * Document IO redirection in wall manpage (closes: #79491)
299 * Update README (closes: #85650)
300 * Fix init.8 manpage (closes: #75268)
301 * Fix typo in halt(8) manpage (closes: #67875)
302 * Check time argument of shutdown(8) for correctness (closes: #67825)
303 * Check for stale sessions in last(1) (Chris Wolf <cwolf@starclass.com>)
304
305 -- Miquel van Smoorenburg <miquels@cistron.nl> Wed, 4 Jul 2001 15:04:36 +0200
306
307 sysvinit (2.78-2) frozen unstable; urgency=high
308
309 * Change "booting" to "reloading" message at reload
310 * Add "-z xxx" dummy command line argument (closes: #54717)
311
312 -- Miquel van Smoorenburg <miquels@cistron.nl> Fri, 11 Feb 2000 12:17:54 +0100
313
314 sysvinit (2.78-1) unstable; urgency=low
315
316 * 2.78 will be the new upstream version, I'm skipping 2.77
317 * Shutdown now calls sync before switching the runlevel to 0 or 6,
318 or before unmounting filesystems if -n was used (closes: #46461)
319 * Some cosmetic changes to init.c (closes: #32079)
320
321 -- Miquel van Smoorenburg <miquels@cistron.nl> Thu, 30 Dec 1999 20:40:23 +0100
322
323 sysvinit (2.77-2) unstable; urgency=low
324
325 * Fix last -i option
326
327 -- Miquel van Smoorenburg <miquels@cistron.nl> Tue, 5 Oct 1999 21:51:50 +0200
328
329 sysvinit (2.77-1) unstable; urgency=low
330
331 * Write reboot record into utmp file as well to make rms happy
332 * Fork and dump core in / if SIGSEGV is received for debugging purposes
333 * Patch by Craig Sanders <cas@vicnet.net.au> for "last" -i option
334
335 -- Miquel van Smoorenburg <miquels@cistron.nl> Wed, 4 Aug 1999 11:16:23 +0200
336
337 sysvinit (2.76-4) unstable; urgency=low
338
339 * Change dowall.c to handle Unix98 ptys correctly
340 * Add comment in rcS about usage of setup.sh and unconfigured.sh
341 * Shutdown now removes nologin file just before calling telinit
342 * SEGV handler now tries to continue after sleep of 30 seconds.
343 On a 386-class processor it also prints out the value of EIP.
344 * Fix for racecondition in check_init_fifo() by Richard Gooch
345
346 -- Miquel van Smoorenburg <miquels@cistron.nl> Sat, 8 May 1999 17:22:57 +0200
347
348 sysvinit (2.76-3) frozen unstable; urgency=high
349
350 * Small bugfix to last.c courtesy of Danek Duvall <duvall@emufarm.ml.org>
351
352 -- Miquel van Smoorenburg <miquels@cistron.nl> Tue, 12 Jan 1999 12:12:44 +0100
353
354 sysvinit (2.76-1) frozen unstable; urgency=high
355
356 * Fix bug in check_pipe() which crashes init on the Alpha.
357
358 -- Miquel van Smoorenburg <miquels@cistron.nl> Tue, 3 Nov 1998 11:09:13 +0100
359
360 sysvinit (2.75-4) unstable; urgency=low
361
362 * Change sulogin password buffer to 128 characters.
363 * Don't print control characters in dowall.c
364 * Try to open getenv ("CONSOLE"), /dev/console and /dev/tty0 in order.
365 For backwards compatibility when you try to boot a 2.0.x kernel
366 with a linux > 2.1.70 /dev/console device.
367 * Change src/Makefile for non-debian systems (mainly, RedHat)
368 * Try to create /dev/initctl if not present; check every time to see
369 if the dev/ino of /dev/initctl has changed and re-open it. This should
370 help devfs a bit.
371 * Send SIGUSR1 to init at bootup to let it re-open /dev/initctl;
372 again in support of devfs.
373 * Moved pidof to /bin (it's only a link to killall5 anyway)
374
375 -- Miquel van Smoorenburg <miquels@cistron.nl> Mon, 5 Oct 1998 14:03:14 +0200
376
377 sysvinit (2.75-2) frozen unstable; urgency=medium
378
379 * Fix last.c again.
380 * Add check to see if /dev/initctl is really a FIFO
381 * In ifdown.c first down all shaper devices then the real devices
382
383 -- Miquel van Smoorenburg <miquels@cistron.nl> Tue, 2 Jun 1998 22:43:01 +0200
384
385 sysvinit (2.75-1) frozen unstable; urgency=low
386
387 * Rewrote last.c to be much more memory friendly and correct,
388 thanks to Nick Andrew <nick@zeta.org.au> and
389 David Parrish <dparrish@zeta.org.au>
390 * Fixes bugs:
391 #21616: sysvinit: sulogin thinks md5 root password is bad
392 #21765: sysvinit: Typo in `killall5.c'
393 #21775: sysvinit: sysvinit does not support MD5 hashed passwords
394 #21990: /usr/bin/last: unnecessary memset and off-by-one bug
395 #22084: sysvinit 2.74-4: SIGPWR missing on sparc
396 #21900: init, powerfail events, and shutdown.allow
397 #21702: init 0 does not work as expected...
398 #21728: sysvinit: Typo in `init.c'
399 #22363: sysvinit: discrepance btw. manpage and /sbin/init
400
401 -- Miquel van Smoorenburg <miquels@cistron.nl> Tue, 19 May 1998 11:02:29 +0200
402
403 sysvinit (2.74-4) frozen unstable; urgency=medium
404
405 * Add -o option to last to process libc5 utmp files.
406 * Buffer overflow fixed in init.c (not very serious; only exploitable
407 by root). Thanks to Chris Evans <chris@ferret.lmh.ox.ac.uk>
408
409 -- Miquel van Smoorenburg <miquels@cistron.nl> Wed, 15 Apr 1998 17:04:33 +0200
410
411 sysvinit (2.74-1) unstable; urgency=low
412
413 * Should compile with glibc 1.99 :)
414 * Change behaviour of reboot(1) and halt(1) so that the default when
415 the runlevel can't be determined is to call shutdown.
416 * Added re-exec patch from Al Viro (21 Feb 1998):
417 'U' flag added to telinit. It forces init to re-exec itself
418 (passing its state through exec, certainly).
419 May be useful for smoother (heh) upgrades.
420 24 Feb 1998, AV:
421 did_boot made global and added to state - thanks, Miquel.
422 Yet another file descriptors leak - close state pipe if
423 re_exec fails.
424
425 -- Miquel van Smoorenburg <miquels@cistron.nl> Thu, 12 Mar 1998 17:42:46 +0100
426
427 sysvinit (2.73-2) unstable; urgency=low
428
429 * Change _NSIG to NSIG for 2.1.x kernel includes.
430
431 -- Miquel van Smoorenburg <miquels@cistron.nl> Thu, 8 Jan 1998 16:01:02 +0100
432
433 sysvinit (2.73-1) unstable; urgency=low
434
435 * Use siginterrupt, now that system calls are restarted by default.
436 Main symptom was that the sulogin timeout didn't work but there
437 might have been more hidden problems.
438 * Kill process immidiately if turned off in inittab
439 * Fixed sulogin check on tty arg.
440 * Use strerror() instead of sys_errlist
441 * wall now supports a '-n' option to suppress [most of] the banner.
442 Debian doesn't use sysvinit's wall, but apparently Redhat does.
443 * Add '-F' (forcefsck) option to shutdown
444 * Close and reopen /dev/initctl on SIGUSR1 (mainly for a /dev in ram)
445
446 -- Miquel van Smoorenburg <miquels@cistron.nl> Sat, 3 Jan 1998 16:32:39 +0100
447
448 sysvinit (2.72-3) unstable; urgency=low
449
450 * Add extra fork() in dowall.c to avoid hanging in rare cases
451
452 -- Miquel van Smoorenburg <miquels@cistron.nl> Wed, 22 Oct 1997 14:44:00 +0200
453
454 sysvinit (2.72) unstable; urgency=low
455
456 * Applied manual page patches by Bill Hawes <whawes@star.net>. Thanks Bill!
457 * Applied patches to the sample Slackware scripts by
458 "Jonathan I. Kamens" <jik@kamens.brookline.ma.us>
459 * Fix halt and reboot runlevels 0 & 6 check.
460 * Only say "no more processes left in runlevel x" once
461 * Fix race condition with SIGCHLD in spawn()
462 (thanks to Alon Ziv <alonz@CS.Technion.AC.IL>)
463 * Compress all manpages (missed 2)
464 * Compiled for libc6
465 * Added poweroff patch by Roderich Schupp <rsch@ExperTeam.de>
466
467 -- Miquel van Smoorenburg <miquels@cistron.nl> Sun, 12 Oct 1997 17:20:17 +0200
468
469 sysvinit (2.71-2) frozen unstable; urgency=low
470
471 * Print 2.71 instead of 2.70 on startup :)
472
473 -- Miquel van Smoorenburg <miquels@cistron.nl> Mon, 5 May 1997 12:45:25 +0200
474
475 sysvinit (2.71-1) frozen unstable; urgency=high
476
477 * Added code for updwtmp() in utmp.c for glibc (2.0.3)
478 * Fixed all programs to use functions from utmp.c and getutent()
479 * Do not try to clean up utmp in init itself (Bug#9022)
480 * Removed sync() from main loop.
481 * Hopefully fixes bug #8657 (shutdown signal handling)
482
483 -- Miquel van Smoorenburg <miquels@cistron.nl> Sat, 26 Apr 1997 19:57:27 +0200
484
485 sysvinit (2.70-1) unstable; urgency=low
486
487 * Respawn fix
488 * Removed StUdLy CaPs from source code
489 * Moved files in source archive around
490 * Fixes for glibc (utmp handling, signal handling).
491 * Fixed '-d' option to last (now also works without '-a').
492 * Added extra checking in last.c to prevent showing dead entries
493
494 -- Miquel van Smoorenburg <miquels@cistron.nl> Fri, 7 Feb 1997 15:31:30 +0100
495
496 sysvinit (2.69-1) frozen unstable; urgency=medium
497
498 * Fixed bug that can throw X in a loop (or any other app that reads from
499 /dev/tty0)
500
501 -- Miquel van Smoorenburg <miquels@cistron.nl> Sun, 1 Dec 1996 15:32:24 +0100
502
503 sysvinit (2.67-1) frozen unstable; urgency=high
504
505 * Fixes problem with /dev/console being controlling terminal of some
506 daemons
507 * Puts copyright file in the right place
508
509 -- Miquel van Smoorenburg <miquels@cistron.nl> Fri, 15 Nov 1996 12:23:33 +0100
510
511 sysvinit (2.66-1) unstable; urgency=medium
512
513 * Skipped 2.65. A development 2.65 got out by accident and is apparently
514 being used..
515 * Also compiles and runs with GNU libc (and on the Alpha)
516 * Fixed dowall.c not to exit when getpwuid() fails and uid == 0.
517 * Fixed init panic'ing on empty lines in /etc/inittab
518 * Changed default PATH to include /usr/local/sbin
519 * Set /dev/console as controlling terminal for sysinit,bootwait,wait,powerwait
520 This allows using ^C to interrupt some parts of eg the boot process.
521 * Remove old symlink in /var/log/initlvl; let init check both
522 /var/log and /etc itself.
523
524 -- Miquel van Smoorenburg <miquels@cistron.nl> Tue, 29 Oct 1996 13:46:54 +0100
525
526 2.66 29-Oct-1996
527 - Skipped 2.65. A development 2.65 got out by accident and is apparently
528 being used..
529 - Fixed dowall.c not to exit when getpwuid() fails and uid == 0.
530 - Fixed init panic'ing on empty lines in /etc/inittab
531 - Changed default PATH to include /usr/local/sbin
532 - Ported to Linux/Alpha and GNU libc.
533 - Set /dev/console as controlling terminal for sysinit,bootwait,wait,powerwait.
534 This allows using ^C to interrupt some parts of eg the boot process.
535 - Remove old symlink in /var/log/initlvl; let init check both
536 /var/log and /etc itself.
537
538 2.64 28-Jun-1996
539 - Init checks CONSOLE environment variable on startup (overrides /dev/console)
540 - Init sets CONSOLE variable for all its children.
541 - Wtmp(): when zeroing out old utmp entries, keep ut_id field
542 - Wtmp(): try to re-use ut_id field if possible.
543 - SetTerm(): only read from /etc/ioctl.save if written once.
544 - Included start-stop-daemon, C version (source only).
545 - Fixed wait() for the emergency shell.
546 - killall5: ignore signal before doing kill(-1, pid).
547
548 2.63 14-Jun-1996
549 - Fixed preinst script for Debian
550 - Fixed init.c to become init daemon if name is init.new
551 - Fixed pidof to not return PIDs of shell scripts
552
553 2.62-2 09-Jun-1996
554 - Changed debian /etc/init.d/boot script to create a nologin file
555 at boot and to remove it just before going multiuser.
556
557 2.62 31-May-1996
558 - Decided to release a 2.62 version with a BIG WARNING about upgrading
559 init in it. Will send a patch to Linus for the linux/Documentation/Changes
560 file so that 2.62 or later is mentioned as the version to upgrade to.
561 - Added docs for Slackware
562
563 2.61-3 29-May-1996
564 - Fixed debian/etc/init.d/network for the lo device.
565 - Added "-xdev" to the cd /tmp && find in debian/etc/init.d/boot
566 - Made remove time for files in /tmp configurable.
567
568 2.61 29-Apr-1996
569 - Changed /etc/init.d/boot script again
570 - Fixed problem in init.c with trailing whitespace after entries in inittab
571 - Fixed killall5 problems
572 - Added manpage for lastb
573 - Added SHELL= environment variable to sulogin
574 - Fixed sulogin & shadow problems
575 - Added timeout option to sulogin
576
577 2.60-2 16-Apr-1996
578 - Fixed sulogin (didn't work if root wasn't first entry in shadow file)
579 - Fixed mesg for systems with "tty" group (such as Debian)
580 - Fixed nsyslog() in killall5.c
581
582 2.60 01-Apr-1996
583 - Fixed race condition in init.c, resulting in hanging shutdowns.
584 Courtesy of Max Neunhoeffer <Max.Neunhoeffer@urz.uni-heidelberg.de>.
585 - Fixed debian/etc/init.d/boot for swapon and mdadd
586 - Added architecture to debian.control
587 - Added manpages for rc.boot and rc.local
588 - Updated inittab manpage for 4-character runlevel field
589 - Added debian replaces for bsdutils < version_without_mesg
590 - Fixed init.c so that it also works with kernels 1.3.81 and up
591
592 2.59 10-Mar-1996
593 - Init logs less to syslog (suspected to hang in syslog() or openlog() )
594 - removed closelog() from init.c
595 - removed time check of runlevel record in halt.
596 - Added options to last to get hostname from ut_addr field
597 - Added last and mesg to installation targets
598 - rewrote /etc/init.d/boot a bit.
599
600 2.58-2 04-Jan-1996
601 - Changed etc/init.d/rc to do a stty onlcr
602 - Added /var/log/initrunlvl symlink
603
604 2.58-1 31-Dec-1995
605 - Added the latest debian files.
606 - Added support for 4-character id fields (if you have libc5).
607 - Fixed pidof (in killall5) parsing of /proc/.../stat
608 - Save restore GMT setting in /etc/init.d/boot
609
610 2.57d 03-Dec-1995
611 - Added sulogin
612 - Added "-b" flag to init, gives a shell before
613 anything else (in case the startup scripts are screwed)
614 - Moved fastboot to /fastboot
615 - Folded in Debian patches.
616 - Removed old scripts
617 - Added debian /etc/directory.
618
619 2.57c 08-Oct-1995
620 - Changed over to init_request (with initreq.h)
621 - Processes no longer killed when "process" field
622 changes, change takes effect after next respawn.
623
624 2.57b xx-Aug-1995
625 - Bugfix release for Debian and Slackware 3.0
626
627 2.57a 10-Jul-1995
628 - Fixed race condition init init.c wrt got_chld
629 - Fixed one-off for malloc in killall5.c
630 - Changed dowall.c
631 - Console code: no relink to /dev/systty on CTRL-ALT-DEL)
632
633 2.57 22-May-1995
634 - Changed a few things here and there, didn't
635 really document it :)
636
637 2.55 17-Jan-1995
638 - Added option to shutdown to run standalone.
639
640 2.54 12-Jan-1995
641 - Added GNU copyrigh to all *.[ch] files.
642 - added /etc/initscript
643 - reboot and halt now call shutdown in runlevels 1-5
644 - Can run from read-only root (CDROM)
645
646 2.53 10-Oct-1994
647 - Renamed pidof to killall5, updated all scripts to
648 use killall5 instead of kill -1 ....
649 - Rewrote scripts to use this, and some general changes.
650 - Added SysV command line compatibility to shutdown.
651
652 2.52 30-Aug-1994
653 - Added `powerfailnow' keyword, for when UPS battery is low.
654 - Updated `last'.
655 - Fixed utmp handling (wrt. CLEAN_UTMP)
656 TODO:
657 * Make last compatible with GNU/BSD (long options?)
658 * update powerd
659 * remote SIGPWR broadcast? in powerd? (with priv. port)
660 * remote shutdown
661
662 2.50 14-Feb-1994
663 - Ignores unknown command line arguments.
664 - Modelled more after the "real" sysVinit
665 - Lots of changes all over the place.
666 (like showing runlevel in "ps" listing, logging
667 runlevel into utmp file etc)
668 - now using "reliable" signals instead of V7 style.
669 - Updated all scripts. Examples are in two directories:
670 etc (normal) and etc-sysv (sysv style scripts).
671 - runlevel 0 = halt, 1 = single user, 6 = reboot.
672 - added support for serial console.
673 - updated Propaganda, manpages.
674 - added shutdown access control.
675
676 2.4 24-May-93
677 - Send out the official version into the world as
678 SysVinit-2.4.tar.z.
679
680 2.4g 15-May-93
681 - Changed init to really catch SIGPWR 'cause we
682 hooked up an UPS to the Linux machine. The
683 keyword for catching the TreeFingerSalute is
684 now "ctrlaltdel" instead of "power{wait,fail}".
685
686 2.4a 22-Apr-93
687 - Fixed last to reckognize BSD style wtmp logging.
688 - Changed init to write wtmp records that are
689 SysV compliant but are also reckognized by the
690 BSD last. Added a '+' option to the 'process'
691 field of inittab, for getties that want to do
692 their own utmp/wtmp housekeeping (kludge!).
693 - Now accepts a runlevel on the command line,
694 and reckognizes the 'auto' argument. (Sets the
695 environment variable AUTOBOOT to YES)
696
697 2.2.3 24-Mar-93
698 - Ripped out the 'leave' action. To difficult, and
699 unneeded.
700 - Going single user now kills _all_ processes.
701 - Added '-t secs' option to all commands.
702 - This version is stable enough to post.
703
704 2.2 02-Mar-93
705 - Made wait()'s asynchronous
706 - Changed whole thing to one big state machine
707 - Now using 'pseudo levels' # & * for SYSINIT & BOOT
708 - Added a new type of 'action', called leave. This
709 process will be executed when the system goes from a
710 runlevel specified in it's runlevel field to a
711 level that's not. Nice to bring down NFS and the like.
712
713 2.1 28-Jan-93
714 - Fixed a bug with 'boot' and 'once'.
715 - Check 'initdefault' for validity.
716 - Reckognizes "single" as command line argument.
717 - Retries execvp with 'sh -c exec ..' if command
718 is a shell script. (shouldn't execvp do this?)
719 - Added patches to use syslog if defined.
720
721 2.0 08-Dec-92
722 - Rewrote the code totally, so started with a new
723 version number.
724 - Dropped Minix support, this code now is Linux - specific.
725 - With TEST switch on, this init & telinit can
726 run standalone for test purposes.
727
728 1.3, 05-Jul-92
729 - Got a 386, so installed Linux. Added 'soft' reboot
730 to be default under linux. Fixed some typos.
731
732 1.2, 16-Jun-92
733 - Bugreport from Michael Haardt ; removed deadlock
734 and added 'waitpid' instead of 'wait' for SYSV.
735
736 1.1, 30-Apr-92
737 - Read manual wrong: there is no 'action' field called
738 process, but all entries are of type process. Every
739 'process' get exec'ed by /bin/sh -c 'exec command'.
740 - Rapidly respawning processes are caught in the act.
741 - _SYSV support is really Linux support,
742 done by poe@daimi.aau.dk on 25-Mar-92.
743
744 1.0, 01-Feb-92
745 - Initial version, very primitive for the Minix
746 operating system. Required some mods. to the
747 kernel.
748