diff options
author | Bill Nottingham <notting@redhat.com> | 2011-11-22 15:45:34 -0500 |
---|---|---|
committer | Michal Schmidt <mschmidt@redhat.com> | 2011-12-05 22:04:42 +0100 |
commit | d380a3bcd14376ed72286e78dbcc871b7d6d2151 (patch) | |
tree | 095eb202adbbd0a65957fbf3122673f1278bdccb | |
parent | 2096e009a790073a934f5cd07d17024d3b199d0b (diff) |
Allow 'list-unit-files' to run with --root.
To do so, move the check for the bus to the bus-using portion of
list_unit_files(), and ensure that get_config_path doesn't abort when
checking the runtime path with --root.
-rw-r--r-- | src/install.c | 5 | ||||
-rw-r--r-- | src/systemctl.c | 5 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/install.c b/src/install.c index cfbd50ead9..1fb1f9d580 100644 --- a/src/install.c +++ b/src/install.c @@ -72,9 +72,8 @@ static int get_config_path(UnitFileScope scope, bool runtime, const char *root_d case UNIT_FILE_SYSTEM: if (root_dir && runtime) - return -EINVAL; - - if (runtime) + asprintf(&p, "%s/run/systemd/system", root_dir); + else if (runtime) p = strdup("/run/systemd/system"); else if (root_dir) asprintf(&p, "%s/%s", root_dir, SYSTEM_CONFIG_UNIT_PATH); diff --git a/src/systemctl.c b/src/systemctl.c index 7373e64e8c..b940c9c64e 100644 --- a/src/systemctl.c +++ b/src/systemctl.c @@ -622,8 +622,6 @@ static int list_unit_files(DBusConnection *bus, char **args) { dbus_error_init(&error); - assert(bus); - pager_open_if_enabled(); if (avoid_bus()) { @@ -659,6 +657,8 @@ static int list_unit_files(DBusConnection *bus, char **args) { hashmap_free(h); } else { + assert(bus); + m = dbus_message_new_method_call( "org.freedesktop.systemd1", "/org/freedesktop/systemd1", @@ -5001,6 +5001,7 @@ static int systemctl_main(DBusConnection *bus, int argc, char *argv[], DBusError if (!streq(verbs[i].verb, "enable") && !streq(verbs[i].verb, "disable") && !streq(verbs[i].verb, "is-enable") && + !streq(verbs[i].verb, "list-unit-files") && !streq(verbs[i].verb, "reenable") && !streq(verbs[i].verb, "preset") && !streq(verbs[i].verb, "mask") && |