Ninjatrappeur's systemd working tree
Go to file
Jonathon Kowalski 791cd15993 Fail RequisiteOf units with oneshots
Fixes: #11422

Oneshots going to inactive directly without ever entering UNIT_ACTIVE is
considered success. This however means that if something both Requires=
and Requisites= a unit of such nature, the verify-active job getting
merged into the start job makes it lose this property of failing the
depending jobs, as there, the start job has the result JOB_DONE on
success, so we never walk over RequisiteOf units.

This change makes sure that such units always go down. It is also only
meaningful with After=, but so is Requisite= itself. Also, we also catch
cases like a oneshot having RemainAfterExit= true making us start up
properly in such a setting, but then removing it, reloading the unit,
and restarting it. In such a case, we go down due to restart propagation
before them, and our start job waits on theirs, properly failing with
the JOB_DEPENDENCY result.

This covers cases where ConditionXYZ= creates a similar situation as
well.
2019-02-15 13:42:54 +01:00
.github/ISSUE_TEMPLATE docs: move markdown docs from .github/ to docs/ 2018-09-08 13:39:03 -07:00
.lgtm/cpp-queries lgtm: drop redundant newlines 2018-10-26 14:52:17 +02:00
.mkosi mkosi: add qrencode to arch package list 2019-01-19 07:41:34 +09:00
catalog catalog: update Polish translation 2018-11-19 09:23:04 +01:00
coccinelle tree-wide: more IOVEC_MAKE() conversions 2018-11-28 13:08:19 +09:00
docs Merge pull request #9594 from filbranden/cpu_quota_period1 2019-02-15 12:11:42 +01:00
factory/etc man,factory: update factory config for nsswitch.conf to match the man pages 2018-11-27 22:35:02 +01:00
hwdb update hwdb 2019-02-14 11:03:06 +01:00
man Merge pull request #11716 from ssahani/drop-autoconf-address 2019-02-15 12:17:46 +01:00
modprobe.d Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
network link-config: add "keep" policy and use it by default 2019-01-17 13:56:02 +01:00
po Update uk.po 2019-01-15 14:37:50 +01:00
presets Drop my copyright headers 2018-06-14 13:03:20 +02:00
rules rules: watch metadata changes on nbd devices 2019-02-15 11:30:33 +01:00
semaphoreci semaphore: keep build settings in the repository 2019-02-09 17:43:46 +01:00
shell-completion bash-completion: busctl: add 'emit' command support 2019-02-06 13:30:53 +01:00
src Fail RequisiteOf units with oneshots 2019-02-15 13:42:54 +01:00
sysctl.d Enable regular file and FIFO protection 2019-01-16 12:22:01 +01:00
sysusers.d sysusers,tmpfiles: re-create systemd-network, systemd-resolve and systemd-timesync 2018-07-16 17:11:50 +02:00
test Merge pull request #11716 from ssahani/drop-autoconf-address 2019-02-15 12:17:46 +01:00
tmpfiles.d sysusers,tmpfiles: re-create systemd-network, systemd-resolve and systemd-timesync 2018-07-16 17:11:50 +02:00
tools man: add a new section for EFI variables 2019-02-13 11:17:41 +01:00
travis-ci travis: stop using the official upstream-systemd-ci repository 2019-02-03 08:51:21 +03:00
units units: make sure initrd-cleanup.service terminates before switching to rootfs 2019-01-28 13:41:28 +01:00
xorg login: avoid external process call 2018-01-12 18:02:57 +01:00
.dir-locals.el coding style: reduce text width to 109 characters 2018-12-08 10:14:28 +01:00
.editorconfig editorconfig: add rule for meson.build files (#6671) 2017-08-28 16:37:23 +02:00
.gitattributes git: indicate that tabs are never OK in the systemd tree 2013-10-30 02:25:38 +01:00
.gitignore gitignore: add nspawn image lock and mkosi temporary files 2018-09-07 20:00:22 +02:00
.lgtm.yml lgtm: use python3 2018-12-10 03:07:17 +09:00
.mailmap NEWS: update for final v241 2019-02-14 10:58:06 +01:00
.travis.yml travis: add another stage to really run everything under ASan+UBsan 2018-12-24 08:52:33 +01:00
.vimrc coding style: reduce text width to 109 characters 2018-12-08 10:14:28 +01:00
.ycm_extra_conf.py ycm: add doc string for all the functions in configuration file 2017-11-29 13:21:49 -07:00
LICENSE.GPL2 relicense to LGPLv2.1 (with exceptions) 2012-04-12 00:24:39 +02:00
LICENSE.LGPL2.1 licence: remove references to old FSF address 2012-12-17 11:41:31 +01:00
Makefile build-sys: Fix Makefile wrapper for install target (#6548) 2017-08-07 11:29:20 +02:00
NEWS NEWS: add entry about 'udevadm trigger --wait-daemon' 2019-02-15 10:18:14 +09:00
README README: mention that meson-0.49 is required to build PIEs 2019-01-13 09:47:10 +09:00
README.md Revert "README: remove Coverity Scan badge" 2019-02-14 12:13:55 +01:00
TODO journal: drop _packed_ attribute in a few places 2019-02-04 20:32:44 +01:00
configure build-sys: add basic support for ./configure && make && make install 2017-07-18 10:05:06 -04:00
meson.build build-sys: bump package/library versions 2019-01-26 15:02:38 +01:00
meson_options.txt resolved: use Cloudflare public DNS server as a default fallback alongside Google one 2019-02-15 11:34:11 +01:00
mkosi.build mkosi: update the boot loader from our freshly built one 2018-10-16 16:44:34 +02:00
mkosi.default mkosi: create .mkosi directory 2016-10-06 11:53:58 -04:00
zanata.xml po: add basic fedora.zanata.org configuration 2018-02-19 13:56:57 +01:00

README.md

systemd - System and Service Manager

Count of open issues over time Count of open pull requests over time Semaphore CI Build Status
Coverity Scan Status
CII Best Practices
Travis CI Build Status
Language Grade: C/C++
CentOS CI Build Status

Details

General information about systemd can be found in the systemd Wiki.

Information about build requirements is provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the Hacking guide for information on how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.

Stable branches with backported patches are available in the stable repo.