Lukas Nykryn [Fri, 1 Mar 2013 09:27:10 +0000 (10:27 +0100)]
journalctl: add --reverse option to show the newest lines first
Zbigniew Jędrzejewski-Szmek [Fri, 1 Mar 2013 00:53:42 +0000 (19:53 -0500)]
Merge branch 'python-systemd-reader'
* python-systemd-reader:
python-systemd: rename Journal to Reader
build-sys: upload python documentation to freedesktop.org
systemd-python: add Journal class for reading journal
python: build html docs using sphinx
journalct: also print Python code in --new-id
python: utilize uuid.UUID in logging
python: add systemd.id128 module
... and 34 other commits
In short: python module systemd.id128 is added, and existing
systemd.journal gains a new class systemd.journal.Reader, which can be
used to iterate over journal entries. Documentation is provided, and
accessible under e.g.
pydoc3 systemd.journal.Reader
or
firefox http://www.freedesktop.org/software/systemd/man/python-systemd/
Zbigniew Jędrzejewski-Szmek [Fri, 1 Mar 2013 00:32:31 +0000 (19:32 -0500)]
python-systemd: rename Journal to Reader
It seems inevitable that we'll also grow a writing interface,
and then it'll be cumbersome to have a "Journal" for reading,
and a "Writer" for writing.
Zbigniew Jędrzejewski-Szmek [Sat, 23 Feb 2013 00:11:36 +0000 (01:11 +0100)]
systemd-python: return both parts of sd_journal_get_monotonic_usec
In Python 3, a named tuple is used. In Python 2, a simple
tuple is used. In either case, the pair is (timestamp, bootid).
Zbigniew Jędrzejewski-Szmek [Fri, 22 Feb 2013 12:33:06 +0000 (13:33 +0100)]
python-systemd: check all errors and use automatic cleanup
__REALTIME_TIMESTAMP and __MONOTONIC_TIMESTAMP return ints.
It doesn't make sense to convert to string, just to convert
back to a number later on.
Also try to follow systemd rules for indentation.
Zbigniew Jędrzejewski-Szmek [Thu, 21 Feb 2013 17:10:08 +0000 (18:10 +0100)]
build-sys: upload python documentation to freedesktop.org
Zbigniew Jędrzejewski-Szmek [Thu, 21 Feb 2013 14:08:01 +0000 (15:08 +0100)]
systemd-python: hide ChainMap import
Zbigniew Jędrzejewski-Szmek [Thu, 21 Feb 2013 14:07:39 +0000 (15:07 +0100)]
systemd-python: document attributes
In id128 it would be better to add everything automatically, but
sphinx cannot do this right now.
Zbigniew Jędrzejewski-Szmek [Thu, 21 Feb 2013 13:23:57 +0000 (14:23 +0100)]
systemd-python: use PyModule_AddObject in id128
Zbigniew Jędrzejewski-Szmek [Wed, 20 Feb 2013 08:20:35 +0000 (09:20 +0100)]
build-sys: make sphinx support uncoditional
It needs to be invoked explicitly, so there's no need to check
explicitly.
Zbigniew Jędrzejewski-Szmek [Wed, 20 Feb 2013 04:03:32 +0000 (23:03 -0500)]
systemd-python: polish the docstrings
Lennart Poettering [Thu, 28 Feb 2013 18:55:48 +0000 (19:55 +0100)]
man: clarify systemctl --property= documentation a bit
Lennart Poettering [Thu, 28 Feb 2013 12:48:53 +0000 (13:48 +0100)]
update TODO
Zbigniew Jędrzejewski-Szmek [Thu, 28 Feb 2013 03:38:26 +0000 (22:38 -0500)]
man: fix docbook in systemd-activate(8)
Zbigniew Jędrzejewski-Szmek [Thu, 28 Feb 2013 03:25:40 +0000 (22:25 -0500)]
man: document systemd-nspawn behaviour with -b
Cf.
cb96a2c69 and
1ddf879a.
Zbigniew Jędrzejewski-Szmek [Sat, 23 Feb 2013 16:52:04 +0000 (17:52 +0100)]
systemd-activate: add a socket-activation test tool
Zbigniew Jędrzejewski-Szmek [Sat, 23 Feb 2013 13:44:16 +0000 (14:44 +0100)]
nspawn: environment would be truncated with TERM unset
Zbigniew Jędrzejewski-Szmek [Thu, 28 Feb 2013 02:31:02 +0000 (21:31 -0500)]
man: drop rhs parts in snippets in directive index
- --exit-if-exists=file
+ --exit-if-exists=
etc.
Zbigniew Jędrzejewski-Szmek [Thu, 28 Feb 2013 01:16:38 +0000 (20:16 -0500)]
build-sys: fix update-man-rules for vpath builds
Zbigniew Jędrzejewski-Szmek [Thu, 28 Feb 2013 02:48:34 +0000 (21:48 -0500)]
build-sys: tell Makefile.am to distribute kernel-install
Michal Schmidt [Wed, 27 Feb 2013 23:03:22 +0000 (00:03 +0100)]
core/manager: print status messages about running jobs
Sometimes the boot gets stuck until a timeout hits. The usual timeouts
are on the order of minutes, so users may lose patience.
Print animated status messages telling the names of units with running
jobs to make it easy to see what systemd is waiting for.
The animation looks cooler with a shorter interval, but 1 s is OK and
should not be too hard on slow serial console users.
Michal Schmidt [Wed, 27 Feb 2013 23:01:10 +0000 (00:01 +0100)]
core: count active units that may mind our printing to /dev/console
Michal Schmidt [Thu, 28 Feb 2013 00:36:55 +0000 (01:36 +0100)]
core/execute: determine if ExecContext may fiddle with /dev/console
There is some guesswork, but it should work satisfactorily for the
purpose of knowing when to suppress printing of status messages.
Michal Schmidt [Thu, 28 Feb 2013 00:35:47 +0000 (01:35 +0100)]
core/execute: add internal is_terminal_output()
Similar to already existing is_terminal_input().
Note that the only current user (connect_logger_as) is never called
for EXEC_OUTPUT_TTY, so it won't mind whether we accept it.
Michal Schmidt [Thu, 28 Feb 2013 00:30:38 +0000 (01:30 +0100)]
util: split resolving of /dev/console into a new function
Michal Schmidt [Wed, 27 Feb 2013 22:58:10 +0000 (23:58 +0100)]
core/unit: use a temp variable for manager pointer in unit_notify()
Michal Schmidt [Wed, 27 Feb 2013 21:52:43 +0000 (22:52 +0100)]
util, core: add support for ephemeral status lines
Ephemeral status lines do not end with a newline and they expect to be
overwritten by the next printed status line.
Michal Schmidt [Wed, 27 Feb 2013 22:31:35 +0000 (23:31 +0100)]
core/transaction: replace a bare status_printf()
Like other status messages, this one too should not be printed
unconditionally, but it should take the manager state into account.
unit_status_printf() does that.
Michal Schmidt [Wed, 27 Feb 2013 21:54:14 +0000 (22:54 +0100)]
core: redefine unit_status_printf()
Take advantage of the fact that almost all callers want to pass unit
description as the last parameter. Those who don't can use the more
flexible manager_status_printf().
Michal Schmidt [Wed, 27 Feb 2013 23:14:47 +0000 (00:14 +0100)]
core/manager: make a couple of functions static
They're not used outside manager.c anymore.
Michal Schmidt [Wed, 27 Feb 2013 23:14:40 +0000 (00:14 +0100)]
core: add manager_status_printf()
unit_status_printf() checks the state of the manager, not of the unit
as such. Move it to manager.c and rename it to manager_status_printf().
Temporarily keep unit_status_printf as a wrapper macro.
Michal Schmidt [Tue, 26 Feb 2013 11:09:41 +0000 (12:09 +0100)]
core: keep track of the number of JOB_RUNNING jobs
Lennart Poettering [Wed, 27 Feb 2013 18:37:04 +0000 (19:37 +0100)]
man: document the new systemctl cgroup commands
Lennart Poettering [Wed, 27 Feb 2013 17:58:56 +0000 (18:58 +0100)]
systemctl: fix minimal number of params for new cgroup commands
Lennart Poettering [Wed, 27 Feb 2013 17:56:25 +0000 (18:56 +0100)]
update TODO
Lennart Poettering [Wed, 27 Feb 2013 17:50:41 +0000 (18:50 +0100)]
unit: rework resource management API
This introduces a new static list of known attributes and their special
semantics. This means that cgroup attribute values can now be
automatically translated from user to kernel notation for command line
set settings, too.
This also adds proper support for multi-line attributes.
Lennart Poettering [Wed, 27 Feb 2013 14:01:06 +0000 (15:01 +0100)]
systemctl: fix indentation
Lennart Poettering [Wed, 27 Feb 2013 14:00:38 +0000 (15:00 +0100)]
update TODO
Lennart Poettering [Wed, 27 Feb 2013 14:00:26 +0000 (15:00 +0100)]
man: clarify how to configure default control group hierarchies for services and sessions
Lennart Poettering [Wed, 27 Feb 2013 13:33:50 +0000 (14:33 +0100)]
Revert "log: fix fallbacks to kmsg"
This reverts commit
4a01181e460686d8b4a543b1dfa7f77c9e3c5ab8.
This patch broke LOG_TARGET_AUTO, i.e. automatic selection of STDERR if
it is a TTY with a fallback on the journal and kmsg otherwise.
The general rule should probably be:
log_open() -- open the "best" possible logging channel according to
log_target configuration.
log_dispatch() -- don't open any log channels ever, with the exception
of kmsg since that has no drawbacks. And do this only on true errors of
the better log channel, not just when it wasn't opened.
Kay Sievers [Wed, 27 Feb 2013 12:07:09 +0000 (13:07 +0100)]
mount-setup: mount pstore filesystem
Zbigniew Jędrzejewski-Szmek [Mon, 25 Feb 2013 04:51:41 +0000 (05:51 +0100)]
log-show: look at everything in /run/log/journal
Logs written by journald from the initramfs may be written to a
directory with the name created from a random machine-id. Afterwards,
when the root filesystem has been mounted and machine-id reinitalized,
logs will be written to the directory with a name created from the
proper machine-id. When logs are flushed to /var/log/journal,
everything is copied to one output directory.
When journalctl without '-m' is run after the logs have been flushed
to /var/log/journal, all messages are shown. However, when run while
logs are still in /run/log/journal, those stored under the random
machine-id will not be shown.
Make journalctl behave the same regardless whether persistent storage
has been enabled or not, and slurp all files from /run/log/journal
even without '-m'.
Zbigniew Jędrzejewski-Szmek [Mon, 25 Feb 2013 14:24:10 +0000 (15:24 +0100)]
bash-completion: journalctl query by binary and device
The approach taken is different between the two:
- since there are many files in /usr, but messages appear
only for a tiny subset, the completion is performed
only for stuff shown by journalctl -F _EXE. This makes
sense because the list is already in proper form.
- since it is hard to convert _KERNEL_DEVICE to device
file name, simply all files in /dev/ are used as possible
completions.
Unfortunately zsh completion requires more work and is not
covered by this commit.
Lennart Poettering [Wed, 27 Feb 2013 01:24:10 +0000 (02:24 +0100)]
update TODO, hackfest edition
Daniel Buch [Tue, 26 Feb 2013 13:24:12 +0000 (14:24 +0100)]
test-util.c: added hexchar, unhexchar, octchar, unoctchar, decchar, undecchar tests
Kay Sievers [Tue, 26 Feb 2013 15:17:54 +0000 (16:17 +0100)]
TODO: update
Harald Hoyer [Tue, 26 Feb 2013 13:58:38 +0000 (14:58 +0100)]
kernel-install: rename the loader entry filename
The wildcard matching the default loader entry should always be able to point to
the same machine.
So instead of sorting by <distribution>-<kernel-version>-<machine-id>
we better sort by <machine-id>-<kernel-version>.
Harald Hoyer [Tue, 26 Feb 2013 09:56:07 +0000 (10:56 +0100)]
kernel-install: create the loader entries with absolute paths relative to /boot
Harald Hoyer [Tue, 26 Feb 2013 07:56:45 +0000 (08:56 +0100)]
kernel-install: replace URLs with man pages in the error messages
Harald Hoyer [Tue, 26 Feb 2013 07:47:18 +0000 (08:47 +0100)]
kernel-install: fixed paths in boot loader entry
For the loader entry a relative path has to be used.
Thomas Hindoe Paaboel Andersen [Mon, 25 Feb 2013 22:41:55 +0000 (23:41 +0100)]
tests: add a few more tests to test-util.c
Add asserts on the resutls in FOREACH_WORD_QUOTED
Added tests for:
FOREACH_WORD
strstrip
delete_chars
in_charset
Kay Sievers [Mon, 25 Feb 2013 22:18:57 +0000 (23:18 +0100)]
kernel-install: remove LANG=
Lennart Poettering [Mon, 25 Feb 2013 17:21:13 +0000 (18:21 +0100)]
nspawn: add --bind= and --bind-ro= to bind mount host paths into the container
Harald Hoyer [Mon, 25 Feb 2013 18:29:16 +0000 (19:29 +0100)]
kernel-install(8): add documentation about the configuration files used
Harald Hoyer [Fri, 22 Feb 2013 16:18:47 +0000 (17:18 +0100)]
kernel-install: add kernel-install tool
Michal Schmidt [Mon, 25 Feb 2013 17:33:08 +0000 (18:33 +0100)]
Revert "nspawn: catch config mistake of specifying -b and args"
This reverts commit
cb96a2c69a312fb089fef4501650f4fc40a1420b.
It is not a mistake to pass args when -b is specified. They will simply
be passed on to the container's init.
The manpage needs fixing, that's true.
Tom Gundersen [Fri, 22 Feb 2013 16:40:00 +0000 (17:40 +0100)]
debug-shell: don't be picky, use /bin/sh rather than /bin/bash
In a minimal initramfs, one might not always have the full bash available.
Typically if using busybox.
Dave Reisner [Sun, 24 Feb 2013 21:39:25 +0000 (16:39 -0500)]
build: remove explicit -shared in LDFLAGS
This doesn't need to be passed, as it's handled by libtool. Since the
default for autoconf is --disable-static, this change is effectively a
noop. It only matters if you pass --enable-static, in which case the
static libs for systemd libraries will actually be built.
Nitpicky, but this only affects systemd libs. The override for the
other libs remains since these libs are always loaded dynamically and
never compiled staticly.
Paul W. Frields [Sun, 24 Feb 2013 14:27:51 +0000 (15:27 +0100)]
journal: fix --until
https://bugs.freedesktop.org/show_bug.cgi?id=58946
Zbigniew Jędrzejewski-Szmek [Sun, 24 Feb 2013 13:10:51 +0000 (14:10 +0100)]
nspawn: catch config mistake of specifying -b and args
Michal Schmidt [Fri, 22 Feb 2013 17:59:07 +0000 (18:59 +0100)]
test: test irreversible jobs
Zbigniew Jędrzejewski-Szmek [Wed, 20 Feb 2013 03:22:03 +0000 (22:22 -0500)]
systemd-python: indenation and style tweaks
Kay Sievers [Fri, 22 Feb 2013 16:02:06 +0000 (17:02 +0100)]
build-sys: move systemd-analyze to /usr/bin
Zbigniew Jędrzejewski-Szmek [Wed, 20 Feb 2013 03:11:02 +0000 (22:11 -0500)]
systemd-python: downgrade _reader.c to C89
Zbigniew Jędrzejewski-Szmek [Wed, 20 Feb 2013 02:58:54 +0000 (21:58 -0500)]
systemd-python: add casts and fix unused variable warnings in _reader
Zbigniew Jędrzejewski-Szmek [Sun, 17 Feb 2013 02:54:09 +0000 (21:54 -0500)]
systemd-python: wrap some python differences using macros
Zbigniew Jędrzejewski-Szmek [Sun, 17 Feb 2013 16:26:10 +0000 (11:26 -0500)]
systemd-python: introduce error setting helper
Steven Hiscocks [Tue, 19 Feb 2013 20:39:45 +0000 (20:39 +0000)]
systemd-python: Added doc string for Journal
Steven Hiscocks [Tue, 19 Feb 2013 20:37:55 +0000 (20:37 +0000)]
systemd-python: Journal convert_unicode exception handling change
Rather than catch all, is now limited to UnicodeDecodeError
Steven Hiscocks [Sun, 17 Feb 2013 17:46:01 +0000 (17:46 +0000)]
systemd-python: add Journal method to add MESSAGE_ID match
Steven Hiscocks [Sun, 17 Feb 2013 14:27:59 +0000 (14:27 +0000)]
systemd-python: fix memory leak in _reader and minor bugs
iternext now checks for error from get_next, and changed a DECREF to
XDECREF rather than NULL check
Steven Hiscocks [Sun, 17 Feb 2013 11:55:45 +0000 (11:55 +0000)]
systemd-python: update Journal python docstrings
Steven Hiscocks [Sun, 17 Feb 2013 11:53:09 +0000 (11:53 +0000)]
systemd-python: tidy up import names in journal
Steven Hiscocks [Sun, 17 Feb 2013 11:48:13 +0000 (11:48 +0000)]
systemd-python: Journal this_boot/machine now accepts ID
Steven Hiscocks [Sat, 16 Feb 2013 19:16:09 +0000 (19:16 +0000)]
systemd-python: remove unneeded ifdef for query_unique
Steven Hiscocks [Sat, 16 Feb 2013 19:10:49 +0000 (19:10 +0000)]
systemd-python: _reader now takes unix timestamp in seconds
Steven Hiscocks [Sat, 16 Feb 2013 19:06:46 +0000 (19:06 +0000)]
systemd-python: Update _reader docstrings
Steven Hiscocks [Sat, 16 Feb 2013 18:53:52 +0000 (18:53 +0000)]
systemd-python: _reader add_match takes single string
python code now takes care of multiple matches
Steven Hiscocks [Sat, 16 Feb 2013 18:23:24 +0000 (18:23 +0000)]
systemd-python: correct data_threshold error return value
Steven Hiscocks [Sat, 16 Feb 2013 17:32:05 +0000 (17:32 +0000)]
systemd-python: updated _reader header to standard license
Steven Hiscocks [Sat, 16 Feb 2013 17:31:18 +0000 (17:31 +0000)]
systemd-python: Moved _reader datetime usage to python
Steven Hiscocks [Sat, 16 Feb 2013 17:29:57 +0000 (17:29 +0000)]
systemd-python: Tidy up _reader error handling
Steven Hiscocks [Sat, 16 Feb 2013 13:40:44 +0000 (13:40 +0000)]
systemd-python: some python3 and bug fixes
Steven Hiscocks [Fri, 15 Feb 2013 17:16:56 +0000 (17:16 +0000)]
systemd-python: implement this_boot/this_machine in Python
Steven Hiscocks [Fri, 15 Feb 2013 17:09:47 +0000 (17:09 +0000)]
systemd-python: Journal log_level moved to python
Zbigniew Jędrzejewski-Szmek [Sun, 17 Feb 2013 01:28:34 +0000 (20:28 -0500)]
sphinx: document Journal class too
Steven Hiscocks [Fri, 15 Feb 2013 16:59:50 +0000 (16:59 +0000)]
systemd-python: move default call dicts from C to python
Steven Hiscocks [Fri, 8 Feb 2013 22:14:18 +0000 (22:14 +0000)]
systemd-python: MESSAGE_ID as UUID for Journal
Steven Hiscocks [Fri, 8 Feb 2013 22:04:42 +0000 (22:04 +0000)]
systemd-python: moved PyRun_String to journal.py code
Steven Hiscocks [Fri, 8 Feb 2013 19:41:21 +0000 (19:41 +0000)]
systemd-python: add Journal class for reading journal
Zbigniew Jędrzejewski-Szmek [Sat, 9 Feb 2013 20:37:35 +0000 (15:37 -0500)]
python: build html docs using sphinx
Build instructions:
make
make DESTIDIR=/tmp/... install
make DESTIDIR=/tmp/... sphinx-html sphinx-man sphinx-epub ...
Zbigniew Jędrzejewski-Szmek [Mon, 11 Feb 2013 03:47:14 +0000 (22:47 -0500)]
journalct: also print Python code in --new-id
Zbigniew Jędrzejewski-Szmek [Sat, 9 Feb 2013 17:20:05 +0000 (12:20 -0500)]
python: utilize uuid.UUID in logging
Zbigniew Jędrzejewski-Szmek [Wed, 6 Feb 2013 02:44:46 +0000 (21:44 -0500)]
python: add systemd.id128 module
uuid.UUIDs are utilized to hold UUID values.
Zbigniew Jędrzejewski-Szmek [Fri, 22 Feb 2013 15:54:42 +0000 (16:54 +0100)]
TODO: drop two items
Michal Schmidt [Fri, 22 Feb 2013 12:37:57 +0000 (13:37 +0100)]
systemctl: generalize action table to be usable in more action<->verb mappings
Should be no functional change.
Michal Schmidt [Fri, 22 Feb 2013 10:21:47 +0000 (11:21 +0100)]
systemctl: make shutdown operations use irreversible jobs
Occasionally people report problem with reboot/poweroff operations hanging in
the middle. One known cause is when a new transaction to start a unit is
enqueued while the shutdown is going on. The start of the unit conflicts with
the shutdown jobs, so they get cancelled. The failure case can be quite unpleasant,
becase getty and sshd may already be stopped.
Fix it by using irreversible jobs for shutdown (reboot/poweroff/...) actions.
This applies to commands like "reboot", "telinit 6", "systemctl reboot". Should
someone desire to use reversible jobs, they can say "systemctl start reboot.target".`
Michal Schmidt [Fri, 22 Feb 2013 10:21:37 +0000 (11:21 +0100)]
core, systemctl: add support for irreversible jobs
Add a new job mode: replace-irreversibly. Jobs enqueued using this mode
cannot be implicitly canceled by later enqueued conflicting jobs.
They can however still be canceled with an explicit "systemctl cancel"
call.
Michal Schmidt [Fri, 22 Feb 2013 08:56:16 +0000 (09:56 +0100)]
systemctl: make "systemctl default" use "isolate" job mode
"systemctl default" should behave identically to "telinit N" (where N is the
corresponding runlevel target number), therefore it should use isolate job mode
too.
Zbigniew Jędrzejewski-Szmek [Fri, 22 Feb 2013 10:18:46 +0000 (11:18 +0100)]
journal: sd_journal_get_cursor should return 0 on success
Documentation states that 0 is correct, and all other
similar functions return 0 on success.
Pointed-out-by: Steven Hiscocks <steven-systemd@hiscocks.me.uk>