man: soft deprecate use of ";" for separating multiple command lines in ExecStart=

So far we supported this syntax:

    ExecStart=foo ; bar

as equivalent to:

    ExecStart=foo
    ExecStart=bar

With this change we'll "soft" deprecate the first syntax. i.e. it's
still supported in code, but not documented anymore.

The concept was originally added to make things easier for 3rd party
.ini readers, as it allowed writing unit files with a .ini framework
that doesn't allow multiple assignments for the same key. But frankly,
this is kinda pointless, as so many other of our knobs require the
double assignment.

Hence, let's just stop advertising the concept, let's simplify the docs,
by removing one entirely redundant feature from it.

Replaces: #34570
This commit is contained in:
Lennart Poettering
2024-10-02 10:57:25 +02:00
parent bd4beaa2eb
commit 225f18b9a9
2 changed files with 27 additions and 24 deletions
+5 -1
View File
@@ -920,7 +920,11 @@ int config_parse_exec(
if (r <= 0)
return 0;
/* A lone ";" is a separator. Let's make sure we don't treat it as an executable name. */
/* A lone ";" is a separator. Let's make sure we don't treat it as an executable name.
*
* SOFT DEPRECATION: We support multiple command lines in one ExecStart= line for
* compatibility with older versions, but we no longer document this exists, it's deprecated
* in a soft way. New unit files, should not use this feature. */
if (streq(firstword, ";")) {
semicolon = true;
continue;