[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sysvinit-devel] New beta release

From: Jesse Smith
Subject: [sysvinit-devel] New beta release
Date: Sat, 18 May 2019 13:24:12 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1

I have uploaded new beta packages for sysvinit, insserv and startpar.
These new packages mostly fix minor bugs and address documentation
changes, but there are also some key feature changes.

In particular, startpar now loads Makefile-style dependency information
from /var/lib/insserv/ instead of /etc/init.d/. It is possible to
override this and use the old location. Likewise, insserv now defaults
to writing Makefile-sty;e dependency information to /var/lib/insserv/.
Again, the location can be changed back to the old /etc/init.d directory
if need be. In both programs the command line flag to use the classic
location is "-l" (lower-case L).

The startpar program has become more fault-tolerant when it runs into a
problem in a Makefile-style dependency, returning an error instead of

There were a couple of other noteworthy changes to insserv:

1. When installing, insserv's Makefile no longer overwrites the existing
/etc/insserv.conf configuration file. This was dangerous on distros with
custom configurations for insserv. Instead we put the default config
file in /etc/insserv.conf.sample if a config file already exists.

2. The test scripts we inherited from Debian in a previous release have
been cleaned up, now work with insserv's default locations for files,
and no longer overwrite any system information when run as root. The
scripts also exit when they encounter an error in a test and leave the
test data on the disk so it can be examined. Setting up and removing
test data is handled automatically by the Makefile. Tests can be run
using "make check" in the top-level directory.

3. The insserv program can be taught to ignore files with certain
extensions, like .git or .svn, when it scans for scripts in the
/etc/init.d/ directory. The manual page has details.

There were two important changes in the sysvinit package:

1. The pidof command no longer accepts "-f" to format output strings
(this was introduced in the previous version and caused too many
problems). Now we use "pidof -d" to separate output fields.

2. When shutting down init now checks in sub-second increments if it can
proceed. It used to sleep at least a second between checks, slowing down
the shutdown process.

The full changelogs for all three packages are listed below. The beta
packages (sysvinit-2.95-beta, insserv-1.20.0-beta, and
startpar-0.63-beta) can be found here:

I am hoping to publish stable releases around mid-June, assuming no
serious problems are encountered with the beta snapshots.

- Jesse

sysvinit changlog

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

insserv changelog

- The insserv command now places Makefile-style
  dependency files in the /var/lib/insserv/ directory.
  This information was previously kept in /etc/init.d/.
  The --legacy-path (-l) flag has been added to insserv's
  command line options which allows the old, /etc/init.d/
  path to be used to store dependeny information.
- 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.

startpar changelog

* startpar now looks for Makefile-style dependency scripts in
  /var/lib/insserv/ by default. If no scripts are found there
  it will fall back to using the legacy /etc/init.d/ location.
  If no scripts are found there, startpar will print an error
  and exit.

* Added -l flag to modify -M. When -l is used, startpar skips looking
  in the /var/lib/insserv/ directory for Makefile-style scripts. The
  -l flag jumps straight to looking in the /etc/init.d/ directory.

* 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

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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]