summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2012-06-26service: pass via FAILED/DEAD before going to AUTO_RESTARTMichal Schmidt
With misconfigured mysql, which uses Restart=always, the following two messages would loop indefinitely and the "systemctl start" would never finish: Job pending for unit, delaying automatic restart. mysqld.service holdoff time over, scheduling restart. In service_enter_dead() always set the state to SERVICE_FAILED/DEAD first before setting SERVICE_AUTO_RESTART. This is to allow running jobs to complete. OnFailure will be also triggered at this point, so there's no need to do it again from service_stop() (where it was added in commit f0c7b229). Note that OnFailure units should better trigger only after giving up auto-restarting, but that's for another patch to solve. https://bugzilla.redhat.com/show_bug.cgi?id=832039
2012-06-26service: fix incorrect argumentMichal Schmidt
The last argument to service_enter_dead() is bool allow_restart, not a service result.
2012-06-26bus: drop HaveWatchdog optionLennart Poettering
Clients should always watch /dev/watchdog directly, instead of going indirect. Let's keep our stacks small.
2012-06-25systemctl: make sure we print URLs we can't show in systemctl in a nicely ↵Lennart Poettering
clickable way
2012-06-25cryptsetup: fix escaping when generating cryptsetup unitsLennart Poettering
2012-06-25man: document systemd-user-sessions.serviceLennart Poettering
2012-06-25units: rename cryptsetup@.service to systemd-cryptsetup@.serviceLennart Poettering
It's also our own code, hence should have the prefix.
2012-06-25units: rename fsck@.service to systemd-fsck@.serviceLennart Poettering
The rule is that units that encapsulate our own code are prefixed with "systemd-". Since the fsck units invoke our own code, hence add the missing prefix. Since a long long time the fsck units didn't invoke the naked fsck binaries anymore, and it is unlikely that this well ever change. On the opposite: the code in systemd-fsck will probably get more complex over time to handle fsck progress to plymouth forwarding. Same for quotacheck (but not quotaon!)
2012-06-22unit: drop the Names= optionLennart Poettering
Names= is a source of errors, simply because alias names specified like this only become relevant after a unit has been loaded but cannot be used to load a unit. Let's get rid of the confusion and drop this field. To establish alias names peope should use symlinks, which have the the benefit of being useful as key to load a unit, even though they are not taken into account if unit names are listed but they haven't been explicitly referenced before.
2012-06-22dbus: don't expose SysVInitPath and SysVRcndPath on the busLennart Poettering
People should use systemd.pc if anything at all to determine these directories, and people should not assume that the bus fields are part of the supported API, so let's just drop this.
2012-06-22core: remove sysv_console optionLennart Poettering
This option never made much sense. It was originally intended to make sure that the usual startup output of sysv scripts goes to the terminal. However, since SysV scripts started from a terminal would not output to that terminal, but rather /dev/console this effect was more often than not actually taking place. Nowadays systemd has much nicer boot time status output than SysV which makes the sysv output redundant. Finally, all output of services goes to the journal anyway, and is not lost. Hence, let's drop this option, and simplify things a bit.
2012-06-22systemctl: automatically turn paths and unescaped unit names into proper ↵Lennart Poettering
unit names This makes sure that systemctl status /home is implicitly translated to: systemctl status /home.mount Similar, /dev/foobar becomes dev-foobar.device. Also, all characters that cannot be part of a unit name are implicitly escaped.
2012-06-22modules-load: parse driver=/rd.driver= kernel command line optionLennart Poettering
This generalizes logic that already has been available in dracut before.
2012-06-22fstab-generator: support fstab=/rd.fstab= kernel cmdlineLennart Poettering
This generalizes functionality already available in dracut.
2012-06-22cryptsetup: allow configuration of LUKS disks via the kernel cmdlineLennart Poettering
This generalizes a bit of the functionality already available in dracut.
2012-06-22man: document all kernel command line options we understandLennart Poettering
2012-06-22journal: fix sd_journal_stream_fd()Lennart Poettering
2012-06-22journal: set the _SYSTEMD_UNIT field for messages from terminated processesEelco Dolstra
As described in https://bugs.freedesktop.org/show_bug.cgi?id=50184 the journal currently doesn't set fields such as _SYSTEMD_UNIT properly for messages coming from processes that have already terminated. This means among other things that "systemctl status" may not show some of the output of services that wrote messages just before they exited. This patch fixes this by having processes that log to the journal write their unit identifier to journald when the connection to /run/systemd/journal/stdout is opened. Journald stores the unit ID and uses it to fill in _SYSTEMD_UNIT when it cannot be obtained normally (i.e. from the cgroup). To prevent impersonating another unit, this information is only used when the caller is root. This doesn't fix the general problem of getting metadata about messages from terminated processes (which requires some kernel support), but it allows "systemctl status" and similar queries to do the Right Thing for units that log via stdout/stderr.
2012-06-22readahead: minor code style fixesLennart Poettering
2012-06-22readahead: make sure to close pack file before exiting, to be valgrind cleanLennart Poettering
2012-06-21readahead: use log_error() for logging errorsLennart Poettering
2012-06-21readahead: make use of util.h's page_size() callLennart Poettering
2012-06-21readahead: merge three binaries into oneLennart Poettering
since the binaries share much of the same code and we better load only one binary instead of two from disk at early boot let's merge the three readahead binaries into one. This also allows us to drop a lot of duplicated code.
2012-06-21preset: don't look for preset files in /lib unless /usr is split offLennart Poettering
2012-06-21rpm: include RPM macro definition for .spec snippetsLennart Poettering
Let's try to standardize a bit the RPM macros used for installing/uninstalling services. This only covers the non-SysV compat bits, since that tends to vary widely between the various distros. Usage: Add %{?systemd_requires} to the header of the spec file. And then: %post %systemd_post foobar.service %preun %systemd_preun foobar.service %postun %systemd_postun foobar.service And, instead of the latter, in case the service shall be restarted on updates: %postun %systemd_postun_restart foobar.service
2012-06-21login: wrap CanTTY and CanGraphical seat attributes in libsystemd-loginLennart Poettering
2012-06-21logind: introduce a state for session, being one of online, active, closingLennart Poettering
online = logged in active = logged in and session is in the fg closing = nominally logged out but some left-over processes still around Related to: https://bugzilla.gnome.org/show_bug.cgi?id=677556
2012-06-21logind: expose CanGraphical and CanTTY properties on seat objectsLennart Poettering
Since we boot so fast now that gdm might get started before the graphics drivers are properly loaded and probed we might end up announcing seat0 to gdm before it has graphics capabilities. Which will cause gdm/X11 cause to fail later on. To fix this race, let's expose CanGraphical and CanTTY fields on all seats, which clarify whether a seat is suitable for gdm resp, suitable for text logins. gdm then needs to watch CanGraphical and spawn X11 on it only if it is true. This way: USB graphics seats will expose CanGraphical=yes, CanTTY=no Machines with no graphics drivers at all, but a text console: CanGraphical=no, CanTTY=yes Machines with CONFIG_VT turned off: CanGraphical=yes, CanTTY=no And the most important case: seat0 where the graphics driver has not been probed yet boot up with CanGraphical=no, CanTTY=yes first, which then changes to CanGraphical=yes as soon as the probing is complete.
2012-06-20update TODOLennart Poettering
2012-06-20tmpfiles: exclude the first level directories in /run/user from automatic ↵Lennart Poettering
clean up It's logind's job to maintain those user dirs, so avoid automatic clean up for them. However, we do cover everything within them.
2012-06-19analyze: Python 3 compatibilityShawn Landden
Plot verb doesn't currently work b/c Cairo bug sending to stdout in python 3.
2012-06-19login: initialize XDG_RUNTIME_DIR as /run/user/$UID instead of /run/user/$USERLennart Poettering
The sssd folks would like to place the kerberos credential cache in XDG_RUNTIME_DIR, but need to do that in the PAM auth hooks, before pam_systemd is run as part of the PAM session setup. Hence, in order to make this easy for them: avoid usage of usernames, and use user IDs instead thus making an additional NSS lookup unnecessary in the kerberos bits, but still have the directory well-defined so that the kerberos bits can determine it before pam_systemd is run.
2012-06-19vconsole-setup: enable utf-8 mode explicitlyTom Gundersen
Rather than assuming the console is in utf-8 mode if nothing else is specified, be a bit more robust and enable it explicitly. This fixes a regression compared with Arch's initscripts when not using a framebuffer as the old VGA console would not be in utf-8 mode by default. Furthermore, this would allow vconsole-setup to be used after boot to change the vconsole into utf-8 mode in case it has been set to non-utf-8 mode for whatever reason. I.e, the following would leave the console in utf-8 mode as expected: # export LANG=en_US.ISO-8859-1 # /usr/lib/systemd/systemd-vconsole-setup # export LANG=en_US.UTF-8 # /usr/lib/systemd/systemd-vconsole-setup Reported-by: Xyne <xyne@archlinx.ca> Reported-by: Thomas Bächler <thomas@archlinux.org> Cc: Dave Reisner <dreisner@archlinux.org>
2012-06-19systemd: return error when asked to stop unknown unitMichal Sekletar
Command systemctl stop foo.service, will print error message, when foo.service is unknown to systemd, i.e. there is no unit file loaded for this service. https://bugzilla.redhat.com/show_bug.cgi?id=732874
2012-06-18libudev: clarify that udev_monitor_receive_device() is non-blockingKay Sievers
Based on a patch from: Sam Thursfield <ssssam@gmail.com> https://bugs.freedesktop.org/show_bug.cgi?id=51202
2012-06-17journal: fix monotonic seekingLennart Poettering
2012-06-17journal: rotate on SIGUSR2Lennart Poettering
2012-06-17journal: fix SD_JOURNAL_SYSTEM_ONLY flagLennart Poettering
2012-06-17journal: expose and make use of cutoff times of journalLennart Poettering
This helps explaining when the log output of "systemctl status" is incomplete because the logs got rotated since the service was started.
2012-06-17journal: correct list link up on hash collisionsLennart Poettering
2012-06-17journal: add basic object definition for signaturesLennart Poettering
2012-06-17journal: replace arena offset by header sizeLennart Poettering
2012-06-15logind: more robust handling of VT-less systemsMichal Schmidt
Restore the check that was removed in commit 74afee9c. Its removal caused a regression on some s390x systems where for whatever reason the device node /dev/tty0 exists and makes the preceding access() check pass.
2012-06-15service: timeout for oneshot servicesLukas Nykryn
Add possibility to specify timeout for oneshot services. [ https://bugzilla.redhat.com/show_bug.cgi?id=761656 Added minor fixups. -- michich ]
2012-06-14systemctl: clearer error message for missing install informationMichal Schmidt
Some users found it difficult to understand what systemctl was telling them. Instead of "install information" talk about "[Install] section", which is more likely to ring a bell. And suggest that it is intentional, so that users do not attempt to "correct" the unit files. https://bugzilla.redhat.com/show_bug.cgi?id=817033
2012-06-14tmpfiles: create char devices with correct SELinux contextMichal Schmidt
https://bugzilla.redhat.com/show_bug.cgi?id=824059
2012-06-13unit-name: introduce unit_dbus_path_from_name()Michal Schmidt
Use the same function in core and in systemctl. get_unit_path() in systemctl becomes unnecessary.
2012-06-13systemctl: warn about all active triggers, not just socketsMichal Schmidt
2012-06-13systemctl: fix iteration in check_listening_sockets()Michal Schmidt
2012-06-13systemctl: remove is_socket_listeningMichal Schmidt
We can use the functionality of check_unit(). Factor out check_one_unit().