--- /dev/null
+Building Dinit
+=-=-=-=-=-=-=-
+
+Buildingn Dinit should be a straight-forward process. It requires GNU make.
+
+Edit the "mconfig" file to choose appropriate values for the configuration variables defined
+within. In particular:
+
+ CXX : should be set to the name of the C++ compiler (and linker)
+ CXXOPTS : are options passed to the compiler during compilation
+ EXTRA_LIBS : are any extra libraries required for linking; should not normally be needed.
+
+Defaults for Linux and OpenBSD are provided. Note that the "eg++" package must be installed
+on OpenBSD as the default "g++" compiler is too old.
+
+Then, change into the "src" directory, and run "make" (or "gmake" if the system make is not
+GNU make):
+
+ cd src
+ make
Dinit
-----
-v0.1 (pre-release)
+v0.02 (pre-release)
What is it?
if configured to do so).
Dinit is designed to work on POSIXy operating systems such as Linux and
-OpenBSD. It is written in C++ and uses the "libev" event handling library.
+OpenBSD. It is written in C++ and uses the "Dasynq" event handling library,
+which was written especially to support Dinit.
+
Development goals include clean design, robustness, portability, and
avoiding feature bloat (whilst still handling a variety of use cases).
Dinit was written by Davin McCall <davmac@davmac.org>.
+See BUILD for information on how to build Dinit.
+
Introduction to services
=-=-=-=-=-=-=-=-=-=-=-=-
If a service stops and becomes inactive (i.e. it is not explicitly marked
active and has no active dependents) then any services it depends on will
also be marked inactive and stopped unless they have other active
-dependents (or are explicitly active).
+dependents, or were explicitly started and marked active.
What this means is that, in general, starting an (inactive, stopped)
service and then stopping it will return the system to its prior state -