summaryrefslogtreecommitdiff
path: root/src/rc-local-generator
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 /src/rc-local-generator
parent6917857ed465d79dabc83e67d6308a8769510b8b (diff)
downloadsystemd-bca89fe84dedd64a0ef0f767f348fc5291e69988.tar.gz
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
Diffstat (limited to 'src/rc-local-generator')
-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;