1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-10-26 08:55:18 +03:00
Backports of patch from systemd git to stable distributions
Go to file
Zbigniew Jędrzejewski-Szmek 4502e7928c manager: "downgrade" message about command vanishing from the unit file
We would print "Current command vanished from the unit file, execution of
the command list won't be resumed." as a warning, but most of the time there
is nothing to resume, because a unit has just one command. So let's detect
the case where the command that was active is the last command in the sequence
and skip the warning.

I was considering how to store the information that the command is last. An
important consideration is not to use a format that would confuse older versions
of systemd. (It wouldn't be a big problem if older systemd just refused the
new serialization, since we require systemd to be newer, but we should avoid
the case where the deserialization is "successful", but actually incorrect.)
Similarly, the deserialization from the old systemd must not confuse new systemd.
For this command, we have a list of arguments at the end, so just adding a
new field either in the middle or at the end is problematic because it's hard
to ensure that we don't mix up the positional and variable arguments.

We actually need to store just one bit of information, so '+' is prefixed on
the index of the last command and used by new systemd to skip the warning.
When deserializing from older systemd, '+' is not present, so we detect all
commands as "not last", and still emit the warning, so we err on the side of
caution. If the user were to deserialize from newer to older systemd, nothing
untoward would happen, because the '+' is ignored. (Users shouldn't do this,
but we know that this occasionally happens with initrds or exitrds and package
downgrades.)

(cherry picked from commit a99bd455b5)
(cherry picked from commit 9bb72a4e96)
(cherry picked from commit a71be850b5)
2023-02-13 21:10:07 +00: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 semaphore: remove the Semaphore repositories recursively 2023-01-28 00:50:04 +00:00
catalog meson: Install all catalogs 2023-02-13 21:10:07 +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: remove /dev/tty* confusion 2023-02-13 21:10:07 +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 core: imply DeviceAllow=/dev/tpmrm0 with LoadCredentialEncrypted 2023-02-13 21:10:07 +00:00
mkosi.default.d mkosi: pull in libbpf1 instead of legacy libbpf0 on debian 2023-01-28 00:50:04 +00: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-02-13 21:10:07 +00: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: always create device symlinks for USB disks 2022-11-04 13:09:21 +01:00
shell-completion meson: Install missing bash-completions 2023-02-13 21:10:07 +00:00
src manager: "downgrade" message about command vanishing from the unit file 2023-02-13 21:10:07 +00:00
sysctl.d build: preserve correct mode when generating files via jinja2 2021-11-08 12:06:48 +00:00
sysusers.d sysusers: insist that root group is 0 2023-02-13 21:10:07 +00:00
test test: make sure mount point exists in testsuite-64.sh 2023-01-28 00:50:04 +00: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: pull in loop.ko and dm-mod.ko before repart 2023-02-13 21:10:07 +00: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
LICENSE.LGPL2.1
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.