[libvirt] [PATCH 5/6] build: support customization of runstatedir variable with old autoconf

Daniel P. Berrangé berrange at redhat.com
Wed Aug 21 11:50:10 UTC 2019


Many distros have moved /var/run to /run with the introduction of
systemd. /var/run still exists as a symlink to /run, but its usage
is deprecated.

autoconf added a --runstatedir option back in 2013 but there's still no
new release of autoconf that includes this.

gnulib meanwhile added support to propagate this arg's value to
configmake.h, but it falls back to $localstatedir/run for autoconf 2.69
and older, which is what every distro today has.

To deal with this problem we add a --with-runstatedir arg that then sets
the $runstatedir env variable that future autoconf's --runstatedir arg
will also use. This finally enables $runstatedir to be pointed to /run.

Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
---
 configure.ac | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/configure.ac b/configure.ac
index f41c6d5d86..120312e4ca 100644
--- a/configure.ac
+++ b/configure.ac
@@ -129,6 +129,29 @@ if test -d $srcdir/.git && git --version >/dev/null 2>&1 ; then
   AB_VERSION=`cd $srcdir && git describe --match 'v[[0-9]]*' 2>/dev/null`
 fi
 
+dnl autoconf 2.70 adds a --runstatedir option so that downstreams
+dnl can point to /run instead of the historic /var/run, but
+dnl autoconf hasn't had a release since 2012.
+dnl
+dnl gnulib sets configmake.h to include runstatedir, but sets
+dnl it to $localstatedir/run if $runstatedir env var is not set
+dnl which is useless for apps that need to use /run without
+dnl waiting for autoconf 2.70
+dnl
+dnl we introduce --with-runstatedir and then overwrite the
+dnl value of $runstatedir so gnulib's configmake.h becomes useful
+AC_ARG_WITH(
+    [runstatedir],
+    [AS_HELP_STRING(
+        [--with-runstatedir],
+        [State directory for temporary sockets, pid files, etc])])
+
+if test -n "$with_runstatedir"
+then
+  runstatedir=$with_runstatedir
+fi
+
+
 gl_EARLY
 gl_INIT
 
-- 
2.21.0




More information about the libvir-list mailing list