Michal Schmidt [Wed, 9 Nov 2011 07:42:03 +0000 (08:42 +0100)]
units: drop unnecessary 'StandardOutput=syslog'
DefaultStandardOutput is syslog anyway. There's no reason to assume that
the administrator would want these units to be excluded when he configures
a different DefaultStandardOutput.
Michal Schmidt [Mon, 7 Nov 2011 00:08:21 +0000 (01:08 +0100)]
man: fix a typo in signal number
Michal Schmidt [Sun, 6 Nov 2011 22:55:06 +0000 (23:55 +0100)]
utmp: for DEAD_PROCESS write the current time to wtmp
Zeroed .ut_tv values in wtmp confuse chkrootkit.
Reported and debugged by Norman Smith. This is based on his patch,
but modified to behave more like upstart did in F14 and cleaned up.
https://bugzilla.redhat.com/show_bug.cgi?id=743696
Michal Schmidt [Sun, 6 Nov 2011 22:31:46 +0000 (23:31 +0100)]
utmp: initialize store with the found entry, not with the lookup key
Michal Schmidt [Sun, 6 Nov 2011 22:07:54 +0000 (23:07 +0100)]
utmp: no need to zero a struct before overwriting it with memcpy
Michal Schmidt [Sun, 6 Nov 2011 22:06:38 +0000 (23:06 +0100)]
utmp: remove unneded parameters
With these functions no caller ever passes anything else than 0
for 't' (meaning the current time will be used).
Lennart Poettering [Thu, 3 Nov 2011 18:55:36 +0000 (19:55 +0100)]
update TODO
Lennart Poettering [Thu, 3 Nov 2011 18:42:53 +0000 (19:42 +0100)]
cgroup: immediately remove all cgroups which run empty
Some controllers have scaling problems when many empty cgroups exist.
Hence, as soon as we get a notification that a cgroup is empty, delete
it. This is also nice to keep the systemd-cgls output short.
Lennart Poettering [Wed, 2 Nov 2011 13:08:49 +0000 (14:08 +0100)]
Merge remote-tracking branch 'zbigniew/systemadm_changes'
Ran Benita [Wed, 2 Nov 2011 08:48:51 +0000 (10:48 +0200)]
bash-completion: rename file since it is no longer for systemctl only
Ran Benita [Wed, 2 Nov 2011 08:48:50 +0000 (10:48 +0200)]
bash-completion: add completions for systemd-loginctl
This script is straightforward and should give proper completions for
all of systemd-loginctl's verbs.
Ran Benita [Wed, 2 Nov 2011 08:48:49 +0000 (10:48 +0200)]
bash-completion: update with new verbs and arguments
Adds arguments --root= --runtime --no-legend.
Adds verbs link mask unmask reenable list-unit-files.
Also uses list-unit-files to make nicer enable and disable completions.
Rebased due to changes in systemctl.
Dexter Morgan [Fri, 28 Oct 2011 17:16:33 +0000 (19:16 +0200)]
Add Mageia support
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.
Lennart Poettering [Tue, 1 Nov 2011 22:53:15 +0000 (23:53 +0100)]
update TODO
Tom Gundersen [Mon, 17 Oct 2011 11:01:08 +0000 (13:01 +0200)]
cryptsetup-generator: avoid ordering cycle on swap
Devices with random keys (swap), should not be ordered before local-fs.target,
as this creates a cycle with systemd-load-random-seed.service (and also it
does not make sense, a swap device is not a local-fs).
Lennart Poettering [Tue, 1 Nov 2011 21:29:48 +0000 (22:29 +0100)]
units: drop [Install] section from remote-fs-pre.target
remote-fs-pre.target is not a unit a user should ever explicitly enable.
Instead services which need to hook before network mounts should pull it
in.
Lennart Poettering [Tue, 1 Nov 2011 21:27:48 +0000 (22:27 +0100)]
mount: order remote mounts after both network.target and remote-fs-pre.target
Since remote-fs-pre.target is optional we cannot count on it to order
remote mounts after network.target, so let's add that order explicitly
in addition to remote-fs-pre.target.
https://bugzilla.redhat.com/show_bug.cgi?id=749940
Lennart Poettering [Tue, 1 Nov 2011 21:02:36 +0000 (22:02 +0100)]
cgroup: always recreate cgroup before we try to apply attributes
We might have trimmed the cgroup tree previously, hence don't trust our
own "realized" flag, always recreate cgroup tree before applying our
attributes to make sure this actually works out.
https://bugzilla.redhat.com/show_bug.cgi?id=749687
Lennart Poettering [Tue, 1 Nov 2011 17:18:17 +0000 (18:18 +0100)]
initctl: don't use dbus connection after PID 1 got respawned
After reexec PID 1 our bus connection is invalidated. Hence don't try to
reuse it, just terminate so that when we are spawned the next time we
just get a new one.
Spotted by Marti Raudsepp.
Thomas Jarosch [Wed, 26 Oct 2011 07:38:39 +0000 (09:38 +0200)]
condition: Fix file descriptor leak in test_capability()
Detected by cppcheck.
Tom Gundersen [Sat, 22 Oct 2011 16:47:08 +0000 (18:47 +0200)]
random-seed: convert poolsize from bits to bytes
The problem was first noted in a bug report against Arch's initscripts.
Reported-by: Taylan Ulrich Bayırlı <taylanbayirli@gmail.com>
Reported-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Lennart Poettering [Tue, 1 Nov 2011 13:20:31 +0000 (14:20 +0100)]
plymouth: fix ply proto endianess issues
Plymouth enforces LE even for the local Ply proto, hence we should do
the conversion properly for BE arch compat.
Tracked down by Harald Hoyer.
https://bugzilla.redhat.com/show_bug.cgi?id=744415
Lennart Poettering [Tue, 1 Nov 2011 12:52:28 +0000 (13:52 +0100)]
README: explain dependency on cgroups
Lennart Poettering [Tue, 1 Nov 2011 12:48:30 +0000 (13:48 +0100)]
update TODO
Zbigniew Jędrzejewski-Szmek [Mon, 24 Oct 2011 09:49:59 +0000 (11:49 +0200)]
systemctl: make list-unit-files output more economical
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 ]
Dave Reisner [Wed, 12 Oct 2011 00:56:53 +0000 (20:56 -0400)]
systemctl-completion: always invoke with --no-legend
In the case of completion for the 'restart' verb, passing the invalid
unit name (the colums header) causes completion to cease functioning
entirely, with the error:
Failed to issue method call: Unit name UNIT is not valid.
This adds a small wrapper function for systemctl which can have common
options added to it.
Jonathan Nieder [Mon, 17 Oct 2011 19:01:40 +0000 (21:01 +0200)]
audit: do not complain if kernel lacks audit
When running on a kernel without audit support, systemd currently
writes a mysterious-sounding error to its log:
systemd[1]: Failed to connect to audit log: Protocol not supported
Better to suppress the audit_open() failure message when (and only
when) it is due to running on a kernel without audit support, since in
this case the admin probably does not mind systemd not writing to the
audit log. This way, more serious errors like ENOMEM and EACCES will
stand out more.
Tollef Fog Heen [Mon, 17 Oct 2011 19:00:42 +0000 (21:00 +0200)]
service: Drop rcN.d runlevels from SysV services that also exist in rcS.d
Services which claim to start in both rcN.d and rcS.d generate
loops which for some reason seems to usually end up with dbus not
starting and the whole machine being quite unhappy. We now rather
assume that if a service can be started in rcS, it should not also
start in rcN.d.
Fixes Debian bug #637037
Michal Schmidt [Mon, 17 Oct 2011 09:12:12 +0000 (11:12 +0200)]
manager: fix a crash in isolating
HASHMAP_FOREACH is safe against the removal of the current entry, but
not against the removal of other entries. job_finish_and_invalidate()
can recursively remove other entries.
It triggered an assertion failure:
Assertion 'j->installed' failed at src/manager.c:1218, function
transaction_apply(). Aborting.
Fix the crash by iterating from the beginning when there is a
possibility that the iterator could be invalid.
It is O(n^2) in the worst case, but that's better than a crash.
https://bugzilla.redhat.com/show_bug.cgi?id=717325
Lennart Poettering [Tue, 11 Oct 2011 20:30:31 +0000 (22:30 +0200)]
util: properly detect what the last capability is
Lennart Poettering [Tue, 11 Oct 2011 18:46:56 +0000 (20:46 +0200)]
build-sys: bump release for v37
Lennart Poettering [Tue, 11 Oct 2011 18:21:06 +0000 (20:21 +0200)]
service: don't try to guess PID for SysV services anymore
As it turns out there are quite a number of SysV services too broken to
make the guessing work: instead of returning in the parent only after
the child is fully initialized they return immediately. The effect is
that the guessing in systemd might happen too early, at a time where the
final main process doesn't exist yet.
By turning this off we won't try to detect the main pid anymore, with
the effect that all processes of the service in question are considered
equally likely to be the main process.
Lennart Poettering [Tue, 11 Oct 2011 18:20:01 +0000 (20:20 +0200)]
localed: make sure s-s-k doesn't create any X11 config files anymore
Zbigniew Jędrzejewski-Szmek [Tue, 11 Oct 2011 10:34:14 +0000 (12:34 +0200)]
localed: shorten generate-kbd-model-map
Output is identical.
Zbigniew Jędrzejewski-Szmek [Tue, 11 Oct 2011 09:27:06 +0000 (11:27 +0200)]
pager: add _noreturn_ to pager_fallback()
src/pager.c: In function ‘pager_fallback’:
src/pager.c:35:13: warning: function might be possible candidate for attribute ‘noreturn’ [-Wmissing-noreturn]
Lennart Poettering [Tue, 11 Oct 2011 13:16:52 +0000 (15:16 +0200)]
unit: introduce ConditionCapability
Lennart Poettering [Tue, 11 Oct 2011 12:26:20 +0000 (14:26 +0200)]
units: forgot target units
Lennart Poettering [Tue, 11 Oct 2011 02:43:29 +0000 (04:43 +0200)]
units: increase LimitNOFILE a bit
since we need one fd per session (for logind) and one fd per service
(for stdout-syslog-bridge) increase the default rlimit a bit.
Lennart Poettering [Tue, 11 Oct 2011 02:43:01 +0000 (04:43 +0200)]
logind: fail gracefully if too many sessions are created
https://bugzilla.redhat.com/show_bug.cgi?id=744726
Lennart Poettering [Tue, 11 Oct 2011 02:23:35 +0000 (04:23 +0200)]
timedate: fall back to /etc/sysconfig/clock on Fedora, for compatibility with legacy
Lennart Poettering [Tue, 11 Oct 2011 01:41:04 +0000 (03:41 +0200)]
units: remount root and API FS before all mount units are applied
In order to ensure that bind mounts copy the final mount settings to the
new bind mount make the root and API FS mount options are applied before
the other file systems are mounted.
https://bugzilla.redhat.com/show_bug.cgi?id=718464
Lennart Poettering [Tue, 11 Oct 2011 01:33:53 +0000 (03:33 +0200)]
units: introduce local-fs-pre.target and remote-fs-pre.target
This hook target enables services to order themselves between
network.target and remote mounts, which is needed for GFS2 and similar
systems.
Zbigniew Jędrzejewski-Szmek [Tue, 20 Sep 2011 07:09:15 +0000 (09:09 +0200)]
l10n: Reword the polish translation a bit
s/siedzenie/stanowisko/: they both translate to seat in English, but 'stanowisko'
is a place where you work, while 'siedzenie' is like a chair.
s/podłączanie/podłączenie/: we are doing it now, now sometime in the future.
Ran Benita [Sat, 24 Sep 2011 09:04:16 +0000 (12:04 +0300)]
man: document list-unit-files
It's documented in the --help, but not in the manpage.
Dave Reisner [Mon, 26 Sep 2011 13:25:27 +0000 (09:25 -0400)]
sd-login.h: correct spelling mistakes in comments
Miklos Vajna [Tue, 27 Sep 2011 18:45:51 +0000 (20:45 +0200)]
hostname-setup: Frugalware switched to /etc/hostname
Paolo Bonzini [Mon, 10 Oct 2011 23:43:58 +0000 (01:43 +0200)]
readahead: lower max file size for readahead
https://bugs.freedesktop.org/show_bug.cgi?id=41336
Barry Scott [Mon, 3 Oct 2011 10:50:10 +0000 (11:50 +0100)]
man: .include directive does not include as textual include it includes by parsing the include file.
This means that section headers must be used inside of
a .include file otherwise all the lines are ignored.
Barry Scott [Mon, 3 Oct 2011 10:50:09 +0000 (11:50 +0100)]
man: for ExecStart= provide more details on env var substitution and how that turns into arguments.
For EnvironmentFile= explain that double quotes can be used
to protect whitespace.
Lennart Poettering [Mon, 10 Oct 2011 23:00:08 +0000 (01:00 +0200)]
update TODO
Thomas Jarosch [Wed, 5 Oct 2011 20:31:41 +0000 (22:31 +0200)]
util: fix close() call on wrong variable
Detected by "cppcheck" (actually it detected a file descriptor leak)
Thomas Jarosch [Wed, 5 Oct 2011 20:30:49 +0000 (22:30 +0200)]
tmpfiles: fix file descriptor leak
Detected by "cppcheck"
Lennart Poettering [Mon, 10 Oct 2011 20:22:47 +0000 (22:22 +0200)]
update TODO
Kay Sievers [Sun, 9 Oct 2011 14:36:45 +0000 (16:36 +0200)]
test_virtualization: do not try to compare id in !virt context
Kay Sievers [Sun, 9 Oct 2011 13:54:20 +0000 (15:54 +0200)]
update TODO
Lennart Poettering [Fri, 7 Oct 2011 20:00:23 +0000 (22:00 +0200)]
update TODO
Lennart Poettering [Fri, 7 Oct 2011 19:00:48 +0000 (21:00 +0200)]
hashmap: use different version of DJB's hash algorithm that uses shifting instead of multiplication
Lennart Poettering [Fri, 7 Oct 2011 18:50:59 +0000 (20:50 +0200)]
update TODO
Lennart Poettering [Mon, 3 Oct 2011 23:38:13 +0000 (01:38 +0200)]
logind: properly generate session creation response on dbus
This fixes the various reported issues with dbus message parsing when
running su.
Michal Schmidt [Thu, 29 Sep 2011 19:18:17 +0000 (21:18 +0200)]
systemctl: fix corrupted output of units
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.
Lennart Poettering [Thu, 29 Sep 2011 17:44:32 +0000 (19:44 +0200)]
localed: handle multiple X11 kbd layouts
https://bugs.freedesktop.org/show_bug.cgi?id=41341
Lennart Poettering [Thu, 29 Sep 2011 14:00:29 +0000 (16:00 +0200)]
systemctl: fix error message when no connection to systemd is available
Lennart Poettering [Thu, 29 Sep 2011 13:31:53 +0000 (15:31 +0200)]
systemctl: fix detection whether the dbus connection is available
Lennart Poettering [Thu, 29 Sep 2011 13:09:18 +0000 (15:09 +0200)]
build-sys: fix build
Lennart Poettering [Wed, 28 Sep 2011 02:25:20 +0000 (04:25 +0200)]
vconsole: don't parse Fedora's KEYMAP= kernel parameters anymore
KEYMAP are use to pass keymap configuration to initrd, but not to the
system itself. Since the initrd might get out of date we need to make
sure that changes made in userspace override the settings from the
cmdline, hence drpo any use of it all for these variables.
Lennart Poettering [Wed, 28 Sep 2011 02:25:13 +0000 (04:25 +0200)]
localed: add SetX11Keyboard() and SetVConsoleKeyboard() bus calls
Kay Sievers [Tue, 27 Sep 2011 10:52:09 +0000 (12:52 +0200)]
analyze: always draw top kernel, initramfs, userspace bars
Based on Koen Kooi's patch. Renamed initrd to initramfs.
Michal Schmidt [Tue, 27 Sep 2011 09:20:20 +0000 (11:20 +0200)]
systemctl: better width and alignment of fields
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'.
Michal Schmidt [Mon, 26 Sep 2011 22:48:40 +0000 (00:48 +0200)]
systemctl: print the legend regardless of stdout type, add --no-legend
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
Michal Schmidt [Mon, 26 Sep 2011 21:02:56 +0000 (23:02 +0200)]
pager: add a trivial internal pager
In the very unlikely scenario where none of the external pagers is
available, use an internal implementation to pass stdin to stdout.
Don't bother with trying 'cat', because it's no more useful than the
internal pager.
https://bugzilla.redhat.com/show_bug.cgi?id=713707
Lennart Poettering [Fri, 23 Sep 2011 16:30:02 +0000 (18:30 +0200)]
build-sys: bump release
Lennart Poettering [Fri, 23 Sep 2011 15:42:54 +0000 (17:42 +0200)]
readahead: opt out of bridge logging for readahead in order not to delay things unnecessarily
Lennart Poettering [Fri, 23 Sep 2011 15:42:21 +0000 (17:42 +0200)]
service: fix up std output/error before we add dependencies to the bridge socket
Lennart Poettering [Fri, 23 Sep 2011 15:20:45 +0000 (17:20 +0200)]
virt: add missing header inclusion
Lennart Poettering [Fri, 23 Sep 2011 15:09:49 +0000 (17:09 +0200)]
condition: optionally test against type of virtualization (vm vs. container)
Lennart Poettering [Fri, 23 Sep 2011 15:00:33 +0000 (17:00 +0200)]
util: move virtualization detection into its own files, and extend return codes
Koen Kooi [Thu, 22 Sep 2011 13:24:18 +0000 (15:24 +0200)]
analyze: report startup time in plot mode as well
It now prints something like "Startup finished in 1507ms (kernel) + 850ms (userspace) = 2357ms" below the legend.
Koen Kooi [Thu, 22 Sep 2011 09:30:04 +0000 (11:30 +0200)]
analyze: always draw 1s marker for scale
In situations like this:
root@omap4430-panda:~# systemd-analyze
Startup finished in 1499ms (kernel) + 916ms (userspace) = 2416ms
The svg plot will only have the 0s marker and no subsequent markers for scale. This patch forces the 1s marker to always be drawn.
Michal Schmidt [Fri, 23 Sep 2011 11:58:00 +0000 (13:58 +0200)]
unit: fix complementing of requirement deps with After deps for targets
'man systemd.target' says:
Unless DefaultDependencies= is set to false, target units will
implicitly complement all configured dependencies of type
Wants=, Requires=, RequiresOverridable= with dependencies of type
After= if the units in question also have DefaultDependencies=true.
It did not work because of a forgotten negation.
Lennart Poettering [Fri, 23 Sep 2011 03:33:33 +0000 (05:33 +0200)]
util: don't fail if no id was passed to detect_container()
Lennart Poettering [Fri, 23 Sep 2011 02:38:39 +0000 (04:38 +0200)]
util: detect systemd-nspawn without relying on ns cgroup tree
Lennart Poettering [Fri, 23 Sep 2011 02:03:18 +0000 (04:03 +0200)]
nspawn: set env var container=systemd-nspawn, following the scheme lxc introduced
Lennart Poettering [Fri, 23 Sep 2011 00:53:55 +0000 (02:53 +0200)]
loginctl: fix typo
Lennart Poettering [Fri, 23 Sep 2011 00:39:54 +0000 (02:39 +0200)]
llvm-analyze: change a few things to make llvm-analyze show fewer false positives
Lennart Poettering [Fri, 23 Sep 2011 00:39:28 +0000 (02:39 +0200)]
llvm-analyze: fix some bugs found by llvm-analyze
Michal Schmidt [Fri, 23 Sep 2011 07:39:40 +0000 (09:39 +0200)]
util: improve signal_to_string, signal_from_string
signal_to_string:
Produce names for SIGRTMIN+n.
Never give an "n/a" result. In the worst case give the number itself as
a string.
signal_from_string:
Parse "RTMIN+n".
Parse any valid signal number.
Michal Schmidt [Fri, 23 Sep 2011 07:37:45 +0000 (09:37 +0200)]
manager: fix job mode for SIGRTMIN+1, +2
The test did not work as intended and always resulted in JOB_REPLACE.
Michal Schmidt [Fri, 23 Sep 2011 00:10:00 +0000 (02:10 +0200)]
condition: fix reversed tests if path does not exist at all
CONDITION_PATH_IS_DIRECTORY, CONDITION_PATH_IS_SYMBOLIC_LINK and
CONDITION_FILE_IS_EXECUTABLE gave reversed results when the path
did not exist at all.
Lennart Poettering [Thu, 22 Sep 2011 23:44:36 +0000 (01:44 +0200)]
coverity: change a few things so that coverity doesn't show so many false positives
Lennart Poettering [Thu, 22 Sep 2011 23:43:28 +0000 (01:43 +0200)]
coverity: fix a couple of bugs found by coverity
Michal Schmidt [Thu, 22 Sep 2011 21:52:38 +0000 (23:52 +0200)]
units: fix rescue.service race with plymouth
It was possible for the "ExecStartPre=-/bin/plymouth quit" to race
with plymouth-start.service which is pulled in indirectly by
basic.target -> sysinit.target.
The race left plymouth running on the terminal, making it unusable for
rescue purposes.
https://bugzilla.redhat.com/show_bug.cgi?id=710487
Lennart Poettering [Thu, 22 Sep 2011 19:37:01 +0000 (21:37 +0200)]
man: document that PathChanged= does not care for simple writes but only for close()-after-write()
Lennart Poettering [Thu, 22 Sep 2011 19:32:18 +0000 (21:32 +0200)]
unit: don't recheck conditions when a unit is already starting but unit_start() is invoked
Lennart Poettering [Thu, 22 Sep 2011 19:16:33 +0000 (21:16 +0200)]
man: document pkg-config line for sd-daemon
Lennart Poettering [Thu, 22 Sep 2011 19:13:41 +0000 (21:13 +0200)]
man: document that sd-daemon.[ch] is now available as shared library
Michal Schmidt [Thu, 22 Sep 2011 11:10:32 +0000 (13:10 +0200)]
service: warn if a service fails to write its PID file
Warn if a service promises to write a PID file (using 'PIDFile=' in the
unit file or '# pidfile:' in SysV header), but fails to keep the
promise.
This warning will likely trigger also for the forking services with a
racy daemonization, which exit the original process before the PID file
is written.
Lennart Poettering [Thu, 22 Sep 2011 02:18:18 +0000 (04:18 +0200)]
update TODO
Lennart Poettering [Thu, 22 Sep 2011 02:05:40 +0000 (04:05 +0200)]
selinux: reopen log when loading the SELinux policy fails
Lennart Poettering [Thu, 22 Sep 2011 01:29:51 +0000 (03:29 +0200)]
service: if StandardInput=socket and StandardOutput=inherit imply socket for output, don't imply default output
This is useful for inetd-style per-connection services, so that they
again can simply specify StandardOutput=socket to connect all three fds
to the socket.
Lennart Poettering [Thu, 22 Sep 2011 01:02:15 +0000 (03:02 +0200)]
udev: asynchronously mount fuse/confifgs as soon as the kmods are loaded