This adds support for executing systemctl operations remotely or as
privileged user while still running systemctl itself unprivileged and
locally.
This currently requires a D-Bus patch to work properly.
https://bugs.freedesktop.org/show_bug.cgi?id=35230
<juergbi> VALA_0_X is defined up to and including the current version
<juergbi> so VALA_0_10 is defined in 0.10 and 0.11 and 0.12
<juergbi> VALA_0_12 is defined in 0.11 and 0.12 (and later versions)
<juergbi> reverse the branches and use VALA_0_12 as conditional
<kay> juergbi: changing api but keep the defines?
<kay> how do we support vala 0.14 then?
<kay> you keep that model with the old defines?
<juergbi> VALA_0_10 corresponds to valaversion >= 0.10
Add missing dbus_error_init() in UNKNOWN_OBJECT case. Fixes assertion
systemd[1]: Caught <ABRT>, dumped core as pid 6256.
systemd[1]: Freezing execution.
Core was generated by `/bin/systemd systemd.unit=graphical.target'.
Program terminated with signal 6, Aborted.
#0 0x00007f8966ec81db in raise () from /lib64/libpthread.so.0
(gdb) bt
#0 0x00007f8966ec81db in raise () from /lib64/libpthread.so.0
#1 0x000000000040823b in crash (sig=6) at src/main.c:120
#2 <signal handler called>
#3 0x00007f896613c075 in raise () from /lib64/libc.so.6
#4 0x00007f896613d806 in abort () from /lib64/libc.so.6
#5 0x00007f89672ac8a5 in _dbus_abort () at dbus-sysdeps.c:94
#6 0x00007f89672a37b5 in _dbus_warn_check_failed (
format=0x7f89672b35d8 "arguments to %s() were incorrect, assertion
\"%s\" failed in file %s line %d.\nThis is normally a bug in some
application using the D-Bus library.\n") at dbus-internals.c:289
#7 0x0000000000441500 in bus_unit_message_handler (connection=0x21b6090,
message=0x21b6760, data=0x1f3e870) at src/dbus-unit.c:572
#8 0x00007f8967299f11 in _dbus_object_tree_dispatch_and_unlock (
tree=0x219d660, message=0x21b6760) at dbus-object-tree.c:858
#9 0x00007f896728bca2 in dbus_connection_dispatch (connection=0x21b6090)
at dbus-connection.c:4688
#10 0x000000000043befa in bus_dispatch (m=0x1f3e870) at src/dbus.c:547
#11 0x000000000041056d in manager_loop (m=0x1f3e870) at src/manager.c:2344
#12 0x0000000000409515 in main (argc=<value optimized out>,
argv=<value optimized out>) at src/main.c:1229
During early boot, mount a tmpfs to /dev/.run and then bind mount it to
/var/run as soon as /var is available.
This makes it possible for programs involved in early boot to put
runtime data in /dev/.run which later on will show up in /var/run like
any other.
This can be used to solve the early-boot D-Bus problem: D-Bus may start
up with its socket bound to /dev/.run/dbus/system_bus_socket and after
/var it will also be available under the traditional name
/var/run/dbus/system_bus_socket.
This also is intended to be used as a better place for systemd, mount,
mdadm, blkid, plymouth, bootchart and dracut runtime data, which is
currently stored in various places in /dev/.xxx.
This merges several separate patches that I carry as part of
Mandriva systemd RPM. They touch those parts that are very
unlikely to be changed in near future and do not impose any
functionality change for systemd core. I also think it is
useful for troubleshooting to have real distribution name in
system logs, espicially when someone reports problem upstream.
The patch looks bigger than sum of replaced patches because
- previous patches were applied on top of distro=fedora, now
I need to add all those bits for distro=mandriva as well
- part of patch was done as spec file magic, but it seems more
logical to ship all these bits together
On 07.03.2011 19:04, Lennart Poettering wrote:
>
> Oh, I had assumed that .vimrc trick would allow project-wide vim
> modelines without having to edit each and every single file.
>
> Currently, every file does contain an emacs modeline at the top. It
> would be fair I guess to add a vim modeline to all those files too, even
> though it's not necessarily pretty.
Hi,
maybe it makes sense to go in the opposite direction: add .dir-locals.el
in the top directory. The settings are actually identical in all .[ch]
files.
Since we want to replace the bridge dynamically by the real syslog
implementation such as rsyslog we need to make sure that the the bridge
stays running right to the moment rsyslog is up so that we process
messages enqueued by other processes started before rsyslog, so that
those clients don't stay stuck.
The patch adds framework for processing Set requests on properties
and as first consumers allows setting of LogTarget and LogLevel on
interface org.freedesktop.systemd1.Manager of org.freedesktop.systemd1.
The code should be generic enough to allow processing of any
property on other objects and interfaces as well.
No systemctl visible interface is added so far. The LogTarget and
LogLevel are meant for debugging in the first place; user interface
can be added if other usage emerge.
Set on systemwide systemd is restricted to root; I am not sure
how session level access is controlled.
This is supposed to play the same roles /var/lib/dbus/machine-id,
however fixes a couple of problems:
- It is available during early boot since it is stored in /etc
- Removes the ID from the D-Bus context and moves it into a system
context, thus hopefully lowering hesitation by people to use it.
- It is generated at installation time. If the file is empty at boot
time it will be mounted over with a randomly generated ID, which is
not saved to disk. This is useful to support state-less machines with
no transient or writable /etc configuration.