Add tmpfiles.d support for unconditionally creating a symlink from
[/var]/run/connman/resolv.conf to /etc/resolv.conf.
To keep the same behavior as before, the configuration file is
installed to tmpfiles.d. If /etc/resolv.conf behavior needs to be
specified differently by a distribution, do not install the
tmpfiles.d configuration file.
---
Makefile.am | 17 +++++++++++++----
configure.ac | 8 ++++++++
scripts/connman_resolvconf.conf.in | 1 +
3 files changed, 22 insertions(+), 4 deletions(-)
create mode 100644 scripts/connman_resolvconf.conf.in
diff --git a/Makefile.am b/Makefile.am
index 96abab7..95082c1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -63,9 +63,11 @@ endif
if SYSTEMD
systemdunitdir = @SYSTEMD_UNITDIR@
-
systemdunit_DATA = src/connman.service
+tmpfilesdir = @SYSTEMD_TMPFILESDIR@
+nodist_tmpfiles_DATA = scripts/connman_resolvconf.conf
+
if VPN
systemdunit_DATA += vpn/connman-vpn.service
endif
@@ -153,7 +155,8 @@ vpn_connman_vpnd_LDFLAGS = -Wl,--export-dynamic \
-Wl,--version-script=$(srcdir)/vpn/vpn.ver
endif
-BUILT_SOURCES = $(local_headers) src/builtin.h $(service_files) scripts/connman
+BUILT_SOURCES = $(local_headers) src/builtin.h $(service_files) \
+ scripts/connman scripts/connman_resolvconf.conf
if VPN
BUILT_SOURCES += vpn/builtin.h
@@ -386,7 +389,8 @@ EXTRA_DIST += doc/overview-api.txt doc/behavior-api.txt \
doc/connman.8.in doc/connman-vpn.8.in
EXTRA_DIST += src/main.conf \
- src/eduroam.config
+ src/eduroam.config \
+ scripts/connman_resolvconf.conf.in
MANUAL_PAGES += doc/connmanctl.1 doc/connman.conf.5 \
doc/connman-service.config.5 doc/connman-vpn.conf.5 \
@@ -457,7 +461,8 @@ do_subst = $(AM_V_GEN)$(SED) \
-e 's,[@]sysconfdir[@],$(sysconfdir),g' \
-e 's,[@]storagedir[@],$(storagedir),g' \
-e 's,[@]vpn_storagedir[@],$(vpn_storagedir),g' \
- -e 's,[@]localstatedir[@],$(localstatedir),g'
+ -e 's,[@]localstatedir[@],$(localstatedir),g' \
+ -e 's,[@]runstatedir[@],$(runstatedir),g'
%.1 : %.1.in
$(AM_V_at)$(MKDIR_P) $(dir $@)
@@ -479,6 +484,10 @@ scripts/connman: scripts/connman.in Makefile
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(do_subst) < $< > $@
+scripts/connman_resolvconf.conf: scripts/connman_resolvconf.conf.in
+ $(AM_V_at)$(MKDIR_P) $(dir $@)
+ $(do_subst) < $< > $@
+
include/connman/version.h: include/version.h
$(AM_V_at)$(MKDIR_P) include/connman
$(AM_V_GEN)$(LN_S) $(abs_top_builddir)/$< $@
diff --git a/configure.ac b/configure.ac
index 51482cb..b51d6b3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -254,6 +254,14 @@ if (test -n "${path_systemdunit}"); then
fi
AM_CONDITIONAL(SYSTEMD, test -n "${path_systemdunit}")
+AC_ARG_WITH([tmpfilesdir], AC_HELP_STRING([--with-tmpfilesdir=DIR],
+ [path to systemd tmpfiles.d directory]), [path_tmpfiles=${withval}],
+ [path_tmpfiles="`$PKG_CONFIG --variable=tmpfilesdir systemd`"])
+if (test -n "${path_tmpfiles}"); then
+ SYSTEMD_TMPFILESDIR="${path_tmpfiles}"
+ AC_SUBST(SYSTEMD_TMPFILESDIR)
+fi
+
PKG_CHECK_MODULES(XTABLES, xtables >= 1.4.11, dummy=yes,
AC_MSG_ERROR(Xtables library is required))
AC_SUBST(XTABLES_CFLAGS)
diff --git a/scripts/connman_resolvconf.conf.in
b/scripts/connman_resolvconf.conf.in
new file mode 100644
index 0000000..e47dc07
--- /dev/null
+++ b/scripts/connman_resolvconf.conf.in
@@ -0,0 +1 @@
+L+ /etc/resolv.conf - - - - @runstatedir@/connman/resolv.conf
--
2.1.4
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman