That unity pulls in OpenRC which in turn pulls in most of legacy
system that causes lots of troubles as it is too smart, thus not
recommended.
Moreover, SystemD developers seems to agree that a service file per DM
is the best approach, so having gdm.service, kdm.service, slim.service
is better than a single wrapper for them.
With the introduction of native shutdown/reboot, the killall.service was
removed (as this functionality was moved into systemd-shutdown).
Without killall.service though, the umount*.service files no longer work
correctly.
Wit native mount support those files are also no longer necessary, so
remove them.
1) Just ship rc-local as-is; don't worry about the 'local' name.
2) Don't install rc-local and prefdm to /etc ; just enable them globally for the system in /lib.
The property StopRetroactively= needs to be per-dependency, not
per-unit, in order to properly express dependencies between .mount units
and its .device and fsck .service units. If the .device unit is
unplugged the mount should go away, but if the fsck process terminates
the .mount should stay.
This commit deletes all references to killall.service for the default
services. The distribution specific services will be modified in a
separate commit.
Previously Ubuntu was treated as being equivalent to Debian, but the two
distributions require different behaviour in certain places. This commit does
not change the behaviour of systemd on either distro but it creates a
framework for changes to be introduced by later commits.
The following previously meant "Target is Debian or Ubuntu".
* configure option "--with-distro=debian"
* C preprocessor symbol "TARGET_DEBIAN"
* Automake conditional "TARGET_DEBIAN"
After this commit, all of the above are redefined to mean "Target is Debian"
The following are introduced to mean "Target is Ubuntu".
* configure option "--with-distro=ubuntu"
* C preprocessor symbol "TARGET_UBUNTU"
* Automake conditional "TARGET_UBUNTU"
Most code written for Debian will also be applicable to Ubuntu. An extra
Automake conditional "TARGET_DEBIAN_OR_UBUNTU" is introduced to avoid
duplication of code that would otherwise occur.
This commit updates configure.ac, Makefile.am and distro-specific source files
in line with the above definitions.