platform/upstream/systemd.git
11 years agoMake two functions static
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2013 22:27:49 +0000 (18:27 -0400)]
Make two functions static

11 years agoRemove some unused variables
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2013 22:25:35 +0000 (18:25 -0400)]
Remove some unused variables

11 years agosystemd-analyze: do not format timestamp when not printing it
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2013 22:22:20 +0000 (18:22 -0400)]
systemd-analyze: do not format timestamp when not printing it

../src/analyze/systemd-analyze.c:530:88: warning: data argument not used by format string [-Wformat-extra-args]
  ...svg_text(false, u->ixt, y, u->time? "%s (%s)" : "%s", u->name, format_timespan(ts, sizeof(ts), u->time));
                                                     ~~~~           ^

11 years agocore: remove unnecessary goto in setup_namespace
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2013 22:12:37 +0000 (18:12 -0400)]
core: remove unnecessary goto in setup_namespace

11 years agobus-message: fix typo
Tom Gundersen [Wed, 20 Mar 2013 23:01:14 +0000 (00:01 +0100)]
bus-message: fix typo

11 years agoupdate TODO
Lennart Poettering [Wed, 20 Mar 2013 21:57:55 +0000 (22:57 +0100)]
update TODO

11 years agobus: hook up client with socket communication
Lennart Poettering [Wed, 20 Mar 2013 21:56:25 +0000 (22:56 +0100)]
bus: hook up client with socket communication

11 years agobus: introduce bus_error_is_dirty() independently of sd_bus_error_is_set()
Lennart Poettering [Wed, 20 Mar 2013 12:10:12 +0000 (13:10 +0100)]
bus: introduce bus_error_is_dirty() independently of sd_bus_error_is_set()

11 years agobus: demarshal header fields properly
Lennart Poettering [Wed, 20 Mar 2013 04:29:20 +0000 (05:29 +0100)]
bus: demarshal header fields properly

11 years agobus: implement demarshaller
Lennart Poettering [Wed, 20 Mar 2013 02:15:03 +0000 (03:15 +0100)]
bus: implement demarshaller

11 years agobus: suppress reply messages to method calls with no_reply set
Lennart Poettering [Tue, 19 Mar 2013 19:16:27 +0000 (20:16 +0100)]
bus: suppress reply messages to method calls with no_reply set

11 years agobus: add basic implementation of a native bus client library
Lennart Poettering [Tue, 19 Mar 2013 19:03:16 +0000 (20:03 +0100)]
bus: add basic implementation of a native bus client library

11 years agostdio-bridge: modernization
Lennart Poettering [Tue, 19 Mar 2013 19:01:35 +0000 (20:01 +0100)]
stdio-bridge: modernization

11 years agoutil: add hexmem() and strextend() calls
Lennart Poettering [Tue, 19 Mar 2013 19:01:18 +0000 (20:01 +0100)]
util: add hexmem() and strextend() calls

11 years agomacro: add CHAR_TO_STR macro to make a one character string from a char
Lennart Poettering [Tue, 19 Mar 2013 19:00:55 +0000 (20:00 +0100)]
macro: add CHAR_TO_STR macro to make a one character string from a char

11 years agomacro: don't redefine CLAMP if it is already defined by glib or some other library
Lennart Poettering [Tue, 19 Mar 2013 19:00:29 +0000 (20:00 +0100)]
macro: don't redefine CLAMP if it is already defined by glib or some other library

11 years agoMake PrivateTmp dirs also inaccessible from the outside
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2013 05:38:28 +0000 (01:38 -0400)]
Make PrivateTmp dirs also inaccessible from the outside

Currently, PrivateTmp=yes means that the service cannot see the /tmp
shared by rest of the system and is isolated from other services using
PrivateTmp, but users can access and modify /tmp as seen by the
service.

Move the private /tmp and /var/tmp directories into a 0077-mode
directory. This way unpriviledged users on the system cannot see (or
modify) /tmp as seen by the service.

11 years agobuild-sys: fix typo in human-readable output
Jan Engelhardt [Wed, 20 Mar 2013 14:23:30 +0000 (15:23 +0100)]
build-sys: fix typo in human-readable output

11 years agolibudev: avoid potential misaligned accesses
Jan Engelhardt [Wed, 20 Mar 2013 14:23:32 +0000 (15:23 +0100)]
libudev: avoid potential misaligned accesses

clang reports:
  src/libudev/libudev-util.c:665:35: warning: cast from
  "const unsigned char *" to "unsigned int *" increases required alignment
  from 1 to 4 [-Wcast-align]

11 years agolibude: remove special handling of "device" link, it should not be used
Kay Sievers [Wed, 20 Mar 2013 14:57:13 +0000 (15:57 +0100)]
libude: remove special handling of "device" link, it should not be used

11 years agozsh completion: udev - remove firmware builtin
Tom Gundersen [Wed, 20 Mar 2013 12:09:58 +0000 (13:09 +0100)]
zsh completion: udev - remove firmware builtin

11 years agoman/service: document behaviour on failure
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2013 02:13:48 +0000 (22:13 -0400)]
man/service: document behaviour on failure

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

11 years agocatalog: remove broken links to wiki
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2013 00:57:25 +0000 (20:57 -0400)]
catalog: remove broken links to wiki

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

11 years agojournalct: beef up entry listing
Zbigniew Jędrzejewski-Szmek [Wed, 20 Mar 2013 00:54:04 +0000 (20:54 -0400)]
journalct: beef up entry listing

The ability to dump catalog entries in full and by id is added.

11 years agosystemd-python: small cleanups
Zbigniew Jędrzejewski-Szmek [Fri, 15 Mar 2013 22:10:51 +0000 (18:10 -0400)]
systemd-python: small cleanups

- separate methods with two empty lines for clarity
- avoid malloc(0) by specyfing private data size as -1
- add method name in error messages

11 years agosystemd-python: add journal.get_catalog()
Zbigniew Jędrzejewski-Szmek [Fri, 15 Mar 2013 22:10:51 +0000 (18:10 -0400)]
systemd-python: add journal.get_catalog()

This one wraps sd_journal_get_catalog_from_message_id.
Thanks to Python namespacing, we can stick to a shorter name.

11 years agosystemd-python: add _Reader.get_catalog()
Zbigniew Jędrzejewski-Szmek [Fri, 15 Mar 2013 22:10:51 +0000 (18:10 -0400)]
systemd-python: add _Reader.get_catalog()

This one wraps sd_journaal_get_catalog.

11 years agoman/catalog: fix synopsis and remind to free
Zbigniew Jędrzejewski-Szmek [Fri, 15 Mar 2013 22:10:51 +0000 (18:10 -0400)]
man/catalog: fix synopsis and remind to free

11 years agosystemd-python: add _Reader.closed attribute
Zbigniew Jędrzejewski-Szmek [Fri, 15 Mar 2013 22:10:51 +0000 (18:10 -0400)]
systemd-python: add _Reader.closed attribute

This should make the file interface of _Reader complete.

11 years agojournalctl: use _cleanup_ in one function
Zbigniew Jędrzejewski-Szmek [Fri, 15 Mar 2013 22:00:57 +0000 (18:00 -0400)]
journalctl: use _cleanup_ in one function

11 years agorules: move builtin calls before the permissions section
Kay Sievers [Wed, 20 Mar 2013 00:26:17 +0000 (01:26 +0100)]
rules: move builtin calls before the permissions section

<heftig> kay: systemd commit 22582bb broke cups usb printing for me
<heftig> because the "lp" group isn't applied anymore
<heftig> SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp"
<heftig> moving this line to the end of 50-udev-default.rules restores correct behavior, as it's after usb_id

11 years agoshell-completion/bash/journalctl: suppress stderr
Harald Hoyer [Tue, 19 Mar 2013 13:55:50 +0000 (14:55 +0100)]
shell-completion/bash/journalctl: suppress stderr

11 years agokeymap: Remap microphone mute and touchpad toggle for Lenovo U300s
Ozan Çağlayan [Tue, 19 Mar 2013 13:49:30 +0000 (15:49 +0200)]
keymap: Remap microphone mute and touchpad toggle for Lenovo U300s

Separate out Ideapad U300s to its own line and add Microphone mute key.

Signed-off-by: Martin Pitt <martinpitt@gnome.org>
11 years agokeymaps: Use F20 for micmute keys to be friendly to X.org
Martin Pitt [Tue, 19 Mar 2013 12:10:29 +0000 (13:10 +0100)]
keymaps: Use F20 for micmute keys to be friendly to X.org

The "micmute" key code is outside of X.org's allowed range [1].
gnome-settings-daemon interprets F20 as "microphone mute" these days [2], so
use this until X.org either gets fixed or obsoleted.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=692071
[2] https://mail.gnome.org/archives/commits-list/2013-January/msg05822.html

11 years agokeymap: Fix touchpad toggling on Lenovo IdeaPad U300s
Ozan Çağlayan [Tue, 19 Mar 2013 09:34:57 +0000 (11:34 +0200)]
keymap: Fix touchpad toggling on Lenovo IdeaPad U300s

IdeaPad U300s needs mapping 0xf1 to f21 just like Lenovo V480.

Signed-off-by: Martin Pitt <martinpitt@gnome.org>
11 years agologind: exploit previous cleanups and simplify returns
Zbigniew Jędrzejewski-Szmek [Tue, 19 Mar 2013 00:31:21 +0000 (20:31 -0400)]
logind: exploit previous cleanups and simplify returns

11 years agologind: Make more use of cleanup macros
Colin Walters [Mon, 18 Mar 2013 18:38:48 +0000 (14:38 -0400)]
logind: Make more use of cleanup macros

11 years agoUse bus_maybe_send_reply() where applicable
Colin Walters [Mon, 18 Mar 2013 18:38:24 +0000 (14:38 -0400)]
Use bus_maybe_send_reply() where applicable

This is a followup to: commit 1a37b9b9043ef83e9900e460a9a1fccced3acf89

It will fix denial messages from dbus-daemon between gdm and
systemd-logind on logging into GNOME due to this.

See the previous commit for more details.

11 years agosd-journal: do not require path to be absolute
Zbigniew Jędrzejewski-Szmek [Sun, 4 Nov 2012 15:19:04 +0000 (16:19 +0100)]
sd-journal: do not require path to be absolute

Seems natural to be able to specify relative directory,
e.g. with journalctl -D. And even if, this should be checked
in front-end code, not in the library.

11 years agojournal,shared: add _cleanup_journal_close_
Zbigniew Jędrzejewski-Szmek [Mon, 18 Mar 2013 03:36:25 +0000 (23:36 -0400)]
journal,shared: add _cleanup_journal_close_

11 years agojournal: use _cleanup_
Zbigniew Jędrzejewski-Szmek [Mon, 18 Mar 2013 02:00:01 +0000 (22:00 -0400)]
journal: use _cleanup_

One log_debug() moved to match order in other functions.

11 years agojournal: use sd_journal_close on error in sd_journal_new
Zbigniew Jędrzejewski-Szmek [Mon, 18 Mar 2013 01:52:57 +0000 (21:52 -0400)]
journal: use sd_journal_close on error in sd_journal_new

11 years agosystemd-python: allow Reader to be used as a context manager
Zbigniew Jędrzejewski-Szmek [Mon, 18 Mar 2013 05:12:25 +0000 (01:12 -0400)]
systemd-python: allow Reader to be used as a context manager

11 years agotest-strv.c: test STRV_FOREACH_PAIR macro
Daniel Buch [Sat, 16 Mar 2013 09:00:03 +0000 (10:00 +0100)]
test-strv.c: test STRV_FOREACH_PAIR macro

11 years agoudev: rename kernel command line option to net.ifnames=
Kay Sievers [Mon, 18 Mar 2013 18:31:34 +0000 (19:31 +0100)]
udev: rename kernel command line option to net.ifnames=

11 years agoman: udev - clarify when RUN is executed
Tom Gundersen [Mon, 18 Mar 2013 17:09:46 +0000 (18:09 +0100)]
man: udev - clarify when RUN is executed

Unlike IMPORT and PROGRAM, RUN is not executed inline, but after all the rules of the given event have been processed.

11 years agoudev: builtin - use RUN rather than IMPORT for loading modules
Tom Gundersen [Sat, 16 Mar 2013 08:26:47 +0000 (17:26 +0900)]
udev: builtin - use RUN rather than IMPORT for loading modules

The 'kmod' builtin, like the 'firmware' and 'uaccess' builtins, does not set
any variables, so don't use IMPORT.

Notice that this changes the behaviour slightly: the processing of subsequent
rules for the event that loads a module will no longer wait for the module
loading to finish. This is not expected to cause any problems, but we should
keep an eye on it.

11 years agoudev: net-name-slot - disable by kernel command line switch
Tom Gundersen [Sun, 17 Mar 2013 04:23:33 +0000 (13:23 +0900)]
udev: net-name-slot - disable by kernel command line switch

The properties will still be set in the udev database, but they will not be used
for setting the interface names. As for the other kernel commandline switches,
we allow it to be prefixed by 'rd.' to only apply in the initrd.

11 years agoman: udev - move documentation of configuration file
Tom Gundersen [Mon, 18 Mar 2013 14:58:37 +0000 (15:58 +0100)]
man: udev - move documentation of configuration file

Moved from udev(7) to systemd-udevd.service(8), where the rest of the
documentation of the configuration of the daemon lives.

11 years agoudev: ifdef all firmware special handling
Kay Sievers [Mon, 18 Mar 2013 14:22:32 +0000 (15:22 +0100)]
udev: ifdef all firmware special handling

11 years agoudev: make firmware loading optional and disable by default
Tom Gundersen [Mon, 18 Mar 2013 14:12:18 +0000 (15:12 +0100)]
udev: make firmware loading optional and disable by default

Distros that whish to support old kernels should set
  --with-firmware-dirs="/usr/lib/firmware/updates:/usr/lib/firmware"
to retain the old behaviour.

11 years agoman: udev - document 'builtin'
Tom Gundersen [Mon, 18 Mar 2013 13:17:24 +0000 (14:17 +0100)]
man: udev - document 'builtin'

The new IMPORT{builtin} and RUN{builtin} were not documented. Also make it clear
that RUN= is really an alias for RUN{program}=.

11 years agounits: initrd, multi-user - add a few more words to Description=
Kay Sievers [Sat, 16 Mar 2013 15:29:29 +0000 (16:29 +0100)]
units: initrd, multi-user - add a few more words to Description=

11 years agoman: bootup - intrd-fs.target --> initrd.target
Kay Sievers [Sat, 16 Mar 2013 15:21:47 +0000 (16:21 +0100)]
man: bootup - intrd-fs.target --> initrd.target

11 years agojournal: pass the *pid* to sd_pid_get_owner_uid()
Kay Sievers [Sat, 16 Mar 2013 15:10:22 +0000 (16:10 +0100)]
journal: pass the *pid* to sd_pid_get_owner_uid()

11 years agotimer: fix grammar in message
Zbigniew Jędrzejewski-Szmek [Sat, 16 Mar 2013 02:48:45 +0000 (22:48 -0400)]
timer: fix grammar in message

11 years agocore: reuse the same /tmp, /var/tmp and inaccessible dir
Michal Sekletar [Thu, 14 Mar 2013 17:12:27 +0000 (18:12 +0100)]
core: reuse the same /tmp, /var/tmp and inaccessible dir

All Execs within the service, will get mounted the same
/tmp and /var/tmp directories, if service is configured with
PrivateTmp=yes. Temporary directories are cleaned up by service
itself in addition to systemd-tmpfiles. Directory which is mounted
as inaccessible is created at runtime in /run/systemd.

11 years agoTODO: uses for SO_REUSEPORT
Josh Triplett [Fri, 15 Mar 2013 15:50:12 +0000 (08:50 -0700)]
TODO: uses for SO_REUSEPORT

The new socket option SO_REUSEPORT would enable some new functionality;
add it to TODO.

11 years agosmack-setup: enable Smack/CIPSO mapping
Nathaniel Chen [Tue, 12 Mar 2013 23:16:44 +0000 (16:16 -0700)]
smack-setup: enable Smack/CIPSO mapping

CIPSO is the Common IP Security Option, an IETF standard for setting
security levels for a process sending packets. In Smack kernels,
CIPSO headers are mapped to Smack labels automatically, but can be changed.

This patch writes label/category mappings from /etc/smack/cipso/ to
/sys/fs/smackfs/cipso2. The mapping format is "%s%4d%4d"["%4d"]...

For more information about Smack and CIPSO, see:
  https://kernel.org/doc/Documentation/security/Smack.txt

11 years agosmack-setup: extract rule writing into a separate function
Zbigniew Jędrzejewski-Szmek [Thu, 14 Mar 2013 03:23:06 +0000 (23:23 -0400)]
smack-setup: extract rule writing into a separate function

Check all errors.

11 years agounits: ignore systemd-sysctl on shutdown
Umut Tezduyar [Wed, 13 Mar 2013 09:27:38 +0000 (10:27 +0100)]
units: ignore systemd-sysctl on shutdown

No need to try to stop systemd-sysctl on shutdown as
this service doesn't have ExecStop= anyways.

11 years agocore: keep mountinfo .mounts until late shutdown
Umut Tezduyar [Mon, 11 Mar 2013 15:30:10 +0000 (16:30 +0100)]
core: keep mountinfo .mounts until late shutdown

.mount units coming from /proc/self/mountinfo file are
unmounted after local-fs.target is reached during shutdown.

Problem: .mount units popping up in mountinfo file are
added to systemd without any dependency. For that reason,
they are the first one to be unmounted during shutdown.
Whichever program mounted the file system deserves a
chance to also unmount it. This patch ensures that
/proc/self/mountinfo units will be unmounted after
local-fs.target during shutdown (if they haven't been
unmounted already)

11 years agoman: fix grammar
Zbigniew Jędrzejewski-Szmek [Thu, 14 Mar 2013 22:44:03 +0000 (18:44 -0400)]
man: fix grammar

11 years agosystemd-python: add systemd.daemon wrapping sd-daemon
Zbigniew Jędrzejewski-Szmek [Fri, 15 Mar 2013 23:01:10 +0000 (19:01 -0400)]
systemd-python: add systemd.daemon wrapping sd-daemon

Please see the documentation (e.g. pydoc3 systemd.daemon) for full
description. As usual, systemd._daemon wraps the raw interface, while
systemd.daemon provides the more pythonic API. sd_listen_fds,
sd_booted, sd_is_fifo, sd_is_socket, sd_is_socket_unix,
sd_is_socket_inet, sd_is_mq, and SD_LISTEN_FDS_START are currently
wrapped.

11 years agosystemd-activate: pass environment variables through
Zbigniew Jędrzejewski-Szmek [Fri, 15 Mar 2013 22:57:44 +0000 (18:57 -0400)]
systemd-activate: pass environment variables through

I need this to test half-installed socket-activated python
script, which requires PYTHONPATH and LD_LIBRARY_PATH set.
I assume that other people might find it useful to.

-E VAR passes through VAR from the environment, while
-E VAR=value sets VAR=value.

systemd-activate -E PYTHONPATH=/var/tmp/inst1/usr/lib64/python3.3/site-packages -E LD_LIBRARY_PATH=/var/tmp/inst1/usr/lib -l 2000 python3 -c 'from systemd.daemon import listen_fds; print(listen_fds())'

11 years agosysctl: default - add safe sysrq options
Kay Sievers [Fri, 15 Mar 2013 18:30:53 +0000 (19:30 +0100)]
sysctl: default - add safe sysrq options

11 years agoTODO: update
Kay Sievers [Fri, 15 Mar 2013 16:48:12 +0000 (17:48 +0100)]
TODO: update

11 years agonspawn: don't make assumptions about the size of pid_t
Lennart Poettering [Fri, 15 Mar 2013 15:48:48 +0000 (16:48 +0100)]
nspawn: don't make assumptions about the size of pid_t

11 years agologind: explicitly create state directories during early initialization
Lennart Poettering [Fri, 15 Mar 2013 15:46:35 +0000 (16:46 +0100)]
logind: explicitly create state directories during early initialization

Strictly speaking this isn't necessary for the /run/systemd/seats/
directory, since that is created anyway as the first seat is found, and
seat0 is always found. But let's be explicit here, and also create the
sessions/ and users/ directories, so that people can always install
inotify watches from very early on, even when nobody logged in yet.

11 years agosd-booted: update sd_booted() check a bit
Lennart Poettering [Fri, 15 Mar 2013 15:41:40 +0000 (16:41 +0100)]
sd-booted: update sd_booted() check a bit

Previously we were testing whether /sys/fs/cgroup/systemd/ was a mount
point. This might be problematic however, when the cgroup trees are bind
mounted into a container from the host (which should be absolutely
valid), which might create the impression that the container was running
systemd, but only the host actually is.

Replace this by a check for the existance of the directory
/run/systemd/system/, which should work unconditionally, since /run can
never be a bind mount but *must* be a tmpfs on systemd systems, which is
flushed at boots. This means that data in /run always reflects
information about the current boot, and only of the local container,
which makes it the perfect choice for a check like this.

(As side effect this is nice to Ubuntu people who now use logind with
the systemd cgroup hierarchy, where the old sd_booted() check misdetects
systemd, even though they still run legacy Upstart.)

11 years agostrv: fix STRV_FOREACH_PAIR macro definition
Lennart Poettering [Fri, 15 Mar 2013 15:41:13 +0000 (16:41 +0100)]
strv: fix STRV_FOREACH_PAIR macro definition

11 years agosysctl: add 50-default.conf
Kay Sievers [Fri, 15 Mar 2013 15:11:56 +0000 (16:11 +0100)]
sysctl: add 50-default.conf

11 years agosysctl: coredump.conf -> 50-coredump.conf
Kay Sievers [Fri, 15 Mar 2013 14:54:35 +0000 (15:54 +0100)]
sysctl: coredump.conf -> 50-coredump.conf

11 years agoman: bootup - "Systemd in the Initrd" -> "Initrd System Manager Bootup"
Kay Sievers [Fri, 15 Mar 2013 11:34:50 +0000 (12:34 +0100)]
man: bootup - "Systemd in the Initrd" -> "Initrd System Manager Bootup"

11 years agoMake initrd.target the default target in the initrd
Harald Hoyer [Thu, 14 Mar 2013 12:12:10 +0000 (13:12 +0100)]
Make initrd.target the default target in the initrd

First, rename root-fs.target to initrd-root-fs.target to clarify its usage.

Mount units with "x-initrd-rootfs.mount" are now ordered before
initrd-root-fs.target. As we sometimes construct /sysroot mounts in
/etc/fstab in the initrd, we want these to be mounted before the
initrd-root-fs.target is active.

initrd.target can be the default target in the initrd.

                             (normal startup)
                                    :
                                    :
                                    v
                              basic.target
                                    |
             ______________________/|
            /                       |
            |                  sysroot.mount
            |                       |
            |                       v
            |             initrd-root-fs.target
            |                       |
            |                       v
            |            initrd-parse-etc.service
(custom initrd services)            |
            |                       v
            |            (sysroot-usr.mount and
            |             various mounts marked
            |               with fstab option
            |                x-initrd.mount)
            |                       |
            |                       v
            |                initrd-fs.target
            |                       |
            \______________________ |
                                   \|
                                    v
                               initrd.target
                                    |
                                    v
                          initrd-cleanup.service
                               isolates to
                         initrd-switch-root.target
                                    |
                                    v
             ______________________/|
            /                       |
            |        initrd-udevadm-cleanup-db.service
            |                       |
(custom initrd services)            |
            |                       |
            \______________________ |
                                   \|
                                    v
                        initrd-switch-root.target
                                    |
                                    v
                        initrd-switch-root.service
                                    |
                                    v
                               switch-root

11 years agomain: don't mount /sys, /dev and friends when we run with PID != 1
Lennart Poettering [Thu, 14 Mar 2013 20:36:38 +0000 (21:36 +0100)]
main: don't mount /sys, /dev and friends when we run with PID != 1

Back from old times when we developed systemd on non-systemd hosts we
still mounted the missing directories such as the cgroup stuff even when
running with a PID != 1. There's no point for that anymore, so let's
just do that if we are actually PID 1, and never otherwise.

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

11 years agofileio: use _cleanup_
Zbigniew Jędrzejewski-Szmek [Thu, 14 Mar 2013 02:47:28 +0000 (22:47 -0400)]
fileio: use _cleanup_

11 years agobuild-sys: link libsystemd-login also against libsystemd-daemon-internal
Zbigniew Jędrzejewski-Szmek [Thu, 14 Mar 2013 01:59:11 +0000 (21:59 -0400)]
build-sys: link libsystemd-login also against libsystemd-daemon-internal

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

/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libsystemd-login.so:
undefined reference to `sd_listen_fds'

In ee465038ce8 'build-sys: break dependency loop between
libsystemd-id128.la and -shared.la', a partial fix was applied, and
the use of functions from libsystemd-id128 was removed from
libsystemd-shared. Nevertheless, fdset.c was still using sd_listen_fds,
so libsystemd-login should be linked against libysystemd-daemon
or libsystemd-daemon-internal.

Tested-by: Elias Probst <mail@eliasprobst.eu>
11 years agosystemctl: remove unused variable
Michal Sekletar [Tue, 12 Mar 2013 17:22:57 +0000 (18:22 +0100)]
systemctl: remove unused variable

11 years agotmpfiles: add missing missing.h include
Zbigniew Jędrzejewski-Szmek [Thu, 14 Mar 2013 00:20:54 +0000 (20:20 -0400)]
tmpfiles: add missing missing.h include

mbiebl> src/tmpfiles/tmpfiles.c:221:13: error: ‘MAX_HANDLE_SZ’
        undeclared (first use in this function)

Fixup for 427b47c4abaf4b5.

11 years agoinitctl: catch write error, use _cleanup_
Zbigniew Jędrzejewski-Szmek [Wed, 13 Mar 2013 23:40:01 +0000 (19:40 -0400)]
initctl: catch write error, use _cleanup_

!= operator always returns something nonnegative, so the
error condition was not caught.

11 years agojournalctl: show systemd messages about unit for -u
Zbigniew Jędrzejewski-Szmek [Wed, 13 Mar 2013 23:30:05 +0000 (19:30 -0400)]
journalctl: show systemd messages about unit for -u

journalctl -u unit is not very useful, because it doesn't show
systemd messages about starting, stopping, coredumps, etc,
like systemctl status unit does. Make it show the same
information using the same rules.

If somebody really want to see just messages from by the unit,
it is easy enough to use _SYSTEMD_UNIT=...

11 years agologs-show: export logic to add matches for units
Zbigniew Jędrzejewski-Szmek [Wed, 13 Mar 2013 23:30:05 +0000 (19:30 -0400)]
logs-show: export logic to add matches for units

After that functions which add matches, show_journal_by_unit
and show_journal_by_user_unit, become nearly identical, so
I merged them into one function.

11 years agoman: fix some typos
Thomas Hindoe Paaboel Andersen [Wed, 13 Mar 2013 22:09:49 +0000 (23:09 +0100)]
man: fix some typos

11 years agobuild-sys: add two new files to EXTRA_DIST
Zbigniew Jędrzejewski-Szmek [Wed, 13 Mar 2013 17:24:06 +0000 (13:24 -0400)]
build-sys: add two new files to EXTRA_DIST

Also move custom-*.xsl EXTRA_DIST additions closer to where
they are used.

11 years agolibudev: implement udev_device_set_attribute_value()
Hannes Reinecke [Mon, 11 Mar 2013 11:49:27 +0000 (12:49 +0100)]
libudev: implement udev_device_set_attribute_value()

11 years agocore: single unit_kill implementation for all unit types
Michal Schmidt [Sat, 2 Mar 2013 21:31:09 +0000 (22:31 +0100)]
core: single unit_kill implementation for all unit types

There are very few differences in the implementations of the kill method in the
unit types that have one. Let's unify them.

This does not yet unify unit_kill() with unit_kill_context().

11 years agoutil, manager: and mempset() and use it
Michal Schmidt [Tue, 5 Mar 2013 14:52:44 +0000 (15:52 +0100)]
util, manager: and mempset() and use it

Just like mempcpy() is almost identical to memcpy() except the useful
return value, so is the relation of mempset() to memset().

11 years agomanager: use more stpcpy()
Michal Schmidt [Tue, 5 Mar 2013 14:46:37 +0000 (15:46 +0100)]
manager: use more stpcpy()

11 years agotmpfiles: --clean -- check for bind mounts of the same filesystem and skip them
Kay Sievers [Wed, 13 Mar 2013 12:12:36 +0000 (13:12 +0100)]
tmpfiles: --clean -- check for bind mounts of the same filesystem and skip them

11 years agocryptsetup-generator: use _cleanup_ where possible
Harald Hoyer [Fri, 8 Mar 2013 09:50:33 +0000 (10:50 +0100)]
cryptsetup-generator: use _cleanup_ where possible

11 years agoadd initrd-fs.target and root-fs.target
Harald Hoyer [Mon, 4 Mar 2013 18:01:05 +0000 (19:01 +0100)]
add initrd-fs.target and root-fs.target

Instead of using local-fs*.target in the initrd, use root-fs.target for
sysroot.mount and initrd-fs.target for /sysroot/usr and friends.

Using local-fs.target would mean to carry over the activated
local-fs.target to the isolated initrd-switch-root.target and thus in
the real root. Having local-fs.target already active after
deserialization causes ordering problems with the real root services and
targets.

We better isolate to targets for initrd-switch-root.target, which are
only available in the initrd.

11 years agobuild-sys: use -f with ln -s
Zbigniew Jędrzejewski-Szmek [Wed, 13 Mar 2013 04:55:32 +0000 (00:55 -0400)]
build-sys: use -f with ln -s

Parallel builds would sometimes try to recreate the link,
and fail since 'ln -s' would refuse to overwrite.

11 years agoman: Document the actual behaviour of ExecStopPost
Mathieu Bridon [Wed, 13 Mar 2013 04:43:40 +0000 (12:43 +0800)]
man: Document the actual behaviour of ExecStopPost

The documentation makes it sound like ExecStopPost is only run when
stopping the service with `systemctl stop foo.service`

However, that is not the case, as it also gets run when the service
unexpectedly exists, crashes, or gets SIGKILLed.

11 years agoman,html: say 'systemd 198' in the header
Zbigniew Jędrzejewski-Szmek [Wed, 13 Mar 2013 03:57:09 +0000 (23:57 -0400)]
man,html: say 'systemd 198' in the header

This should help readers of the man or HTML pages know if the documentation
is out of date. An alternative to use a date generated from 'git log' was
considered, but since we try to keep user visible documentation up to date,
showing the project version should be enough.

11 years agoman: strip the comments in man page headers
Zbigniew Jędrzejewski-Szmek [Tue, 12 Mar 2013 21:22:19 +0000 (17:22 -0400)]
man: strip the comments in man page headers

They contained the date, which creates a problem with multiarch
packages, since the generated file would be different each time.

11 years agobuild-sys: break dependency loop between libsystemd-id128.la and -shared.la
Zbigniew Jędrzejewski-Szmek [Wed, 13 Mar 2013 03:05:20 +0000 (23:05 -0400)]
build-sys: break dependency loop between libsystemd-id128.la and -shared.la

The loop was added in d848b9cbfa0ba72 'Move generic specifier functions to shared'.

11 years agoshutdown: move attribute packed to the end of the declaration, so it is not ignored
Michal Sekletar [Tue, 12 Mar 2013 17:32:52 +0000 (18:32 +0100)]
shutdown: move attribute packed to the end of the declaration, so it is not ignored

11 years agomanager: push back animation timer whenever a job finishes
Michal Schmidt [Tue, 12 Mar 2013 21:28:44 +0000 (22:28 +0100)]
manager: push back animation timer whenever a job finishes

The running jobs animation is supposed to hide itself when jobs are
progressing sufficiently fast.

11 years agoremote-fs.target: want remote-fs-pre.target
Harald Hoyer [Tue, 12 Mar 2013 17:24:44 +0000 (18:24 +0100)]
remote-fs.target: want remote-fs-pre.target

This pulls in remote-fs-pre.target if remote-fs.target is needed.

Previously remote-fs-pre.target was not active, if no remote fs was
mounted from /etc/fstab. So, every manual remote fs mount was ordered
against the inactive remote-fs-pre.target and umount.target.

Because remote-fs-pre.target was not active, the remote fs was umounted
at umount.target time, which was too late (network already down).

Now remote-fs-pre.target is active, even if no remote fs is mounted.
On shutdown it is deactivated in the correct order and all manual remote
fs mounts also.