New versions of sysvinit, insserv, and startpar

Jesse Smith jessefrgsmith at
Wed Sep 11 20:57:45 BST 2019

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:

Please report bugs to our issue tracker, here:

- Jesse


?????? * 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".


- 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.

More information about the Debian-init-diversity mailing list