Commit graph

9371 commits

Author SHA1 Message Date
Lennart Poettering 3c1668da62 journal: add ability to list values a specified field can take in all entries of the journal
The new 'unique' API allows listing all unique field values that a field
specified by a field name can take in all entries of the journal. This
allows answering queries such as "What units logged to the journal?",
"What hosts have logged into the journal?", "Which boot IDs have logged
into the journal?".

Ultimately this allows implementation of tools similar to lastlog based
on journal data.

Note that listing these field values will not work for journal files
created with older journald, as the field values are not indexed in
older files.
2012-10-18 03:35:18 +02:00
Lennart Poettering 86b2e20a5e units: rework systemd-exit.service to terminate systemd via signal rather than bus
This should make session termination more reliable, as D-Bus doesn't
have to be around anymore for this to succeed.
2012-10-18 01:20:06 +02:00
Lennart Poettering 600b704eb0 manager: connect SIGRTMIN+24 to terminating --user instances 2012-10-18 01:19:35 +02:00
Lennart Poettering 97ae63e2a9 service: when invoking service processes in --user mode set MANAGERPID to PID of systemd 2012-10-18 01:18:50 +02:00
Lennart Poettering c978343015 timedatectl: rename --fix-system to --adjust-system-clock
Quite long to read but hopefully less misleading.
2012-10-17 22:52:21 +02:00
Lennart Poettering 935fb723ba update TODO 2012-10-17 21:51:16 +02:00
Dave Reisner f75cb30bf9 timedatectl: ensure n_zones is initialized 2012-10-17 15:44:59 -04:00
Lennart Poettering 599659860c timedatectl: properly initialize struct before decoding bus messages 2012-10-17 21:25:43 +02:00
Lennart Poettering 01539d6ef9 hostnamed: allow UTF8 chars in pretty hostname again 2012-10-17 21:25:42 +02:00
Lennart Poettering 4fa25d62bd journal: fix potential integer overflow 2012-10-17 21:25:42 +02:00
Lennart Poettering dbc4fbae58 hostname: add new hostnamectl tool as text client for hostnamed 2012-10-17 21:25:42 +02:00
Lennart Poettering 0ce8860a15 docs: install README files into /var/log and 7etc/rc.d/init.d
On systemd systems seasoned admins might be surprised to see that the
init scripts and log files are gone. To ease the transition let's place
some README files there, that hopefully help clearing up the situation.
2012-10-17 21:25:42 +02:00
Lennart Poettering c846716a5a loginctl: show pager also for status command 2012-10-17 21:25:42 +02:00
Lennart Poettering 6d0274f115 timedatectl: introduce new command line client for timedated
Much like logind has a client in loginctl, and journald in journalctl
introduce timedatectl, to change the system time (incl. RTC), timezones
and related settings.
2012-10-17 21:25:42 +02:00
Eelco Dolstra 22349cee29 Properly handle device aliases used as dependencies
If a device unit has aliases defined in udev rules, and there are
other units that depend on that alias, as in

  BindTo=sys-subsystem-net-devices-eth0.device

then systemd will fail the start the alias, and any dependent units
will time out.  See

  https://bugs.freedesktop.org/show_bug.cgi?id=52580

This is because unit_add_name() in device_add_escaped_name() will
return EEXIST.

The solution taken here is to call device_update_unit() on the alias
name.  Thus if a unit with the alias name already exists, we reuse it;
otherwise a new unit is created.  Creating multiple units for a single
device is perhaps suboptimal, but it's consistent with the treatment
of udev symlinks in device_process_new_device().
2012-10-17 09:54:53 -04:00
Lennart Poettering 5e6870eab5 journalctl: properly track rotated journals in follow mode 2012-10-16 23:00:04 +02:00
Lennart Poettering 44a5fa34d9 sd-journal: fix bad memory access 2012-10-16 22:59:28 +02:00
Lennart Poettering 4b69bfdb5b update TODO 2012-10-16 22:59:14 +02:00
Lennart Poettering fb0951b02e journal: implement time-based rotation/vacuuming
This also enables time-based rotation (but not vacuuming) after 1month,
so that not more one month of journal is lost at a time per vacuuming.
2012-10-16 22:58:07 +02:00
Lennart Poettering 1f2da9ec51 journal: sort data items of entries by offset
This should slightly optimize disk access patterns on rotating disks for
simple readers.
2012-10-16 21:40:48 +02:00
Lennart Poettering b87705cdd2 mount: don't try to initialize extra deps for mount units before initializing their basic fields
Under some circumstances this could lead to a segfault since we we
half-initialized a mount unit, then tried to hook it into the network of
things and while doing that recursively ended up looking at our
half-initialized mount unit again assuming it was fully initialized.
2012-10-16 19:50:26 +02:00
Lennart Poettering 7708588119 logind: only release logind session from the PAM module if the same module instance actually created it 2012-10-16 19:21:21 +02:00
Lennart Poettering 183de6d7d9 id128: introduce new SD_ID128_CONST_STR() macro 2012-10-16 17:02:51 +02:00
Lennart Poettering 706911fba8 journal: don't export MESSAGE_ID() macro
If it is exported it would need to be prefixed, but since we need it
exclusively internally so far, simply move it to an internal header.
2012-10-16 16:26:41 +02:00
Michael Stapelberg 37e2941d14 service: Heuristically determine whether SysV scripts support reload
This commit checks for a usage line which contains [{|]reload[|}"] (to
not errnously match force-reload).

Heuristics like this suck, but it solves a real problem and there
appears to be no better way...
2012-10-16 16:18:41 +02:00
Colin Guthrie a2ab7ee612 journal: Set the last_unused pointer correctly when attaching an unused window
It seems the previous code was copy/pasted from context_detach_window()
but not updated.
2012-10-16 16:14:46 +02:00
Colin Guthrie 89de694724 journal: Properly track the number of allocated windows.
Checks were already in place to make sure that the number of
windows was limited to 64, but the count was never incremented
or decremented.
2012-10-16 16:13:33 +02:00
Lukas Nykryn 696c245a23 systemctl: append .service when unit does not have valid suffix
systemctl status a and systemctl status a.service lead to same output but
systemctl status a.b and systemctl status a.b.service do not.
2012-10-16 16:07:37 +02:00
Lennart Poettering c3f60ec54d journalctl: add --unit=/-u to match by unit name
This applies unit_name_mangle() to the specified unit names and hence
can handle weird characters nicely and will add unit suffixes as
necessary.
2012-10-16 02:59:27 +02:00
Wulf C. Krueger 78fbaacac0 configure.ac: Add a --without-python option.
Being able to be explicit about Python support (in addition to the
default of auto-detecting it) and acting upon the result, specifying
it as an option gains us more control about both dependencies and
the resulting build.

Furthermore, relying purely on auto-detection can lead to problems for
source-based distros. E. g. systemd being built before *both* 32-bit &
64-bit ABIs are installed will lead to build failures as systemd's
build system will pick up either 32-/64-bit Python, conclude both are
available and fail if that's not the case.
2012-10-16 02:24:31 +02:00
Thomas Bächler fd59a381e3 core/swap.c: Do not add Before=swap.target to swap units.
The fstab generator adds Before=swap.target by default, and when creating
a custom .swap unit, you can also add Before=swap.target to the unit.

However, it is impossible to not have this ordering dependency right now.
Virtually all existing setups likely use the fstab generator, so this
change is unlikely to break anything.
2012-10-16 02:20:55 +02:00
Thomas Bächler 6bae23a038 core: Refuse to run a user instance when the system hasn't been booted with systemd.
Running as a user instance won't work at all if systemd isn't running as system
manager, so refuse to start in that case.
2012-10-16 02:17:46 +02:00
Daniel J Walsh 080ffcb4a1 selinux: selabel_lookup_raw can return ENOENT and be a non failure mode. 2012-10-16 01:58:42 +02:00
Daniel J Walsh a33c48d83c SELinux patch still broken, in that we are not checking the correct source context.
This patch does the dbus calls correctly.
2012-10-16 01:57:16 +02:00
Mantas Mikulėnas 2abba39d75 core: allow Type=oneshot services to have ExecReload
Use cases:

 * iptables.service – atomically reload rules without having to flush
   them beforehand (which may leave the system insecure if reload fails)

 * rpc-nfsd.service – reexport filesystems after /etc/exports update
   without completely stopping and restarting nfsd

(In both cases, the actual service is provided by a kernel module and
does not have any associated user-space processes, thus Type=oneshot.)
2012-10-16 01:36:18 +02:00
Michael Olbrich 9388e99e20 build-sys: check for name_to_handle_at declaration instead of its definition
AC_CHECK_FUNCS may be successful, even though name_to_handle_at and
'struct file_handle'  are not available.
2012-10-16 01:30:29 +02:00
Ferenc Wágner 7e505069d2 man: Fix typo in udevadm documentation 2012-10-16 01:11:42 +02:00
Lennart Poettering 9048b11f8b journalctl: harmonise in-stream comments
From now on, always use ANSI-SQL-style comments in log streams, i.e.
prefix with --. We also suffix things with this, just to be nice...
2012-10-16 01:09:09 +02:00
Lennart Poettering b1c806231b util: properly handle -1 timespec/timeval 2012-10-16 01:04:32 +02:00
Lennart Poettering f530371f1f update TODO 2012-10-16 01:04:32 +02:00
Andrew Eikum 16dad32e43 Reword sentences that contain psuedo-English "resp."
As you likely know, Arch Linux is in the process of moving to systemd.
So I was reading through the various systemd docs and quickly became
baffled by this new abbreviation "resp.", which I've never seen before
in my English-mother-tongue life.

Some quick Googling turned up a reference:
<http://www.transblawg.eu/index.php?/archives/870-Resp.-and-other-non-existent-English-wordsNicht-existente-englische-Woerter.html>

I guess it's a literal translation of the German "Beziehungsweise", but
English doesn't work the same way. The word "respectively" is used
exclusively to provide an ordering connection between two lists. E.g.
"the prefixes k, M, and G refer to kilo-, mega-, and giga-,
respectively." It is also never abbreviated to "resp." So the sentence
"Sets the default output resp. error output for all services and
sockets" makes no sense to a natural English speaker.

This patch removes all instances of "resp." in the man pages and
replaces them with sentences which are much more clear and, hopefully,
grammatically valid. In almost all instances, it was simply replacing
"resp." with "or," which the original author (Lennart?) could probably
just do in the future.

The only other instances of "resp." are in the src/ subtree, which I
don't feel privileged to correct.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
2012-10-16 01:03:01 +02:00
Zbigniew Jędrzejewski-Szmek edfb521a21 journalctl: skip informational messages in export/json modes 2012-10-15 18:17:49 +02:00
Lukas Nykryn 44386fc156 systemctl: don't mangle name when it is a path
systemctl enable, disable, ... can also accept full path and in this case
we don't need to alter it.

https://bugzilla.redhat.com/show_bug.cgi?id=866346
2012-10-15 16:34:23 +02:00
Lennart Poettering a7a3f28be4 update TODO 2012-10-15 16:28:39 +02:00
Zbigniew Jędrzejewski-Szmek c3eba2ab4e journalctl: make --follow really work 2012-10-14 15:29:38 +00:00
Zbigniew Jędrzejewski-Szmek e3ed66c52e journalctl: make --follow work again
Stopped working after cfbc22ab 'journalctl: implement --since= and
--until for filtering by time'.
2012-10-13 21:37:42 +02:00
Zbigniew Jędrzejewski-Szmek 0ab5c3ed87 journal-verify: get rid of an unused variable
When compiling without gcrypt, gcc emits an annoying warning.
2012-10-13 21:37:11 +02:00
Zbigniew Jędrzejewski-Szmek b1bafc00d5 journald: add missing include
./src/journal/journald.h:123:114: warning: ‘struct ucred’ declared inside parameter list [enabled by default]
2012-10-13 16:09:09 +00:00
Zbigniew Jędrzejewski-Szmek e4d1062c05 build-sys: always distribute file 2012-10-13 14:54:56 +02:00
Zbigniew Jędrzejewski-Szmek 6374a73b00 journal-gatewayd: rename variables to avoid -Wshadow warning 2012-10-13 14:54:56 +02:00