New stable releases

Jesse Smith jessefrgsmith at
Sat Jun 15 18:29:02 BST 2019

Since everything went well during the past few weeks of testing, I am
publishing new versions of SysV init, insserv and startpar. These
packages are virtually identical to the beta snapshots from a few weeks
ago, with a new name and updated changelogs.

Here is a quick summary of key changes:

In the SysV init package, pidof no longer allows complex formatting of
output, since it caused security issues and potential memory errors
without a strong benefit. Now we allow the user to specify the output
delimiter and other tools, like tr, can be used to further format output.

Documentation has been updated and hopefully halt, and related options,
are now more clear.

We now use millisecond sleep delays when shutting down, rather than full
second sleeps, which should provide an average of around half a second
improvement to shutdown/reboot times.

We no longer link against sepol library, which was not being used
anyway. This offers no practical change, but cleans up the Makefile.

There are a couple of significant changes to insserv. The testsuite we
inherited from Debian has been cleaned up and now works with the insserv
Makefile.Running "make check" causes all the tests to be run. If a test
fails, the data it was using is left on the disk for examination rather
than being cleaned up. A failing test causes the testsuite to stop
rather than keep running tests so we can focus on the case which causes
the error.

In cleaning up test cases we found a bunch of situations where insserv
should handle situations more gracefully and/or print warnings and these
have been addressed.

Perhaps most importantly, the Makefile no longer overwrites the
insserv.conf file during installs. If the insserv.conf file already
exists, we create a fresh example config called insserv.conf.sample.
This should make testing new insserv versions much less painful.

The file /etc/insserv/file-filters, if it exists, can contain a list of
file extensions to ignore when processing scripts in /etc/init.d. The
insserv command already had an internal list of common extensions to
ignore, and this allows admins to expand that list.

The startpar command is now installed in /bin instead of /sbin since
regular users can use the utility. Also the manual page has moved from
section 8 to section 1 to reflect this change.

During testing we originally planned to move makefile-style dependency
information from /etc to either /var or /lib, but this proved
problematic when dealing with network-mounted filesystems, some existing
tools and, in the latter case, FHS. So those plans were put aside and
the dependency information has remained in /etc for now. We may revisit
this later if a good alternative location is presented and tested.

The new stable packages for sysvinit-2.95, insserv-1.20.0 and
startpar-0.63 can be found on the Savannah mirrors:

Complete SysV init changes

?????? * Fixed various typos and control codes in manual pages.
?????????? Patch provided by Bjarni Ingi Gislason.
?????? * Dropped "-f" format flag for pidof command as it
?????????? could be used to print information from memory or crash
?????????? pidof. Replaced flag with "-d" which allows for a custom
?????????? separator to be used between listed PIDs.
?????????? Patch supplied by KatolaZ.
?????? * Updated manual page to describe -h and its modifiers (-H and -P)
?????????? in more detail. Should close Debian bug #374039.
?????? * Use millisecond delays in init so that shutdown
?????????? can happen without a near-full-second delay after
?????????? all processes have terminated. Replaced do_sleep()
?????????? with do_msleep(), provided by Serge Belyshev.
?????? * Replaced hardwired sleep constants in init.c with
?????????? defined constants for easy updating in the future.
?????? * Accepted patch from Luc Gommans which explains why zombie and
?????????? deep sleep processes (Z and D) may be hidden from pidof.
?????? * Removed link instruction against sepol library from src/Makefile.
?????????? This has no change to the resulting binary, just makes the
?????????? Makefile cleaner.

Complete insserv changes

- Update insserv manual page to refer to startpar(1)
?? instead of startpar(8).
- The insserv program now warns when a script has the
?? same runlevel specified in both the Default-Start
?? and Default-Stop fields of its LSB header.
?? Should close Debian bug #538304.
- Added tests/run-testsuite to Makefile's "check" target
?? for Debian bug #926547.
- Fixed minor typos in output text and in man page.
- Added -i flag for insserv which allows user to specify
?? a specific directory for the Makefile-style depdnency files.
- Fixed run-testsuite script to use new syntax/location
?? of Makefile-style dependency files.
- When a scripted test fails, the test script now stops without cleaning up
?? to make sure we can look at the data that insserv provided.
- Temporary script data is now cleaned up using "make distclean".
- Fixed run-testsuite to fix backward Required-Stop logic test.
- When an initscript contains a "$service" dependency which
?? cannot be resolved (ie $service does not expand or does not exist)
?? insserv will display a warning. The initscript is still added.
- The insserv program now loads optional extensions from
?? which will be ignored if found in the init.d directory. This allows admins
?? to filter out file extensions which may be used to manage services
(such as
?? .git or .puppet).
?? Closes Debian bug #622878
- The Makefile no longer overwrites existing /etc/insserv.conf file if
it exists.
?? This could cause errors next tme insserv was run if distro-specific/local
?? changes were overwritten. If the /etc/insserv.conf file already exists
?? we make a new file called /etc/insserv.conf.sample instead.

Complete startpar changes

* Used constants for some strings instead of checking sizeof().

* Made makefile parsing more fault talerant so the parsing function
?? returns an error instead of immediately calling exit().

* Updated manual page with new Makefile-style flag and location
?? information.

* Switched manual page location for startpar from
?? section 8 (admin tools) to 1 (general system tools)
?? since it can be used by anyone.

* Move startpar install location from /sbin to /bin since it can
be used by regular users for some tasks.

More information about the Debian-init-diversity mailing list