Be consistent in coloring of load states in list-units and status.
Print only 'error' in red.
There are no 'banned' or 'failed' states. Do not color 'masked', it's
not an error.
To do so, move the check for the bus to the bus-using portion of
list_unit_files(), and ensure that get_config_path doesn't abort when
checking the runtime path with --root.
This patch adds support for the Mageia Linux distribution:
http://www.mageia.org/
Mageia is a fork of Mandriva although some divergence has already occured
and thus inclusion of these changes upstream allow us to (hopefully)
migrate more rapidly to the new standard approaches systemd offers.
Indeed, we already use the preferred mechanism of OS identification via
the /etc/os-release file rather than a distro specific variation.
This patch mostly mirrors the patch added previously for Mandriva
support. In addition to those original authors, this patch was mostly
written by Dexter Morgan with help from Colin Guthrie and Eugeni Dodonov.
The first column is given the width of the widest entry,
if possible, otherwise all entries are ellipsized to fit
in ($COLUMNS - (width of second column)).
[ Added a few fixes, calculate state_cols too, respect '--no-legend',
better handling of '--full' -- michich ]
On some systems the list of units in systemctl output came out wrong,
all on one line and with missing descriptions.
It turns out printf() really attempts to mmap 2G memory when INT_MAX is
passed as the field width. On machines with small virtual memory
without overcommit the mmap inside printf() failed.
Do not use INT_MAX for unlimited width.
Provide nicer output by taking advantage of the available columns.
Expand UNIT and DESCRIPTION if possible. Economize the space:
- never give UNIT more width than it can use.
- if there's a shortage of space, give 25 columns to UNIT, even
if it would result in overflowing the total columns. The field would not
be useful below width 25.
- then if possible, assign up to 25 columns to DESCRIPTION.
- then split any remaining space evenly between UNIT and DESCRIPTION.
Keep the columns aligned even with '--full'.
Print the legend (the column headers and the footer with hints) by
default even to non-tty output. People seem to get confused by the
difference when they redirect the output.
Add a parameter to suppress the printing of the legend.
Related-to: https://bugzilla.redhat.com/show_bug.cgi?id=713567
If we managed to reeexec the init system via the bus this allows us to
provide synchronous behaviour to callers. This is all lost if we then
repeat the reexecution via SIGTERM.
https://bugzilla.redhat.com/show_bug.cgi?id=698198
Both SysVinit's and upstart's shutdown commands accept the number of
minutes with or without the plus sign.
'shutdown -h 1' works in RHEL 5, Fedora 14, Debian 6.
Let's be compatible.
https://bugzilla.redhat.com/show_bug.cgi?id=708886
Add --root=<root> for enable/disable/is-enabled systemctl commands. To
be used for easily enable / disable systemd services for a chroot,
without running systemctl inside chroot.