From a8dd98fbac6592fde075c4647dfd49fa524b35b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Tue, 5 Feb 2019 15:14:21 +0100 Subject: [PATCH] Get rid of overriding default --sysconfdir and --localstatedir autoconf options Previously the autoconf script set sysconfdir to /etc and localstatedir to /var if they were not explicitly set in the ./configure invocation. This MR reverts the override and make it more in line with default and generally expected autoconf behavior. --- README.md | 7 ++----- configure | 33 ++------------------------------- configure.ac | 35 ++--------------------------------- doc/arm/notes.xml | 11 +++++++++++ 4 files changed, 17 insertions(+), 69 deletions(-) diff --git a/README.md b/README.md index 153b1412330..4241e3fcb1c 100644 --- a/README.md +++ b/README.md @@ -255,11 +255,8 @@ default, installation is into /usr/local, but this can be changed with the You may specify the option `--sysconfdir` to set the directory where configuration files like `named.conf` go by default, and `--localstatedir` -to set the default parent directory of `run/named.pid`. For backwards -compatibility with BIND 8, `--sysconfdir` defaults to `/etc` and -`--localstatedir` defaults to `/var` if no `--prefix` option is given. If -there is a `--prefix` option, sysconfdir defaults to `$prefix/etc` and -localstatedir defaults to `$prefix/var`. +to set the default parent directory of `run/named.pid`. `--sysconfdir` +defaults to `$prefix/etc` and `--localstatedir` defaults to `$prefix/var`. ### Automated testing diff --git a/configure b/configure index 40059aee49b..32626427b23 100755 --- a/configure +++ b/configure @@ -12669,39 +12669,10 @@ fi # -# Special processing of paths depending on whether --prefix, -# --sysconfdir or --localstatedir arguments were given. What's -# desired is some compatibility with the way previous versions -# of BIND built; they defaulted to /usr/local for most parts of -# the installation, but named.boot/named.conf was in /etc -# and named.pid was in /var/run. +# expanded_sysconfdir is needed for replacement in the python utilities # -# So ... if none of --prefix, --sysconfdir or --localstatedir are -# specified, set things up that way. If --prefix is given, use -# it for sysconfdir and localstatedir the way configure normally -# would. To change the prefix for everything but leave named.conf -# in /etc or named.pid in /var/run, then do this the usual configure way: -# ./configure --prefix=/somewhere --sysconfdir=/etc -# ./configure --prefix=/somewhere --localstatedir=/var +# TODO: use sed in the Makefile instead of autoconf to do the replacement # -# To put named.conf and named.pid in /usr/local with everything else, -# set the prefix explicitly to /usr/local even though that's the default: -# ./configure --prefix=/usr/local -# -case "$prefix" in - NONE) - case "$sysconfdir" in - '${prefix}/etc') - sysconfdir=/etc - ;; - esac - case "$localstatedir" in - '${prefix}/var') - localstatedir=/var - ;; - esac - ;; -esac expanded_sysconfdir=`eval echo $sysconfdir` diff --git a/configure.ac b/configure.ac index eda04d45662..721dbf65602 100644 --- a/configure.ac +++ b/configure.ac @@ -304,39 +304,8 @@ AC_SUBST(PYTHON_INSTALL_DIR) AC_SUBST(PYTHON_INSTALL_LIB) # -# Special processing of paths depending on whether --prefix, -# --sysconfdir or --localstatedir arguments were given. What's -# desired is some compatibility with the way previous versions -# of BIND built; they defaulted to /usr/local for most parts of -# the installation, but named.boot/named.conf was in /etc -# and named.pid was in /var/run. -# -# So ... if none of --prefix, --sysconfdir or --localstatedir are -# specified, set things up that way. If --prefix is given, use -# it for sysconfdir and localstatedir the way configure normally -# would. To change the prefix for everything but leave named.conf -# in /etc or named.pid in /var/run, then do this the usual configure way: -# ./configure --prefix=/somewhere --sysconfdir=/etc -# ./configure --prefix=/somewhere --localstatedir=/var -# -# To put named.conf and named.pid in /usr/local with everything else, -# set the prefix explicitly to /usr/local even though that's the default: -# ./configure --prefix=/usr/local -# -case "$prefix" in - NONE) - case "$sysconfdir" in - '${prefix}/etc') - sysconfdir=/etc - ;; - esac - case "$localstatedir" in - '${prefix}/var') - localstatedir=/var - ;; - esac - ;; -esac +# expanded_sysconfdir is needed for replacement in the python utilities +# expanded_sysconfdir=`eval echo $sysconfdir` AC_SUBST(expanded_sysconfdir) diff --git a/doc/arm/notes.xml b/doc/arm/notes.xml index d076e5cbd31..c51873b8fc5 100644 --- a/doc/arm/notes.xml +++ b/doc/arm/notes.xml @@ -240,6 +240,17 @@ the problem. [GL #1055] + + + ./configure no longer sets + --sysconfdir to /etc or + --localstatedir to /var + when --prefix is not specified and the + aforementioned options are not specified explicitly. Instead, + Autoconf's defaults of $prefix/etc and + $prefix/var are respected. + + -- GitLab