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 connman@connman.net https://lists.connman.net/mailman/listinfo/connman