summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/bus-errors.h43
-rw-r--r--src/shared/install.c17
-rw-r--r--src/shared/install.h2
3 files changed, 13 insertions, 49 deletions
diff --git a/src/core/bus-errors.h b/src/core/bus-errors.h
deleted file mode 100644
index 9368d68e80..0000000000
--- a/src/core/bus-errors.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-
-#pragma once
-
-/***
- This file is part of systemd.
-
- Copyright 2010 Lennart Poettering
-
- systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1 of the License, or
- (at your option) any later version.
-
- systemd is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with systemd; If not, see <http://www.gnu.org/licenses/>.
-***/
-
-#define BUS_ERROR_NO_SUCH_UNIT "org.freedesktop.systemd1.NoSuchUnit"
-#define BUS_ERROR_NO_SUCH_JOB "org.freedesktop.systemd1.NoSuchJob"
-#define BUS_ERROR_NOT_SUBSCRIBED "org.freedesktop.systemd1.NotSubscribed"
-#define BUS_ERROR_INVALID_PATH "org.freedesktop.systemd1.InvalidPath"
-#define BUS_ERROR_INVALID_NAME "org.freedesktop.systemd1.InvalidName"
-#define BUS_ERROR_UNIT_TYPE_MISMATCH "org.freedesktop.systemd1.UnitTypeMismatch"
-#define BUS_ERROR_UNIT_EXISTS "org.freedesktop.systemd1.UnitExists"
-#define BUS_ERROR_NOT_SUPPORTED "org.freedesktop.systemd1.NotSupported"
-#define BUS_ERROR_INVALID_JOB_MODE "org.freedesktop.systemd1.InvalidJobMode"
-#define BUS_ERROR_ONLY_BY_DEPENDENCY "org.freedesktop.systemd1.OnlyByDependency"
-#define BUS_ERROR_NO_ISOLATION "org.freedesktop.systemd1.NoIsolation"
-#define BUS_ERROR_LOAD_FAILED "org.freedesktop.systemd1.LoadFailed"
-#define BUS_ERROR_MASKED "org.freedesktop.systemd1.Masked"
-#define BUS_ERROR_JOB_TYPE_NOT_APPLICABLE "org.freedesktop.systemd1.JobTypeNotApplicable"
-#define BUS_ERROR_TRANSACTION_IS_DESTRUCTIVE "org.freedesktop.systemd1.TransactionIsDestructive"
-#define BUS_ERROR_TRANSACTION_JOBS_CONFLICTING "org.freedesktop.systemd1.TransactionJobsConflicting"
-#define BUS_ERROR_TRANSACTION_ORDER_IS_CYCLIC "org.freedesktop.systemd1.TransactionOrderIsCyclic"
-#define BUS_ERROR_SHUTTING_DOWN "org.freedesktop.systemd1.ShuttingDown"
-#define BUS_ERROR_NO_SUCH_PROCESS "org.freedesktop.systemd1.NoSuchProcess"
-#define BUS_ERROR_JOB_FAILED "org.freedesktop.systemd1.JobFailed"
diff --git a/src/shared/install.c b/src/shared/install.c
index cfd4a5af8a..881f715a07 100644
--- a/src/shared/install.c
+++ b/src/shared/install.c
@@ -38,6 +38,7 @@
#include "conf-files.h"
#include "specifier.h"
#include "install-printf.h"
+#include "special.h"
typedef struct {
Hashmap *will_install;
@@ -1560,7 +1561,7 @@ int unit_file_reenable(
int unit_file_set_default(
UnitFileScope scope,
const char *root_dir,
- char *file,
+ const char *file,
UnitFileChange **changes,
unsigned *n_changes) {
@@ -1573,6 +1574,7 @@ int unit_file_set_default(
assert(scope >= 0);
assert(scope < _UNIT_FILE_SCOPE_MAX);
+ assert(file);
if (unit_name_to_type(file) != UNIT_TARGET)
return -EINVAL;
@@ -1589,13 +1591,14 @@ int unit_file_set_default(
if (r < 0)
return r;
- i = (InstallInfo*)hashmap_first(c.will_install);
+ assert_se(i = hashmap_first(c.will_install));
r = unit_file_search(&c, i, &paths, root_dir, false);
if (r < 0)
return r;
- path = strappenda(config_path, "/default.target");
+ path = strappenda(config_path, "/" SPECIAL_DEFAULT_TARGET);
+
r = create_symlink(i->path, path, true, changes, n_changes);
if (r < 0)
return r;
@@ -1612,6 +1615,10 @@ int unit_file_get_default(
char **p;
int r;
+ assert(scope >= 0);
+ assert(scope < _UNIT_FILE_SCOPE_MAX);
+ assert(name);
+
r = lookup_paths_init_from_scope(&paths, scope);
if (r < 0)
return r;
@@ -1621,9 +1628,9 @@ int unit_file_get_default(
char *n;
if (isempty(root_dir))
- path = strappend(*p, "/default.target");
+ path = strappend(*p, "/" SPECIAL_DEFAULT_TARGET);
else
- path = strjoin(root_dir, "/", *p, "/default.target", NULL);
+ path = strjoin(root_dir, "/", *p, "/" SPECIAL_DEFAULT_TARGET, NULL);
if (!path)
return -ENOMEM;
diff --git a/src/shared/install.h b/src/shared/install.h
index 5609d1e8df..3c2e162852 100644
--- a/src/shared/install.h
+++ b/src/shared/install.h
@@ -80,7 +80,7 @@ int unit_file_link(UnitFileScope scope, bool runtime, const char *root_dir, char
int unit_file_preset(UnitFileScope scope, bool runtime, const char *root_dir, char *files[], bool force, UnitFileChange **changes, unsigned *n_changes);
int unit_file_mask(UnitFileScope scope, bool runtime, const char *root_dir, char *files[], bool force, UnitFileChange **changes, unsigned *n_changes);
int unit_file_unmask(UnitFileScope scope, bool runtime, const char *root_dir, char *files[], UnitFileChange **changes, unsigned *n_changes);
-int unit_file_set_default(UnitFileScope scope, const char *root_dir, char *file, UnitFileChange **changes, unsigned *n_changes);
+int unit_file_set_default(UnitFileScope scope, const char *root_dir, const char *file, UnitFileChange **changes, unsigned *n_changes);
int unit_file_get_default(UnitFileScope scope, const char *root_dir, char **name);
UnitFileState unit_file_get_state(UnitFileScope scope, const char *root_dir, const char *filename);