Package: systemd Version: 246.1-1 Severity: normal Systemd 246 introduces ConditionEnviornment=/AssertEnvironment [1] in the [Unit] configuration (see systemd.unit(5)). This feature does not appear to work.
The first evidence of this is neither ConditionEnvironment or AssertEnvironment
get parsed by `systemd-analyze` which other conditions are parsed (even when
empty):
$ systemd-analyze condition \
'ConditionKernelVersion=' \
'ConditionKernelVersion=' \
'ConditionACPower=' \
'ConditionArchitecture=' \
'AssertPathExists=' \
'AssertEnvironment='
Cannot parse "AssertEnvironment=".
The second evidence is that targets can be reached when conditions are not met:
$ systemctl --user cat i3-session-pre.target
# /home/stew/.config/systemd/user/i3-session-pre.target
[Unit]
Description=i3 session
BindsTo=graphical-session-pre.target
ConditionEnvironment=THIS_ENV_DOESNT_EXIST=1
$ systemctl --user start i3-session-pre.target
$ systemctl --user status i3-session-pre.target
● i3-session-pre.target -
i3 session
Loaded: loaded (/home/stew/.config/systemd/user/i3-session-
pre.target;
static)
Active: active since Tue
2020-08-18 17:29:36 CEST; 6s ago
Aug 18 17:29:36 stewbian systemd[1717]: Reached target i3 session.
The same behaviour was observed for
(1) non-existent environment variables
(2) environment variables with incorrect data
(3) matching environment variables.
I can confirm that the pull request related to this [2] appears to be
integrated. I confirmed that with `apt source systemd` and inspecting the
sources.
I suspect the problem lies upstream.
[1]: https://raw.githubusercontent.com/systemd/systemd/master/NEWS
[2]: https://github.com/systemd/systemd/pull/15817
signature.asc
Description: This is a digitally signed message part
