move more common files to shared/ and add them to shared.la
relicense to LGPLv2.1 (with exceptions) We finally got the OK from all contributors with non-trivial commits to relicense systemd from GPL2+ to LGPL2.1+. Some udev bits continue to be GPL2+ for now, but we are looking into relicensing them too, to allow free copy/paste of all code within systemd. The bits that used to be MIT continue to be MIT. The big benefit of the relicensing is that closed source code may now link against libsystemd-login.so and friends.
dbus: add generic DEFINE_BUS_PROPERTY_SET_ENUM() macro for enum properties The defined function can be used as BusPropertySetCallback.
dbus: add data argument to BusPropertySetCallback BusPropertyCallback already has the argument. It is necesary for the callback to know what data to access.
dbus: export ControlGroupPersistent field on the bus again
dbus: more efficient implementation of properties The way the various properties[] arrays are initialized is inefficient: - only the .data members change at runtime, yet the whole arrays of properties with all the fields are constructed on the stack one by one by the code. - there's duplication, eg. the properties of "org.freedesktop.systemd1.Unit" are repeated in several unit types. Fix it by moving the information about properties into static const sections. Instead of storing the .data directly in the property, store a constant offset from a run-time base. The small arrays of struct BusBoundProperties bind together the constant information with the right runtime information (the base pointer). On my system the code shrinks by 60 KB, data increases by 10 KB.
dbus: terminate mechanism daemons after a while
loginctl: add various introspection functions
loginctl: add basic implementation of loginctl for introspecting controlling sessions/users/seats
logind: hook up PAM module with logind
dbus: introduce UnsetAndSetEnvironment()
dbus: add api for append gid/uid properties
dbus: make bus_flags_to_events() and friends generally useful
socket: add POSIX mqueue support
dbus: split out object management code into dbus-common, and simplify it
systemctl: support remote and privileged systemctl access via SSH and pkexec 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
dbus: simplify some dbus error messages a bit
emacs: disable tabs in .h files, too
dbus: don't try to run AddMatch when connected to a private bus
install: implement --start option