1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-12-22 13:33:56 +03:00
Backports of patch from systemd git to stable distributions
Go to file
Zbigniew Jędrzejewski-Szmek 1a09fb995e manager: allow transient units to have drop-ins
In https://github.com/containers/podman/issues/16107, starting of a transient
slice unit fails because there's a "global" drop-in
/usr/lib/systemd/user/slice.d/10-oomd-per-slice-defaults.conf (provided by
systemd-oomd-defaults package to install some default oomd policy). This means
that the unit_is_pristine() check fails and starting of the unit is forbidden.

It seems pretty clear to me that dropins at any other level then the unit
should be ignored in this check: we now have multiple layers of drop-ins
(for each level of the cgroup path, and also "global" ones for a specific
unit type). If we install a "global" drop-in, we wouldn't be able to start
any transient units of that type, which seems undesired.

In principle we could reject dropins at the unit level, but I don't think that
is useful. The whole reason for drop-ins is that they are "add ons", and there
isn't any particular reason to disallow them for transient units. It would also
make things harder to implement and describe: one place for drop-ins is good,
but another is bad. (And as a corner case: for instanciated units, a drop-in
in the template would be acceptable, but a instance-specific drop-in bad?)

Thus, $subject.

While at it, adjust the message. All the conditions in unit_is_pristine()
essentially mean that it wasn't loaded (e.g. it might be in an error state),
and that it doesn't have a fragment path (now that drop-ins are acceptable).
If there's a job for it, it necessarilly must have been loaded. If it is
merged into another unit, it also was loaded and found to be an alias.
Based on the discussion in the bugs, it seems that the current message
is far from obvious ;)

Fixes https://github.com/containers/podman/issues/16107,
https://bugzilla.redhat.com/show_bug.cgi?id=2133792.

(cherry picked from commit 1f83244641)
(cherry picked from commit 98a45608c4)
2022-11-04 13:09:21 +01:00
.github mkosi: Remove Arch nspawn workaround 2022-03-05 21:03:32 +00:00
.lgtm/cpp-queries ci: pack-ify our custom CodeQL queries and enable them in Actions 2021-12-07 14:57:09 +01:00
.semaphore semaphoreci: move runner from Bionic to Focal 2022-04-29 00:13:13 +01:00
catalog meson: do not use split() in file lists 2022-03-05 21:03:32 +00:00
coccinelle Change all fixed-path bash shebangs to /u/b/env bash outside test/ 2021-12-12 21:13:50 +01:00
docs docs: swap Name and Partition Type UUID in header 2022-03-05 21:03:32 +00:00
factory/etc pam: fix typo try_authtok → use_authtok 2021-05-12 12:14:17 +02:00
hwdb.d hwdb: analyzers: remove generic "STM Device in DFU Mode" 2022-07-13 13:15:56 +02:00
LICENSES licensing: add a license file for the fonts we carry 2021-10-18 09:43:18 +02:00
man man: document restrictions on naming interfaces 2022-11-04 13:09:21 +01:00
mkosi.default.d mkosi: drop libiptc from build for Fedora 2022-05-26 12:36:33 +01:00
modprobe.d meson: install the right README file in modprobe.d 2021-07-07 14:52:05 +02:00
network network: dhcp-pd: add 6rd support 2021-12-07 20:33:16 +09:00
po Update LINGUAS (#21499) 2021-11-25 20:24:00 +09:00
presets units: enable systemd-network-generator by default 2021-12-16 09:49:39 +01:00
rules.d udev: support by-path devlink for multipath nvme block devices 2022-11-04 13:02:21 +01:00
shell-completion bash-completion: add systemd-dissect support 2022-11-04 13:09:21 +01:00
src manager: allow transient units to have drop-ins 2022-11-04 13:09:21 +01:00
sysctl.d build: preserve correct mode when generating files via jinja2 2021-11-08 12:06:48 +00:00
sysusers.d sysusers: avoid creating spurious "nobody" group 2021-11-30 16:16:25 +01:00
test network/bridge: fix UseBPDU= and AllowPortToBeRoot= 2022-11-04 13:09:21 +01:00
tmpfiles.d tmpfiles: split out config for systemd-resolve 2021-11-16 16:56:08 +01:00
tools docs: swap Name and Partition Type UUID in header 2022-03-05 21:03:32 +00:00
units units: prolong the stop timeout for homed 2022-11-04 13:02:21 +01:00
xorg xorg/50-systemd-user: add a full license header 2021-10-01 14:45:00 +02:00
.clang-format clang-format: we actually typically use 16ch continuation indentation 2022-03-05 21:03:32 +00: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 editorconfig: set maximum line length to 109 for man/*.xml files 2021-09-30 13:45:34 +02:00
.gitattributes gitattributes: introduce and use "generated" attribute 2021-10-18 09:42:55 +02:00
.gitignore emacs: ignore .dir-locals-2.el (personal customization) versioning 2022-07-13 13:30:44 +02:00
.lgtm.yml ci: add a missing SPDX header 2021-12-07 14:15:04 +01:00
.mailmap mailmap: two more names 2021-03-30 13:17:58 +02:00
.packit.yml packit: drop bfq patch 2022-04-02 01:56:36 +09:00
.vimrc scripts: use 4 space indentation 2019-04-12 08:30:31 +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_options.txt boot, meson: allow statically linked build 2021-12-14 09:58:27 +09:00
meson.build meson: always use libatomic if found 2022-11-04 13:09:21 +01:00
mkosi.build ci: check for failed services after boot 2021-12-10 10:25:43 +01:00
mkosi.postinst ci: check for failed services after boot 2021-12-10 10:25:43 +01:00
NEWS NEWS: adjust links to moved pages 2022-01-12 22:10:30 +01:00
README meson: Drop required libfdisk version to 2.32 2022-03-05 21:03:32 +00:00
README.md Fix loading of graphs 2021-12-14 15:27:25 +09:00
TODO docs: use https:// for fd.o links 2022-01-12 22:10:51 +01:00

Systemd

System and Service Manager

Count of open issues over time Count of open pull requests over time Semaphore CI 2.0 Build Status
Coverity Scan Status
OSS-Fuzz Status
CIFuzz
CII Best Practices
Language Grade: C/C++
CentOS CI - CentOS 8
CentOS CI - Arch
CentOS CI - Arch (sanitizers)
Fossies codespell report
Coverage Status
Packaging status

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.