summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-05-14 02:50:19 +0200
committerLennart Poettering <lennart@poettering.net>2010-05-14 02:50:19 +0200
commit4697132b91989da27b11af179c430305bb9db9ac (patch)
tree4b9dc12d29eef9bab8e148f7fdeab6a9cace7716
parent4e85aff465b2ce0fa34222e52a6f5a984140b22e (diff)
manager: merge /etc/xdg/systemd/session and /etc/systemd/session
-rw-r--r--Makefile.am5
-rw-r--r--manager.c10
2 files changed, 10 insertions, 5 deletions
diff --git a/Makefile.am b/Makefile.am
index 87c686b931..26a2c95850 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -250,3 +250,8 @@ CLEANFILES = \
systemadm.c \
systemd-initctl.service \
systemd-logger.service
+
+install-data-hook:
+ $(MKDIR_P) $(DESTDIR)$(pkgsysconfdir)/system $(DESTDIR)$(pkgsysconfdir)/session $(DESTDIR)$(sysconfdir)/xdg/systemd
+ rm -f $(DESTDIR)$(sysconfdir)/xdg/systemd/session
+ ln -sf $(DESTDIR)$(pkgsysconfdir)/session $(DESTDIR)$(sysconfdir)/xdg/systemd/session
diff --git a/manager.c b/manager.c
index 46b187658d..88dc64bb65 100644
--- a/manager.c
+++ b/manager.c
@@ -149,12 +149,12 @@ static char** session_dirs(void) {
}
if ((e = getenv("XDG_CONFIG_DIRS")))
- config_dirs = strv_split(e, ":");
- else
- config_dirs = strv_new("/etc/xdg", NULL);
+ if (!(config_dirs = strv_split(e, ":")))
+ goto fail;
- if (!config_dirs)
- goto fail;
+ /* We don't treat /etc/xdg/systemd here as the spec
+ * suggests because we assume that that is a link to
+ * /etc/systemd/ anyway. */
if ((e = getenv("XDG_DATA_HOME"))) {
if (asprintf(&data_home, "%s/systemd/session", e) < 0)