Skip to content

Commit

Permalink
README: Implement format prescribed in OXT-138.
Browse files Browse the repository at this point in the history
This adds a bit of a narative on top of the detailed notes that Jed
added a while back.

OXT-140

Signed-off-by: Philip Tricca <[email protected]>
  • Loading branch information
flihp committed Feb 6, 2015
1 parent ebb0cdc commit 563d2d3
Showing 1 changed file with 40 additions and 21 deletions.
61 changes: 40 additions & 21 deletions README
Original file line number Diff line number Diff line change
@@ -1,8 +1,22 @@

Quick documentation
Bootage - a parallel initscript launcher
========================================
It's a bit like poor man's upstart ...

Abstract
--------
Bootage is a task execution program providing a small subset of the
functionality found in sysvinit, upstart etc. It collects data about
dependencies between a set of startup script and then executes these scripts
in dependency order. This program was intended to be a faster replacement for
the sysvinit process. With the advent of systemd and other sysvinit
replacements, bootage should be retired in favor of something maintained by
the larger Linux community (see: https://openxt.atlassian.net/browse/OXT-59).

Description
-------------------

Format of optional config file /etc/bootage.conf:
Bootage will parse an optional config file found at /etc/bootage.conf on
startup. Blank lines and lines starting with # are ignored. Entries in this
file are in the following format:

script NAME
dep DEPENDENCY...
Expand All @@ -16,25 +30,30 @@ script ssh
dep network autofs
start 2 3 4

Blank lines and lines STARTING with # are ignored

Any scripts found in the rcX.d directory but not mentioned, will
auto-depend on every script with a lower sequence number.

Scripts that have a dep line in the config file will not depend
on anything not explicitly specified there.

The directives from the config file have the following meaning:
script: The name of the script.
dep: Other scripts that must be run before this one.
start: Run levels at which this script will be run.
stop: Presumably the run levels where this script will be stopped during
shutdown but this doesn't seem to be implemented.
block: The runlevels at which the script will not be run EXCEPT in the case
where a 'start' stanza explicitly requires it. The purpose of this
behavior is unknown.

Any scripts found in the rcX.d directory but not mentioned in bootage.conf will
auto-depend on every script with a lower sequence number. Scripts that have a
dep line in the config file will depend only on the scripts explicitly stated.
Dependencies that are not to be started will be ignored.

All scripts will be started as soon as their dependencies have
completed startup.
All scripts will be started as soon as their dependencies have completed
startup. Scripts that are mentioned in bootage.conf but don't exist in rcX.d
will be run if the runlevel matches.

Scripts that are mentioned in bootage.conf but don't
exist in rcX.d will be run if the runlevel matches.
If a script is mentioned in rcX.d and the config file it will be started
regardless of any "start" directive.

Scripts that are blocked will not be run in the listed
runlevels EXCEPT if a following "start" stanza explicitly
requests it (now whyever would you want to do that!?)
Dependencies
------------
Bootage links against librt. At runtime it needs startup scripts to do anything
meaningful.

If a script is mentioned in rcX.d and the config file it
will be started regardless of any "start" directive.

0 comments on commit 563d2d3

Please sign in to comment.