summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2018-11-16 22:00:35 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2018-11-17 08:43:57 +0100
commitbca89fe84dedd64a0ef0f767f348fc5291e69988 (patch)
tree785763a9c877eff447f1c8c69df04b2bf3ca87d4
parentfix build with -Defi=false (diff)
downloadsystemd-bca89fe84dedd64a0ef0f767f348fc5291e69988.tar.xz
systemd-bca89fe84dedd64a0ef0f767f348fc5291e69988.zip
rc-local-generator: add comment explaining the background of the generator
This is not obvious, hence it deserves some form of documentation. However, it's also ultimately an implementation detail, hence let's not add this to the man page, but as a code comment, that is visible right at the top of source file. Fixes: #10675
-rw-r--r--src/rc-local-generator/rc-local-generator.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/rc-local-generator/rc-local-generator.c b/src/rc-local-generator/rc-local-generator.c
index 44b2edec05..ba5e336a34 100644
--- a/src/rc-local-generator/rc-local-generator.c
+++ b/src/rc-local-generator/rc-local-generator.c
@@ -11,6 +11,12 @@
static const char *arg_dest = "/tmp";
+/* So you are reading this, and might wonder: why is this implemented as a generator rather than as a plain, statically
+ * enabled service that carries appropriate ConditionFileIsExecutable= lines? The answer is this: conditions bypass
+ * execution of a service's binary, but they have no influence on unit dependencies. Thus, a service that is
+ * conditioned out will still act as synchronization point in the dependency tree, and we'd rather not have that for
+ * these two legacy scripts. */
+
static int add_symlink(const char *service, const char *where) {
const char *from, *to;
int r;