Find a file
Lennart Poettering 09d04ad325 core: introduce a new job mode JOB_RESTART_DEPENDENCIES
This new job mode will enqueue a start job for a unit, and all units
depending on the unit will get a restart job enqueued. This is then used
for automatic sevice restarts: the unit itself is only started, the
depending units restarted. This way the unit will not go down
unnecessarily, triggering OnSuccess= needlessly.

This also introduces a new state SERVICE_AUTO_RESTART_QUEUED that is
entered once the restart jobs are enqueued. Previously we'd stay in
SERVICE_AUTO_RESTART, but that's problematic, since we'd lose
information whether we still need to enqueue the restart job during a
serialization/deserialization cycle or not. By having an explicit state
for this we know exactly whether we still need to enqueue the job or
not. It's also good since when we are in SERVICE_AUTO_RESTART_QUEUED we
want to act on unit_start(), but on SERVICE_AUTO_RESTART we want to wait
for the holdoff time to pass before we act on unit_start().

Fixes: #27722
2023-07-03 17:31:25 +02:00
.clusterfuzzlite ci: unpin CFLite 2022-04-26 09:13:57 +00:00
.github build(deps): bump github/codeql-action from 2.3.5 to 2.20.1 2023-07-01 14:05:22 +00:00
.semaphore ci: bump debian release bullseye -> bookworm 2023-06-16 10:43:06 +09:00
catalog sysv-generator: make sysv deprecation message a bit "louder" 2023-06-27 23:21:03 +02:00
coccinelle coccinelle: add a transformation for GNU conditionals 2023-03-18 14:23:11 +01:00
docs tree-wide: "<n>bit" → "<n>-bit" 2023-07-02 11:10:12 +01:00
factory vconsole: allow setting default keymap through build option 2023-02-15 20:00:51 +00:00
hwdb.d hwdb: Add override for headset form-factors 2023-07-02 15:55:24 +01:00
LICENSES Rewrite check-includes.pl in python 2023-05-09 08:11:10 +02:00
man Merge pull request #28132 from rpigott/dhcp-captive-portal 2023-07-03 14:51:56 +09:00
mkosi.conf.d mkosi: Enable Incremental= mode by default 2023-06-29 13:11:39 +01:00
mkosi.presets mkosi: Remove explicit /testok check 2023-06-13 16:04:10 +02:00
modprobe.d meson: install the right README file in modprobe.d 2021-07-07 14:52:05 +02:00
network meson: Install missing network file 2023-01-27 17:50:27 +01:00
po catalog,po: update Polish translation 2023-06-27 21:53:32 +01:00
presets preset: enable systemd-networkd-wait-online.service by default 2023-06-07 21:51:37 +01:00
rules.d rules: drop weird spaces 2023-06-20 15:04:31 +02:00
shell-completion resolved: added serve stale feature implementation of RFC 8767 2023-06-16 10:20:15 +01:00
src core: introduce a new job mode JOB_RESTART_DEPENDENCIES 2023-07-03 17:31:25 +02:00
sysctl.d tree-wide: link to docs.kernel.org for kernel documentation 2022-07-04 19:56:53 +02:00
sysusers.d sysusers.d: create the user for systemd-journal-upload.service 2023-06-19 23:42:00 +02:00
test test-network: add test for static route with preferred source 2023-07-03 16:13:49 +09:00
tmpfiles.d core: Add RootEphemeral= setting 2023-06-21 12:48:46 +02:00
tools man: generate link mode list dynamically 2023-05-30 13:05:33 +02:00
units battery-check: rework unit 2023-07-01 03:19:16 +08:00
xorg xorg/50-systemd-user: add a full license header 2021-10-01 14:45:00 +02:00
.clang-format clang-format: Adjust style of pointers 2022-05-30 04:00:54 +09:00
.ctags editors: Prevent ctags from following symlinks 2019-02-15 11:01:20 -08:00
.dir-locals.el scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.editorconfig mkosi: Use 4 space indentation for scripts 2023-02-21 14:22:52 +01:00
.gitattributes gitattributes: introduce and use "generated" attribute 2021-10-18 09:42:55 +02:00
.gitignore mkosi: Update .gitignore to account for changed output locations 2023-05-12 11:38:02 +02:00
.mailmap mailmap: two more names 2021-03-30 13:17:58 +02:00
.packit.yml packit: drop/replace deprecated directives 2022-12-15 21:48:49 +09:00
.vimrc vimrc: use 109ch text width for shell scripts as well 2023-05-13 22:02:37 +02:00
.ycm_extra_conf.py ycm: add doc string for all the functions in configuration file 2017-11-29 13:21:49 -07:00
configure tools: shellcheck-ify tool scripts 2021-09-30 12:27:06 +02: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 tree-wide: add spdx header on all scripts and helpers 2021-01-28 09:55:35 +01:00
meson.build meson: first try dependency(), then fallback to find_library() 2023-06-29 15:38:53 +09:00
meson_options.txt bpf: stabilize GCC BPF support 2023-05-30 09:27:56 +09:00
mkosi.kernel.config mkosi: Make sure we build custom kernels with EROFS support 2023-06-13 15:42:17 +02:00
NEWS tree-wide: "<n>bit" → "<n>-bit" 2023-07-02 11:10:12 +01:00
README README: strenghten wording regarding static libs 2023-06-30 18:22:42 +02:00
README.md Update badge on README to refer new scorecard viewer (#28050) 2023-06-15 19:24:32 +01:00
TODO update TODO 2023-07-03 11:59:45 +02:00

Systemd

System and Service Manager

Semaphore CI 2.0 Build Status
Coverity Scan Status
OSS-Fuzz Status
CIFuzz
CII Best Practices
CentOS CI - CentOS 8
CentOS CI - Arch
CentOS CI - Arch (sanitizers)
Fossies codespell report
Weblate
Coverage Status
Packaging status
OpenSSF Scorecard

Details

Most documentation is available on systemd's web site.

Assorted, older, 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 Code Map for information about this repository's layout and content.

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.