1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-02 19:21:53 +03:00
Commit Graph

12000 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
52990c2e0e systemd,systemctl: export condition status and show failing condition
$ systemctl --user status hoohoo
hoohoo.service
   Loaded: loaded (/home/zbyszek/.config/systemd/user/hoohoo.service; static)
   Active: inactive (dead)
           start condition failed at Tue 2013-06-25 18:08:42 EDT; 1s ago
           ConditionPathExists=/tmp/hoo was not met

Full information is exported over D-Bus:
  [(condition, trigger, negate, param, state),...]
where state is one of "failed" (<0), "untested" (0), "OK" (>0).
I've decided to use 0 for "untested", because it might be useful to
differentiate different types of failure later on, without breaking
compatibility.

systemctl shows the failing condition, if there was a non-trigger
failing condition, or says "none of the trigger conditions were met",
because there're often many trigger conditions, and they must all
fail for the condition to fail, so printing them all would consume
a lot of space, and bring unnecessary attention to something that is
quite low-level.
2013-07-17 23:41:10 -04:00
Zbigniew Jędrzejewski-Szmek
4b744dfabe systemd: log failed conditions
ConditionPathExists=/tmp/nosuchpath failed for nosuchpath.service.
2013-07-17 23:41:10 -04:00
Zbigniew Jędrzejewski-Szmek
d121b396cc journalctl: remove ":" from the --boot syntax
Instead of :-0, :1, :5, etc., use -0, 1 or +1, 5, etc. For BOOT_ID+OFFSET,
use BOOT_ID+offset or BOOT_ID-offset (either + or - is required).

Also make error handling a bit more robust and verbose.
Modify the man page to describe the most common case (-b) first,
and the second most common case (-b -1) second.
2013-07-17 23:41:10 -04:00
Zbigniew Jędrzejewski-Szmek
affba8e902 systemd-python: add support for sd_j_open_files
Also export missing flags.
2013-07-17 23:41:10 -04:00
Zbigniew Jędrzejewski-Szmek
1070f974f7 systemd-python: fix iteration
Back in 6a58bf4135 raising stop iteration was removed from the C
code, but wasn't added in the Python counterpart.
2013-07-17 23:40:42 -04:00
Kay Sievers
ce39bb6909 hwdb: data update 2013-07-18 03:05:51 +02:00
Lennart Poettering
2ce982f9b1 systemctl: also highlight a load state of "not-found" as red
"not-found" is a recently added load state and was previously just a
special case of "error". Since it also indicates a load error we should
also highlight it red, the same way as "error" was treated before.
2013-07-18 02:32:34 +02:00
Lennart Poettering
2042249710 mount: also exclude /usr from unmount at shutdown 2013-07-18 02:32:34 +02:00
Lennart Poettering
c3bb87dbab update TODO 2013-07-18 02:32:33 +02:00
Michael Olbrich
c961869ac5 service: don't enter a second SIGTERM/SIGKILL cycle if no ExecStopPost= process is defined
It won't help if the main process is still there and there is no new
process to kill.
2013-07-18 02:32:33 +02:00
Harald Hoyer
c72aadd185 remove RD_TIMESTAMP import
If you want timing information from the initramfs, use systemd in the
initramfs.
2013-07-17 11:33:07 +02:00
Harald Hoyer
956eaf2b8d remove /run/initramfs/root-fsck logic
dracut uses systemd in the initramfs and does not write these files
anymore.

The state of the root fsck is serialized.
2013-07-17 11:33:07 +02:00
Zbigniew Jędrzejewski-Szmek
69af450359 Update TODO
This point was done in 77a9e8de6.
2013-07-16 22:48:16 -04:00
Zbigniew Jędrzejewski-Szmek
4ad16808c0 journalctl,systemctl: fix tiny memleak 2013-07-16 22:41:47 -04:00
Zbigniew Jędrzejewski-Szmek
248fc619b5 journalctl: augment short mode with a cursor at the end
Two options are added: --show-cursor to print the cursor at the end,
and --after-cursor to resume logs on the next line after the previous one.
2013-07-16 22:41:47 -04:00
Lennart Poettering
dd94c17e7d util: make gcc shut up by passing a 0 mode param to open()
If we pass a variable to open()'s flags parameter it really wants a mode
parameter too, otherwise some gcc version whine. Hence, pass 0 in that
case.
2013-07-17 02:52:41 +02:00
Lennart Poettering
32b2634edf util: make some gcc versions shut up regarding unintialized variable access 2013-07-17 02:48:53 +02:00
Lennart Poettering
c5757cc8db update TODO 2013-07-17 02:29:19 +02:00
Kay Sievers
83a05f2c89 logind: remove "if (0)" left-over 2013-07-17 01:49:26 +02:00
Tom Gundersen
db0c1e3bd3 logind-acl: use macros
Simplify by using FOREACH_DIRENT and _cleanup_closedir_ macros.
2013-07-17 01:36:03 +02:00
Tom Gundersen
6b78df0a6e logind: apply ACL's to "dead" device nodes
Based on a patch by Kay Sievers.

When a dead device nodes is tagged with "uaccess" using the static_node mechanism,
it's ACL's are managed by logind in the same way as "live" device nodes.

This allows in particular /dev/snd/{seq,timer} to cause modules to be loaded
on-demand when accessed by a non-privileged user.
2013-07-16 20:07:57 +02:00
Tom Gundersen
84b6ad702e udev: export tags of "dead" device nodes to /run/udev/static_node-tags/
Based on a patch by Kay Sievers.

A tag is exported at boot as a symlinks to the device node in the folder
/run/udev/static_node-tags/<tagname>/, if the device node exists.

These tags are cleaned up by udevadm info --cleanup-db, but are otherwise
never removed.
2013-07-16 20:07:57 +02:00
Harald Hoyer
6cf2f1d94d util.c:is_locale_utf8(): check, if "C" was set on purpose
If you have a ASCII only terminal, there is no way to set the charmap to
ANSI_X3.4-1968, other than using LC_CTYPE=C.

We don't want to assume a UTF-8 capable terminal in this case and only
do so, if LANG, LC_ALL and LC_CTYPE are unset.
2013-07-16 19:03:23 +02:00
Lennart Poettering
e7256c5c13 update 2013-07-16 18:54:03 +02:00
Lennart Poettering
042e33ae3a rpm: add RPM macro for creating tmpfiles entries after package installation 2013-07-16 18:54:03 +02:00
Martin Pitt
bf89b99c5a 60-keyboard.hwdb: Fix syntax error
Add missing '='.
2013-07-16 18:45:01 +02:00
Zbigniew Jędrzejewski-Szmek
a65f06bb27 journal: return -ECHILD after a fork
A few asserts are replaced with 'return -EINVAL'. I think that
assert should not be used to check argument in public functions.

Fields in struct sd_journal are rearranged to make it less
swiss-cheesy.
2013-07-16 12:09:48 -04:00
Zbigniew Jędrzejewski-Szmek
daabe5491e test-tables: allow sparse tables and check mapping for -1
Jan: test-tables fails on my system. The one it's failing on is:
    syscall: 222 → (null) → -1
... and indeed, our own tables should not have holes, but syscall
tables certainly might.
2013-07-16 12:04:31 -04:00
Harald Hoyer
21c72713ae Do not set LANG=C in every child environment.
LANG does not have to be set and setting it to default to the default
does not add any value.
2013-07-16 18:01:40 +02:00
Jason St. John
9c33d34fe4 man: improve readability of --output options in journalctl(1)
The list and descriptions of valid output options was difficult to read,
so break up the long block of text into discrete man page list items to
improve readability.
2013-07-16 17:43:11 +02:00
Jason St. John
6ed80a4e34 man: use HTTPS links for links that support it 2013-07-16 17:42:56 +02:00
Jan Janssen
a331b5e6d4 journalctl: Add support for showing messages from a previous boot
Hi,

I redid the boot ID look up to use enumerate_unique.

This is quite fast if the cache is warm but painfully slow if
it isn't. It has a slight chance of returning the wrong order if
realtime clock jumps around.

This one has to do n searches for every boot ID there is plus
a sort, so it depends heavily on cache hotness. This is in contrast
to the other way of look-up through filtering by a MESSAGE_ID,
which only needs about 1 seek + whatever amount of relative IDs
you want to walk.

I also have a linked-list + (in-place) mergesort version of this
patch, which has pretty much the same runtime. But since this one
is using libc sorting and armortized allocation, I prefer this
one.

To summarize: The MESSAGE_ID way is a *lot* faster but can be
incomplete due to rotation, while the enumerate+sort will find
every boot ID out there but will be painfully slow for large
journals and cold caches.

You choose :P

Jan
2013-07-16 17:38:12 +02:00
Lennart Poettering
18d4e7c26e update TODO 2013-07-16 17:37:49 +02:00
Martin Pitt
1b6bce89b3 keymap: re-add Logitech USB corded/cordless models
These add back are the remaining 3 udev keymap rules which used name based
instead of ID based matching.
2013-07-16 16:59:14 +02:00
Kay Sievers
0c38157733 also remove keymaps-force-release directory 2013-07-16 16:26:49 +02:00
Kay Sievers
ddc77f6224 switch from udev keymaps to hwdb 2013-07-16 16:22:01 +02:00
Ramkumar Ramachandra
7080ea16b5 detect-virt: detect User-Mode Linux
In a User-Mode Linux session:

  $ systemd-detect-virt
  none

Although it is possible to reliably detect virtualization:

  $ cat /proc/cpuinfo
  processor       : 0
  vendor_id       : User Mode Linux
  model name      : UML
  mode            : skas
  host            : Linux kytes 3.11.0-rc1-00009-ge5fd680 (...)
  bogomips        : 7007.43

So, grep for the string "\nvendor_id\t: User Mode Linux\n" in
/proc/cpuinfo, and say "uml" when asked.
2013-07-16 14:27:53 +02:00
Lennart Poettering
36c0868b67 Update TODO 2013-07-16 14:27:32 +02:00
Kay Sievers
97a9313caf hwdb: follow: "keymap: Drop non-existant Samsung 900XC3" 2013-07-16 14:14:24 +02:00
Martin Pitt
f3c19b70fa keymap: Drop non-existant Samsung 900XC3
Revert commit 90fc91d006 again. There is no 900XC3 model, that's 900X3C and
already covered by the 900X3* match.

See https://launchpad.net/bugs/1012365
2013-07-16 09:06:57 +02:00
Zbigniew Jędrzejewski-Szmek
b31c6d8d4f build-sys: make generated man pages part of the distribution tarball
They were removed by mistake, and since we ship .html files,
we certainly should ship man pages.

https://bugs.freedesktop.org/show_bug.cgi?id=61753
2013-07-15 23:20:56 -04:00
Zbigniew Jędrzejewski-Szmek
7801356442 build-sys: discover the path to kexec during build time
https://bugs.freedesktop.org/show_bug.cgi?id=55248
2013-07-15 23:20:56 -04:00
Shawn Landden
3a83211689 journal: add logging of effective capabilities _CAP_EFFECTIVE
I think this is the most important of the capabilities bitmasks to log.
2013-07-16 04:27:04 +02:00
Lennart Poettering
fa7deadb07 update TODO 2013-07-16 04:27:04 +02:00
Zbigniew Jędrzejewski-Szmek
65cd79f7f5 man: add FILES section to systemd-journald.service(8) 2013-07-15 22:20:17 -04:00
Zbigniew Jędrzejewski-Szmek
31a7eb86f1 systemd: do not output status messages once gettys are running
Make Type=idle communication bidirectional: when bootup is finished,
the manager, as before, signals idling Type=idle jobs to continue.
However, if the boot takes too long, idling jobs signal the manager
that they have had enough, wait a tiny bit more, and continue, taking
ownership of the console. The manager, when signalled that Type=idle
jobs are done, makes a note and will not write to the console anymore.

This is a cosmetic issue, but quite noticable, so let's just fix it.

Based on Harald Hoyer's patch.

https://bugs.freedesktop.org/show_bug.cgi?id=54247
http://unix.stackexchange.com/questions/51805/systemd-messages-after-starting-login/
2013-07-15 21:34:57 -04:00
Zbigniew Jędrzejewski-Szmek
77a9e8de65 man: add note about paging and colors to journalctl(1) 2013-07-15 21:34:57 -04:00
Jan Janssen
8cf3ca8068 cryptsetup: Add tcrypt support
Tcrypt uses a different approach to passphrases/key files. The
passphrase and all key files are incorporated into the "password"
to open the volume. So, the idea of slots that provide a way to
open the volume with different passphrases/key files that are
independent from each other like with LUKS does not apply.

Therefore, we use the key file from /etc/crypttab as the source
for the passphrase. The actual key files that are combined with
the passphrase into a password are provided as a new option in
/etc/crypttab and can be given multiple times if more than one
key file is used by a volume.
2013-07-16 01:24:31 +02:00
Jan Janssen
10fb4e35fd cryptsetup: Move attaching of the device out of main 2013-07-16 01:24:28 +02:00
Jan Janssen
e7d90b7127 cryptsetup: Move password query out of main
Also use _cleanup_free_ where possible.
2013-07-16 01:24:24 +02:00