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.
This commit is contained in:
parent
2096e009a7
commit
d380a3bcd1
|
@ -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);
|
||||
|
|
|
@ -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") &&
|
||||
|
|
Loading…
Reference in a new issue