I am pleased to announce a new version of the SysV init software, along with new versions of its companion projects: insserv and startpar. The new versions mostly correct bug fixes and polish the testsuites, but there are some key new features as well.
In the sysvinit suite, the pidof program can now be used to check for zombie and I/O sleeping processes. In the past pidof would always skip processes in the Z and D states, to avoid hanging. Now passing the -z flag to pidof will risk checking for processes in the D and Z states. The output of readbootlog as been cleaned up a bit. The bootlogd logger now accepts a flag (-e) which tells it to save all data it receives to its log, even escape characters. this may make the log more cluttered, however it also makes the log look nicer when viewed with "less -R". The insserv program mostly has documentation fixes and updates. The big new feature is the "-q" flag. When insserv is run with "-q" it runs in quiet mode. This avoids printing any warnings to the console and only prints an error if it is really serious, something that would cause insserv to abort. This should avoid displaying confusing warning messages the user does not need to see, especially when insserv is run from a script like rc-update The startpar program got the most attention this development cycle. Along with minor code fixes and improvements to the documentation, there were a handful of important improvements to startpar. The first is the test suite was updated to number tests in their output. This makes it easier to identify which tests passed and which failed. There was a regression in startpar which could cause it to inncorectly think jobs were supposed to be run interactively (in serial). If this happened jobs would run one at a time instead of in parallel, greatly slowing jobs on multi-core machines. This has been fixed. When run with the "-n" flag, startpar will prefix output with the name of the program or script that is printing. This makes it easier to sort or log output from multiple jobs. The startpar code is now optimized (-O2) by default. This should make its executable smaller and it run faster. When startpar prints buffered output from jobs, it now appends a newline character (if one did not already exist at the end of the output). This avoids seeing text from two or more jobs on the same line. A complete changelog for each program is listed below. The source code for the new releases can be found on the Savannah mirrors, here: http://download.savannah.nongnu.org/releases/sysvinit/ Please report bugs to our issue tracker, here: https://savannah.nongnu.org/bugs/?group=sysvinit - Jesse sysvinit-2.96 ============= * Added -z command line paramter to pidof which tells pidof to try to find processes in uninterruptable (D) or zombie (Z) states. This can cause pidof to hang, but produces a more complete process list. Closes Savannah bug #56534 * Reformatted init code to make if/while logic more clear. * Cleaned up some output from readbootlog. * Added -e flag to bootlogd. When -e is used, data saved to the boot log file does not have escape characters removed. This means colour and cursor movement codes stay in the log file. The may then look nicer when read with "less -R', but may appear cluttered or out of alignment when viewed with other, plain-text tools. When -e is not used, escape characters are removed/filtered. Closes Debian bug #672361. * Make sure src/Makefile cleans up all executable files when parent Makefile calls "make clean". insserv-1.21.0 ============== - Fixed typo in insserv.8 manual page. - Make it clear that when --verbose (-v) flag is used, status information is printed to stderr. - Added silent (-q) flag which blocks warning messages to stderr. In this mode insserv only prints fatal error messages. - Fixed typo when assigning directory path when -i is used. Updated testsuite to match fixed directory path when -i is used. startpar 0.64 ============= * Added sys/sysmacros.h header on non-FreeBSD systems to make it possible to use makedev(). * Fixed typos in manual page. Patches provided by Dmitry Bogatov. * Make sure we do not try to use unallocated memory when detecting consoles. * Fixed handing of overriding location of init.d on the command line. * Fixed testsuite script to give better results to tests. Numbered tests so mixed "success" and "failure" messages would be more clear. * Updated testsuite to work with insserv 1.20.0. * Fixed regression which could cause jobs to run in serial (interactive mode) instead of parallel when devpts check failed. Should greatly increase performance on affected systems. * Added -n flag which will prefix output from running jobs with the name of the executable being run. * Added optimization flag to startpar (-O2). Can be overridden by passing "OPT" variable to Makefile. * Made sure output lines from parallel jobs end with a newline character.