mirror of
https://github.com/systemd/systemd.git
synced 2024-11-24 18:53:33 +08:00
core: remove support for ".include" stanza
Six years ago we declared it obsolete and removed it from the docs (c073a0c4a5
) and added a note about it in NEWS. Two years ago we add warning messages about it, indicating the feature will be removed (41b283d0f1
) and mentioned it in NEWS again. Let's now kill it for good.
This commit is contained in:
parent
c643bda5ec
commit
7ade8982ca
5
NEWS
5
NEWS
@ -357,6 +357,11 @@ CHANGES WITH 246 in spe:
|
||||
The optional positional argument to "systemctl reboot" is now
|
||||
being deprecated in favor of this option.
|
||||
|
||||
* Support for the .include syntax in unit files has been removed. The
|
||||
concept has been obsolete for 6 years and we started warning about
|
||||
its pending removal 2 years ago (also see NEWS file below). It's
|
||||
finally gone now.
|
||||
|
||||
CHANGES WITH 245:
|
||||
|
||||
* A new tool "systemd-repart" has been added, that operates as an
|
||||
|
@ -226,9 +226,6 @@
|
||||
<filename>foo-.service.d/10-override.conf</filename> would override
|
||||
<filename>service.d/10-override.conf</filename>.</para>
|
||||
|
||||
<!-- Note that we do not document .include here, as we consider it mostly obsolete, and want
|
||||
people to use .d/ drop-ins instead. -->
|
||||
|
||||
<para>Note that while systemd offers a flexible dependency system
|
||||
between units it is recommended to use this functionality only
|
||||
sparingly and instead rely on techniques such as bus-based or
|
||||
|
@ -4864,7 +4864,7 @@ int unit_load_fragment(Unit *u) {
|
||||
r = config_parse(u->id, fragment, f,
|
||||
UNIT_VTABLE(u)->sections,
|
||||
config_item_perf_lookup, load_fragment_gperf_lookup,
|
||||
CONFIG_PARSE_ALLOW_INCLUDE,
|
||||
0,
|
||||
u,
|
||||
NULL);
|
||||
if (r == -ENOEXEC)
|
||||
|
@ -74,7 +74,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
|
||||
name, name, f,
|
||||
UNIT_VTABLE(u)->sections,
|
||||
config_item_perf_lookup, load_fragment_gperf_lookup,
|
||||
CONFIG_PARSE_ALLOW_INCLUDE,
|
||||
0,
|
||||
u,
|
||||
NULL);
|
||||
|
||||
|
@ -159,7 +159,7 @@ static int parse_line(
|
||||
char *l,
|
||||
void *userdata) {
|
||||
|
||||
char *e, *include;
|
||||
char *e;
|
||||
|
||||
assert(filename);
|
||||
assert(line > 0);
|
||||
@ -173,35 +173,6 @@ static int parse_line(
|
||||
if (*l == '\n')
|
||||
return 0;
|
||||
|
||||
include = first_word(l, ".include");
|
||||
if (include) {
|
||||
_cleanup_free_ char *fn = NULL;
|
||||
|
||||
/* .includes are a bad idea, we only support them here
|
||||
* for historical reasons. They create cyclic include
|
||||
* problems and make it difficult to detect
|
||||
* configuration file changes with an easy
|
||||
* stat(). Better approaches, such as .d/ drop-in
|
||||
* snippets exist.
|
||||
*
|
||||
* Support for them should be eventually removed. */
|
||||
|
||||
if (!(flags & CONFIG_PARSE_ALLOW_INCLUDE)) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, ".include not allowed here. Ignoring.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
log_syntax(unit, LOG_WARNING, filename, line, 0,
|
||||
".include directives are deprecated, and support for them will be removed in a future version of systemd. "
|
||||
"Please use drop-in files instead.");
|
||||
|
||||
fn = file_in_same_dir(filename, strstrip(include));
|
||||
if (!fn)
|
||||
return -ENOMEM;
|
||||
|
||||
return config_parse(unit, fn, NULL, sections, lookup, table, flags, userdata, NULL);
|
||||
}
|
||||
|
||||
if (!utf8_is_valid(l))
|
||||
return log_syntax_invalid_utf8(unit, LOG_WARNING, filename, line, l);
|
||||
|
||||
|
@ -16,8 +16,7 @@
|
||||
|
||||
typedef enum ConfigParseFlags {
|
||||
CONFIG_PARSE_RELAXED = 1 << 0, /* Do not warn about unknown non-extension fields */
|
||||
CONFIG_PARSE_ALLOW_INCLUDE = 1 << 1, /* Allow the deprecated .include stanza */
|
||||
CONFIG_PARSE_WARN = 1 << 2, /* Emit non-debug messages */
|
||||
CONFIG_PARSE_WARN = 1 << 1, /* Emit non-debug messages */
|
||||
} ConfigParseFlags;
|
||||
|
||||
/* Argument list for parsers of specific configuration settings. */
|
||||
|
@ -1304,7 +1304,7 @@ static int unit_file_load(
|
||||
"-Target\0"
|
||||
"-Timer\0",
|
||||
config_item_table_lookup, items,
|
||||
CONFIG_PARSE_ALLOW_INCLUDE, info,
|
||||
0, info,
|
||||
NULL);
|
||||
if (r < 0)
|
||||
return log_debug_errno(r, "Failed to parse %s: %m", info->name);
|
||||
|
Loading…
Reference in New Issue
Block a user