systemd/0073-tmpfiles-make-resolv.c...

115 lines
3.4 KiB
Diff

From aeb50ff0bd4bbbca74c4695072232348351d512d Mon Sep 17 00:00:00 2001
From: Tom Gundersen <teg@jklm.no>
Date: Wed, 27 Aug 2014 17:45:41 +0200
Subject: [PATCH] tmpfiles: make resolv.conf entry conditional on resolved
support
---
Makefile.am | 15 +++++++++++++--
TODO | 2 --
configure.ac | 1 +
tmpfiles.d/.gitignore | 1 +
tmpfiles.d/{etc.conf => etc.conf.m4} | 2 ++
5 files changed, 17 insertions(+), 4 deletions(-)
create mode 100644 tmpfiles.d/.gitignore
rename tmpfiles.d/{etc.conf => etc.conf.m4} (95%)
diff --git a/Makefile.am b/Makefile.am
index cbdf551fa8..70faed4acb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1940,14 +1940,16 @@ nodist_systemunit_DATA += \
units/systemd-tmpfiles-setup.service \
units/systemd-tmpfiles-clean.service
+nodist_tmpfiles_DATA = \
+ tmpfiles.d/etc.conf
+
dist_tmpfiles_DATA = \
tmpfiles.d/systemd.conf \
tmpfiles.d/systemd-nologin.conf \
tmpfiles.d/systemd-remote.conf \
tmpfiles.d/tmp.conf \
tmpfiles.d/x11.conf \
- tmpfiles.d/var.conf \
- tmpfiles.d/etc.conf
+ tmpfiles.d/var.conf
if HAVE_SYSV_COMPAT
dist_tmpfiles_DATA += \
@@ -1970,10 +1972,14 @@ INSTALL_DIRS += \
endif
EXTRA_DIST += \
+ tmpfiles.d/etc.conf.m4 \
units/systemd-tmpfiles-setup-dev.service.in \
units/systemd-tmpfiles-setup.service.in \
units/systemd-tmpfiles-clean.service.in
+CLEANFILES += \
+ tmpfiles.d/etc.conf
+
# ------------------------------------------------------------------------------
if ENABLE_SYSUSERS
systemd_sysusers_SOURCES = \
@@ -5708,6 +5714,11 @@ src/%: src/%.m4
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_M4)$(M4) -P $(M4_DEFINES) < $< > $@
+tmpfiles.d/%: tmpfiles.d/%.m4
+ $(AM_V_at)$(MKDIR_P) $(dir $@)
+ $(AM_V_M4)$(M4) -P $(M4_DEFINES) < $< > $@
+
+
units/%: units/%.m4
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_M4)$(M4) -P $(M4_DEFINES) -DFOR_SYSTEM=1 < $< > $@
diff --git a/TODO b/TODO
index 09f82d3c37..372825e8bd 100644
--- a/TODO
+++ b/TODO
@@ -120,8 +120,6 @@ Features:
* Allow multiple ExecStart= for all Type= settings, so that we can cover rescue.service nicely
-* the resolv.conf tmpfiles line should be covered by ENABLE_NETWORKD...
-
* Add a new verb "systemctl top"
* logind: allow users to kill or lock their own sessions
diff --git a/configure.ac b/configure.ac
index 18b719856b..08a8a105f8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1023,6 +1023,7 @@ have_resolved=no
AC_ARG_ENABLE(resolved, AS_HELP_STRING([--disable-resolved], [disable resolve daemon]))
if test "x$enable_resolved" != "xno"; then
have_resolved=yes
+ M4_DEFINES="$M4_DEFINES -DENABLE_RESOLVED"
fi
AM_CONDITIONAL(ENABLE_RESOLVED, [test "$have_resolved" = "yes"])
diff --git a/tmpfiles.d/.gitignore b/tmpfiles.d/.gitignore
new file mode 100644
index 0000000000..eb323154ff
--- /dev/null
+++ b/tmpfiles.d/.gitignore
@@ -0,0 +1 @@
+etc.conf
diff --git a/tmpfiles.d/etc.conf b/tmpfiles.d/etc.conf.m4
similarity index 95%
rename from tmpfiles.d/etc.conf
rename to tmpfiles.d/etc.conf.m4
index b23272cb27..f567c8d6ea 100644
--- a/tmpfiles.d/etc.conf
+++ b/tmpfiles.d/etc.conf.m4
@@ -10,6 +10,8 @@
L /etc/os-release - - - - ../usr/lib/os-release
L /etc/localtime - - - - ../usr/share/zoneinfo/UTC
L+ /etc/mtab - - - - ../proc/self/mounts
+m4_ifdef(`ENABLE_RESOLVED',
L /etc/resolv.conf - - - - ../run/systemd/resolve/resolv.conf
+)
C /etc/nsswitch.conf - - - -
C /etc/pam.d - - - -