diff options
author | Lennart Poettering <lennart@poettering.net> | 2015-10-08 16:15:38 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2015-10-31 19:09:20 +0100 |
commit | b41b9d2ae9d1139a3d4d5eb7ad7b100ffa3ee6db (patch) | |
tree | 83e96ea1ee65e30b246985e90c80c2e525e6d9a2 /src/basic | |
parent | 534e8f89d6367cd0e9e17fff67880fb430071d01 (diff) |
systemctl: add a way to explicitly request client-side unit installing
This adds support for a new environment variable
SYSTEMCTL_INSTALL_CLIENT_SIDE, that ensures that systemctl executes
install operations client-side instead of passing them to PID1. This is
useful in debugging situations, but even beyond that. However, we don't
want to make it official API, hence let's just make it an undocumented
environment variable.
Similar, add a second variable, SYSTEMCTL_SKIP_SYSV which allows
skipping the SysV chkconfig fall-back if set. This is useful for similar
reasons, and exposed as undocumented as environment variable for similar
reasons, too.
Diffstat (limited to 'src/basic')
-rw-r--r-- | src/basic/env-util.c | 11 | ||||
-rw-r--r-- | src/basic/env-util.h | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/basic/env-util.c b/src/basic/env-util.c index 94cb251698..9ddac5d6a1 100644 --- a/src/basic/env-util.c +++ b/src/basic/env-util.c @@ -25,6 +25,7 @@ #include "alloc-util.h" #include "def.h" #include "env-util.h" +#include "parse-util.h" #include "string-util.h" #include "strv.h" #include "utf8.h" @@ -594,3 +595,13 @@ char **replace_env_argv(char **argv, char **env) { ret[k] = NULL; return ret; } + +int getenv_bool(const char *p) { + const char *e; + + e = getenv(p); + if (!e) + return -ENXIO; + + return parse_boolean(e); +} diff --git a/src/basic/env-util.h b/src/basic/env-util.h index 803aa61cad..6485dade18 100644 --- a/src/basic/env-util.h +++ b/src/basic/env-util.h @@ -47,3 +47,5 @@ char **strv_env_unset_many(char **l, ...) _sentinel_; char *strv_env_get_n(char **l, const char *name, size_t k) _pure_; char *strv_env_get(char **x, const char *n) _pure_; + +int getenv_bool(const char *p); |