Commit e842803a authored by Michael Biebl's avatar Michael Biebl

Imported Upstream version 215

parent 60f067b4
......@@ -11,6 +11,7 @@ MANPAGES += \
man/bootup.7 \
man/busctl.1 \
man/daemon.7 \
man/file-hierarchy.7 \
man/halt.8 \
man/hostname.5 \
man/journalctl.1 \
......@@ -58,6 +59,7 @@ MANPAGES += \
man/systemd-cat.1 \
man/systemd-cgls.1 \
man/systemd-cgtop.1 \
man/systemd-debug-generator.8 \
man/systemd-delta.1 \
man/systemd-detect-virt.1 \
man/systemd-efi-boot-generator.8 \
......@@ -72,6 +74,7 @@ MANPAGES += \
man/systemd-machine-id-setup.1 \
man/systemd-notify.1 \
man/systemd-nspawn.1 \
man/systemd-path.1 \
man/systemd-remount-fs.service.8 \
man/systemd-run.1 \
man/systemd-shutdownd.service.8 \
......@@ -81,9 +84,11 @@ MANPAGES += \
man/systemd-sysctl.service.8 \
man/systemd-system-update-generator.8 \
man/systemd-system.conf.5 \
man/systemd-sysusers.8 \
man/systemd-tmpfiles.8 \
man/systemd-tty-ask-password-agent.1 \
man/systemd-udevd.service.8 \
man/systemd-update-done.service.8 \
man/systemd-update-utmp.service.8 \
man/systemd.1 \
man/systemd.automount.5 \
......@@ -107,6 +112,7 @@ MANPAGES += \
man/systemd.time.7 \
man/systemd.timer.5 \
man/systemd.unit.5 \
man/sysusers.d.5 \
man/telinit.8 \
man/tmpfiles.d.5 \
man/udev.7 \
......@@ -193,6 +199,7 @@ MANPAGES_ALIAS += \
man/systemd-hybrid-sleep.service.8 \
man/systemd-initctl.8 \
man/systemd-initctl.socket.8 \
man/systemd-journald-dev-log.socket.8 \
man/systemd-journald.8 \
man/systemd-journald.socket.8 \
man/systemd-kexec.service.8 \
......@@ -204,6 +211,7 @@ MANPAGES_ALIAS += \
man/systemd-shutdownd.socket.8 \
man/systemd-sleep.8 \
man/systemd-sysctl.8 \
man/systemd-sysusers.service.8 \
man/systemd-tmpfiles-clean.service.8 \
man/systemd-tmpfiles-clean.timer.8 \
man/systemd-tmpfiles-setup-dev.service.8 \
......@@ -211,6 +219,7 @@ MANPAGES_ALIAS += \
man/systemd-udevd-control.socket.8 \
man/systemd-udevd-kernel.socket.8 \
man/systemd-udevd.8 \
man/systemd-update-done.8 \
man/systemd-update-utmp-runlevel.service.8 \
man/systemd-update-utmp.8 \
......@@ -295,6 +304,7 @@ man/systemd-hibernate.service.8: man/systemd-suspend.service.8
man/systemd-hybrid-sleep.service.8: man/systemd-suspend.service.8
man/systemd-initctl.8: man/systemd-initctl.service.8
man/systemd-initctl.socket.8: man/systemd-initctl.service.8
man/systemd-journald-dev-log.socket.8: man/systemd-journald.service.8
man/systemd-journald.8: man/systemd-journald.service.8
man/systemd-journald.socket.8: man/systemd-journald.service.8
man/systemd-kexec.service.8: man/systemd-halt.service.8
......@@ -306,6 +316,7 @@ man/systemd-shutdownd.8: man/systemd-shutdownd.service.8
man/systemd-shutdownd.socket.8: man/systemd-shutdownd.service.8
man/systemd-sleep.8: man/systemd-suspend.service.8
man/systemd-sysctl.8: man/systemd-sysctl.service.8
man/systemd-sysusers.service.8: man/systemd-sysusers.8
man/systemd-tmpfiles-clean.service.8: man/systemd-tmpfiles.8
man/systemd-tmpfiles-clean.timer.8: man/systemd-tmpfiles.8
man/systemd-tmpfiles-setup-dev.service.8: man/systemd-tmpfiles.8
......@@ -313,6 +324,7 @@ man/systemd-tmpfiles-setup.service.8: man/systemd-tmpfiles.8
man/systemd-udevd-control.socket.8: man/systemd-udevd.service.8
man/systemd-udevd-kernel.socket.8: man/systemd-udevd.service.8
man/systemd-udevd.8: man/systemd-udevd.service.8
man/systemd-update-done.8: man/systemd-update-done.service.8
man/systemd-update-utmp-runlevel.service.8: man/systemd-update-utmp.service.8
man/systemd-update-utmp.8: man/systemd-update-utmp.service.8
man/systemd-user.conf.5: man/systemd-system.conf.5
......@@ -559,6 +571,9 @@ man/systemd-initctl.html: man/systemd-initctl.service.html
man/systemd-initctl.socket.html: man/systemd-initctl.service.html
man/systemd-journald-dev-log.socket.html: man/systemd-journald.service.html
man/systemd-journald.html: man/systemd-journald.service.html
......@@ -592,6 +607,9 @@ man/systemd-sleep.html: man/systemd-suspend.service.html
man/systemd-sysctl.html: man/systemd-sysctl.service.html
man/systemd-sysusers.service.html: man/systemd-sysusers.html
man/systemd-tmpfiles-clean.service.html: man/systemd-tmpfiles.html
......@@ -613,6 +631,9 @@ man/systemd-udevd-kernel.socket.html: man/systemd-udevd.service.html
man/systemd-udevd.html: man/systemd-udevd.service.html
man/systemd-update-done.html: man/systemd-update-done.service.html
man/systemd-update-utmp-runlevel.service.html: man/systemd-update-utmp.service.html
......@@ -658,7 +679,8 @@ endif
man/coredump.conf.5 \
......@@ -1472,13 +1494,16 @@ endif
# Really, do not edit this file.
man/binfmt.d.xml \
man/binfmt.d.xml \
man/bootchart.conf.xml \
man/bootctl.xml \
man/bootup.xml \
man/busctl.xml \
man/coredump.conf.xml \
man/coredumpctl.xml \
man/crypttab.xml \
man/daemon.xml \
man/file-hierarchy.xml \
man/halt.xml \
man/hostname.xml \
man/hostnamectl.xml \
......@@ -1569,9 +1594,9 @@ EXTRA_DIST += \
man/systemd-cat.xml \
man/systemd-cgls.xml \
man/systemd-cgtop.xml \
man/systemd-coredumpctl.xml \
man/systemd-cryptsetup-generator.xml \
man/systemd-cryptsetup@.service.xml \
man/systemd-debug-generator.xml \
man/systemd-delta.xml \
man/systemd-detect-virt.xml \
man/systemd-efi-boot-generator.xml \
......@@ -1595,6 +1620,7 @@ EXTRA_DIST += \
man/systemd-networkd.service.xml \
man/systemd-notify.xml \
man/systemd-nspawn.xml \
man/systemd-path.xml \
man/systemd-quotacheck.service.xml \
man/systemd-random-seed.service.xml \
man/systemd-readahead-replay.service.xml \
......@@ -1609,11 +1635,13 @@ EXTRA_DIST += \
man/systemd-sysctl.service.xml \
man/systemd-system-update-generator.xml \
man/systemd-system.conf.xml \
man/systemd-sysusers.xml \
man/systemd-timedated.service.xml \
man/systemd-timesyncd.service.xml \
man/systemd-tmpfiles.xml \
man/systemd-tty-ask-password-agent.xml \
man/systemd-udevd.service.xml \
man/systemd-update-done.service.xml \
man/systemd-update-utmp.service.xml \
man/systemd-user-sessions.service.xml \
man/systemd-vconsole-setup.service.xml \
......@@ -1643,6 +1671,7 @@ EXTRA_DIST += \
man/systemd.timer.xml \
man/systemd.unit.xml \
man/systemd.xml \
man/sysusers.d.xml \
man/telinit.xml \
man/timedatectl.xml \
man/tmpfiles.d.xml \
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -115,13 +115,14 @@ REQUIREMENTS:
libcryptsetup (optional)
libaudit (optional)
libacl (optional)
libattr (optional)
libselinux (optional)
liblzma (optional)
libgcrypt (optional)
libqrencode (optional)
libmicrohttpd (optional)
libpython (optional)
gobject-introspection > 1.40.0 (optional)
elfutils >= 158 (optional)
make, gcc, and similar tools
During runtime, you need the following additional
......@@ -168,7 +169,7 @@ USERS AND GROUPS:
even in the very early boot stages, where no other databases
and network are available:
tty, dialout, kmem, video, audio, lp, cdrom, tape, disk
audio, cdrom, dialout, disk, input, kmem, lp, tape, tty, video
During runtime, the journal daemon requires the
"systemd-journal" system group to exist. New journal files will
......@@ -187,16 +188,16 @@ USERS AND GROUPS:
exist. During execution this network facing service will drop
privileges and assume this uid/gid for security reasons.
Similar, the NTP daemon requires the "systemd-timesync" system
Similarly, the NTP daemon requires the "systemd-timesync" system
user and group to exist.
Similar, the network management daemon requires the
Similarly, the network management daemon requires the
"systemd-network" system user and group to exist.
Similar, the name resolution daemon requires the
Similarly, the name resolution daemon requires the
"systemd-resolve" system user and group to exist.
Similar, the kdbus dbus1 proxy daemon requires the
Similarly, the kdbus dbus1 proxy daemon requires the
"systemd-bus-proxy" system user and group to exist.
......@@ -4,24 +4,12 @@ Bugfixes:
* Should systemctl status \* work on all unit types, not just .service?
* enabling an instance unit creates a pointless link, and
the unit will be started with getty@getty.service:
$ systemctl enable getty@.service
ln -s '/usr/lib/systemd/system/getty@.service' '/etc/systemd/system/'
* Dangling symlinks of .automount unit files in .wants/ directories, set up
automount points even when the original .automount file did not exist
anymore. Only the .mount unit was still around.
* properly handle .mount unit state tracking when two mount points are stacked one on top of another on the exact same mount point.
* shorten the message to sane length:
Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory. See system logs and 'systemctl status display-manager.service' for details.
* sd_bus_unref() is broken regarding self-references and "pseudo thread-safety".
See the comment in sd_bus_unref() for more..
* Fedora: when installing fedora with yum --installroot /var/run is a directory, not a symlink
......@@ -30,8 +18,29 @@ External:
* Fedora: post FPC ticket to move add %tmpfiles_create to the packaging guidelines
* Fedora: move kernel image to /usr/lib/modules/, kernel-install will take care of populating /boot
* new component "systemd-first-boot" which asks for locale, timezone,
root password on first boot if the configuration for that has not
been provisioned yet. Similar in style to what the distros have, but
minimalist, text-only /dev/console stuff.
* Add a new verb "systemctl top"
* order OnCalendar timer units after if DefaultDependencies=no so that we don't trigger them prematurely
* refuse mounting on symlinks
* logind: allow users to kill or lock their own sessions
* support empty /etc boots nicely:
- nspawn/gpt-generator: introduce new gpt partition type for /usr
- nspawn: add --mode=auto,stateful,stateless,volatile
- fstab-generator: support auot/stateful/stateless/volatile on the kernel cmdline, too
- fstab-generator: add support for usr= in addition to root= on the kernel cmdline
* generator that automatically discovers btrfs subvolumes, identifies their purpose based on some xattr on them.
* support setting empty environment variables with Environment= and EnvironmentFile=
......@@ -41,26 +50,20 @@ Features:
* timer units: actually add extra delays to timer units with high AccuracySec values, don't start them already when we are awake...
* timesyncd:
- hookup with networkd: NTP servers from dhcp
* timesyncd - hookup with networkd: NTP servers from dhcp
* a way for container managers to turn off getty starting via $container_headless= or so...
* figure out a nice way how we can let the admin know what child/sibling unit causes cgroup membership for a specific unit
* add a kernel command line option to enable the debug shell
* journalctl: add the ability to look for the most recent process of a binary. journalctl /usr/bin/X11 --pid=-1 or so...
* set NOTIFY_SOCKET also for control processes
* drop parsing of chkconfig header lines from service.c
* mount_cgroup_controllers(): symlinks need to get the label applied
* For timer units: add some mechanisms so that timer units that trigger immediately on boot do not have the services they run added to the initial transaction and thus confuse Type=idle.
* Add RPM macros for registering/unregistering binfmt drop-ins
* For timer units: add some mechanisms so that timer units that trigger immediately on boot do not have the services
they run added to the initial transaction and thus confuse Type=idle.
* Add timeout to early-boot, and shut down the system if it is hit. Solves the laptop-in-bag problem and is useful for embedded cases
......@@ -86,10 +89,6 @@ Features:
do not have to open it to know that it is not interesting for us, for
the most common operations.
* support transient mount units
* add an "input" group to udev logic and add all input devices to it
* add generator that pulls in systemd-network from containers when
CAP_NET_ADMIN is set, more than the loopback device is defined, even
when it is otherwise off
......@@ -223,12 +222,6 @@ Features:
- add 'set -e' to scripts in test/
- make stuff in test/ work with separate output dir
* systemctl delete x.snapshot leaves no trace in logs (at least at default level).
* make the coredump collector tool move itself into the user's cgroup
so that the coredump is properly written to the user's own journal
* seems that when we follow symlinks to units we prefer the symlink
destination path over /etc and /usr. We should not do that. Instead
/etc should always override /run+/usr and also any symlink
......@@ -266,8 +259,6 @@ Features:
* use "log level" rather than "log priority" everywhere
* timedate: have global on/off switches for auto-time (NTP), and auto-timezone that connman can subscribe to.
* merge unit_kill_common() and unit_kill_context()
* introduce ExecCondition= in services
......@@ -374,7 +365,6 @@ Features:
about it. Should fix both to print nice actionable messages.
- print nice message from systemctl --failed if there are no entries shown, and hook that into ExecStartPre of rescue.service/emergency.service
- add new command to systemctl: "systemctl system-reexec" which reexecs as many daemons as virtually possible
- systemctl enable: improve the success messages (i.e. more human readable, less shell-like)
- systemctl enable: fail if target to alias into does not exist? maybe show how many units are enabled afterwards?
- systemctl: "Journal has been rotated since unit was started." message is misleading
- support "systemctl stop foobar@.service" to stop all units matching a certain template
......@@ -385,14 +375,9 @@ Features:
* unit install:
- "systemctl mask" should find all names by which a unit is accessible
(i.e. by scanning for symlinks to it) and link them all to /dev/null
- "systemctl disable" of a unit instance removes all symlinks, but should
only remove the instance symlink (systemctl disable of a template
unit however should remove them all).
- systemctl list-unit-files should list generated files (and probably with a new state "generated" for them, or so)
- systemctl: maybe add "systemctl add-wants" or so...
* deal with sendmail/postfix exclusivity
* timer units:
- timer units should get the ability to trigger when:
......@@ -411,13 +396,6 @@ Features:
mode, it will never touch the RTC if the no reliable time source is active or the
user did not request anything like it.
* libunwind support for coredump pattern hook, and includes this in
the message for coredumps. After all, libunwind is now capable to
unwind coredumps since a few weeks ago. This probably requires that
we have nice support for multi-line messages on display in
logs-show.c. Alternatively: use libelfutil, which seems to be the
better supported alternative.
* add libsystemd-password or so to query passwords during boot using the password agent logic
* If we show an error about a unit (such as not showing up) and it has no Description string, then show a description string generated form the reverse of unit_name_mangle().
......@@ -426,19 +404,10 @@ Features:
* fedup: do not delete initrd on switch-root
* fedup: generator
* timedated: refuse time changes when NTP is on
* clean up date formatting and parsing so that all absolute/relative timestamps we format can also be parsed
* on shutdown: move utmp, wall, audit logic all into PID 1 (or logind?), get rid of systemd-update-utmp-runlevel
* add "factory" instructions to setup an empty /etc + /var
- used to setup a new container from a shared /usr
- superset of tmpfiles model
- instructions shipped by packages and stored in /usr/lib/
- compose /etc/passwd and /etc/group, copy files
- able to create uid + gid used by packages, for file ownership
* make repeated alt-ctrl-del presses printing a dump, or even force a reboot without
waiting for the timeout
......@@ -464,21 +433,14 @@ Features:
* make timer units go away after they elapsed
(network and remote-fs on shutdown)
* come up with a nice way to write queue/read_ahead_kb for a block device without interfering with readahead
* move PID 1 segfaults to /var/lib/systemd/coredump?
* create /sbin/init symlinks from the build system
* Query Paul Moore about relabelling socket fds while they are open
* allow writing multiple conditions in unit files on one line
* explore multiple service instances per listening socket idea
* MountFlags=shared acts as MountFlags=slave right now.
* drop PID 1 reloading, only do reexecing (difficult: Reload()
......@@ -549,7 +511,6 @@ Features:
* when a bus name of a service disappears from the bus make sure to queue further activation requests
* tmpfiles:
- check systemd-tmpfiles for selinux context hookup for mknod(), symlink() and similar
- apply "x" on "D" too (see patch from William Douglas)
* for services: do not set $HOME in services unless requested
......@@ -588,8 +549,6 @@ Features:
- readahead: when bumping /sys readahead variable save mtime and compare later to detect changes
- readahead: make use of EXT4_IOC_MOVE_EXT, as used by
* add support for /bin/mount -s
* GC unreferenced jobs (such as .device jobs)
* write blog stories about:
......@@ -615,8 +574,6 @@ Features:
* allow port=0 in .socket units
* support systemd.mask= on the kernel command line.
* recreate systemd's D-Bus private socket file on SIGUSR2
* Support --test based on current system state
......@@ -660,12 +617,11 @@ Features:
- add reduced [Link] support to .network files
- add Scope= parsing option for [Network]
- properly handle routerless dhcp leases
- set lifetime on the address acquired from dhcp
- patch kernel to support module alias for tunnel device (ipip/sit/gre),
then remove remove libkmod dependency and CAP_SYS_MODULE
- add veth netdev support (c.f.
- add tun/tap netdev support
- add more attribute support for SIT tunnel
- make metric of routes configurable
- work with non-ethernet devices
* networkd-wait-online:
- make operstates to wait for configurable?
......@@ -675,6 +631,22 @@ Features:
- export timezone information
* dhcp6:
- add functions to set previously stored IPv6 addresses on startup and get
them at shutdown; store them in client->ia_na
- write more test cases
- implement and do duplicate address detection, see rfc 4862, 5.4.
- implement reconfigure support, see 5.3., 15.11. and 22.20.
- implement information request, see 1.2. and 18.1.5.
- implement support for temporary adressess (IA_TA)
- implement elapsed time option
- implement dhcpv6 authentication
- investigate the usefulness of Confirm messages; i.e. are there any
situations where the link changes without any loss in carrier detection
or interface down
- some servers don't do rapid commit without a filled in IA_NA, verify
this behavior
* dbus:
......@@ -49,6 +49,30 @@
/* Define to 1 if you have the declaration of `IFLA_BOND_AD_INFO', and to 0 if
you don't. */
/* Define to 1 if you have the declaration of `IFLA_BRIDGE_VLAN_INFO', and to
0 if you don't. */
/* Define to 1 if you have the declaration of
`IFLA_IPTUN_6RD_RELAY_PREFIXLEN', and to 0 if you don't. */
/* Define to 1 if you have the declaration of `IFLA_PHYS_PORT_ID', and to 0 if
you don't. */
/* Define to 1 if you have the declaration of `IFLA_VLAN_PROTOCOL', and to 0
if you don't. */
/* Define to 1 if you have the declaration of `IFLA_VXLAN_LOCAL6', and to 0 if
you don't. */
/* Define to 1 if you have the declaration of `LO_FLAGS_PARTSCAN', and to 0 if
you don't. */
......@@ -68,6 +92,12 @@
/* Define to 1 if you have the <dlfcn.h> header file. */
/* ELFUTILS available */
/* Define to 1 if you have the <elfutils/libdwfl.h> header file. */
/* Define to 1 if you have the `fanotify_init' function. */
......@@ -116,6 +146,9 @@
/* Define if libcryptsetup is available */
/* Define to 1 if you have the `dw' library (-ldw). */
/* Define to 1 if you have the <linux/btrfs.h> header file. */
This diff is collapsed.
......@@ -20,7 +20,7 @@
......@@ -49,7 +49,29 @@ AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not s
AS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is not supported by systemd])])
# i18n stuff for the PolicyKit policy files
# Check whether intltool can be found, disable NLS otherwise
AC_CHECK_PROG(intltool_found, [intltool-merge], [yes], [no])
AS_IF([test x"$intltool_found" != xyes],
[AS_IF([test x"$enable_nls" = xyes],
[AC_MSG_ERROR([--enable-nls requested but intltool not found])],
[AS_IF([test x"$enable_nls" != xno],
[AC_MSG_WARN([*** Disabling NLS support because intltool was not found])
AS_IF([test x"$enable_nls" != xno], [
# intltoolize greps for '^(AC|IT)_PROG_INTLTOOL', so it needs to be on its own line
# If intltool is not available, provide a dummy rule to fail generation of %.policy files with a meaningful error message
INTLTOOL_POLICY_RULE='%.policy: ; @echo " ITMRG " $@ && echo "*** intltool support required to build target $@" && false'
......@@ -216,9 +238,21 @@ AC_ARG_WITH([python],
AS_IF([test "x$with_python" != "xno"], [
AS_IF(["$PYTHON" -c 'import lxml' 2>/dev/null], [have_lxml=yes], [have_lxml=no])
AS_IF([test "$PYTHON" != : -a $have_lxml = yes], [have_python=yes])
AS_IF([test "x$PYTHON" != "x:"], [
AC_MSG_CHECKING([for python lxml module])
AS_IF(["$PYTHON" -c 'import lxml' 2>/dev/null], [have_lxml=yes])
AS_IF([test "x$have_lxml" = "xyes"], [have_python=yes],
[AC_MSG_WARN([*** python support requires python-lxml module installed])])
AS_IF([test "$have_python" != "yes"], [
AS_IF([test "$with_python" = "yes"],
[AC_MSG_ERROR([*** python support requested but python support not found])])
AS_IF([test "$with_python" != "no"],
[AC_MSG_WARN([*** python support not found, some documentation cannot be built])])
AM_CONDITIONAL([HAVE_PYTHON], [test "x$have_python" = "xyes"])
AS_IF([test "x$PYTHON_BINARY" = "x"],
[AS_IF([test "x$have_python" = "xyes"],
......@@ -266,12 +300,33 @@ LIBS="$save_LIBS"
AC_CHECK_FUNCS([fanotify_init fanotify_mark])
AC_CHECK_FUNCS([__secure_getenv secure_getenv])
AC_CHECK_DECLS([gettid, pivot_root, name_to_handle_at, setns, LO_FLAGS_PARTSCAN], [], [], [[#include <sys/types.h>
AC_CHECK_DECLS([gettid, pivot_root, name_to_handle_at, setns, LO_FLAGS_PARTSCAN],
[], [], [[
#include <sys/types.h>
#include <unistd.h>
#include <sys/mount.h>
#include <fcntl.h>
#include <sched.h>
#include <linux/loop.h>]])
#include <linux/loop.h>
[], [], [[
#include <inttypes.h>
#include <netinet/in.h>
#include <netinet/ether.h>
#include <linux/rtnetlink.h>
#include <net/if.h>
#include <linux/ip.h>
#include <linux/if_tunnel.h>
#include <linux/if_link.h>
#include <linux/if_bridge.h>
# This makes sure pkg.m4 is available.
m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config])
......@@ -626,6 +681,52 @@ else
# ------------------------------------------------------------------------------
AS_HELP_STRING([--disable-elfutils],[Disable optional ELFUTILS support]),
[case "${enableval}" in
yes) have_elfutils=yes ;;
no) have_elfutils=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-elfutils) ;;
if test "x${have_elfutils}" != xno ; then