* [PATCH] build: use --runstatedir instead of --localstatedir
@ 2017-07-27 14:00 Andreas Henriksson
2017-07-31 13:31 ` Karel Zak
0 siblings, 1 reply; 3+ messages in thread
From: Andreas Henriksson @ 2017-07-27 14:00 UTC (permalink / raw)
To: util-linux; +Cc: Andreas Henriksson, Sami Kerola
The util-linux code was previously aligned to use @localstatedir@ and
the util-linux build system was set to override the default to use /run.
Current GNU Coding Standards introduced the @runstatedir@ variable
for this purpose. Lets use that instead.
The GNU default for @runstatedir@ is ${localstatedir}/run so util-linux
still override the default to be /run to preserve the status quo from
before. The only difference is that you'll now pass --runstatedir to
override the location on the command line instead of --localstatedir.
(FWIW, Debhelper in compat 11 will automatically start passing
--runstatedir=/run to all autotools configured builds. It already
passes --localstatedir=/var (to avoid it ending up with the GNU default
/usr/local/var) which breaks the util-linux build system code that
tries to default it to /run. This change will thus allow util-linux
and debhelper to work better together and avoid the need for a
package-specific override.)
Relevant historic commits:
* commit 07a16b9d1e5a48550a0d19abb9a900853433ffa2
"build-sys: change --localstatedir to /run"
* commit 80c51185d50f00a2701f9379f10fc48a0f885dfc
"uuidd: use run configured state directory"
* commit 01c5b787947aeaffc7e56000827e3edefa357c59
"agetty: use configured run state directory"
CC: Sami Kerola <kerolasa@iki.fi>
Signed-off-by: Andreas Henriksson <andreas@fatal.se>
---
Makefile.am | 4 ++--
configure.ac | 14 +++++++-------
include/pathnames.h | 2 +-
libuuid/src/uuidd.h | 2 +-
misc-utils/test_uuidd.c | 4 ++--
misc-utils/uuidd.8.in | 4 ++--
misc-utils/uuidd.rc.in | 2 +-
misc-utils/uuidd.socket.in | 2 +-
8 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 54c85e16f..e7657afe9 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,7 +2,7 @@ AM_CPPFLAGS = \
-include config.h \
-I$(top_srcdir)/include \
-DLOCALEDIR=\"$(localedir)\" \
- -D_PATH_LOCALSTATEDIR=\"${localstatedir}\"
+ -D_PATH_RUNSTATEDIR=\"${runstatedir}\"
AM_CFLAGS = -fsigned-char $(WARN_CFLAGS)
AM_LDFLAGS =
@@ -119,7 +119,7 @@ edit_cmd = sed \
-e 's|@sbindir[@]|$(sbindir)|g' \
-e 's|@bindir[@]|$(bindir)|g' \
-e 's|@includedir[@]|$(includedir)|g' \
- -e 's|@localstatedir[@]|$(localstatedir)|g' \
+ -e 's|@runstatedir[@]|$(runstatedir)|g' \
-e 's|@usrlib_execdir[@]|$(usrlib_execdir)|g' \
-e 's|@usrbin_execdir[@]|$(usrbin_execdir)|g' \
-e 's|@usrsbin_execdir[@]|$(usrsbin_execdir)|g' \
diff --git a/configure.ac b/configure.ac
index 38b968878..9d4242ec4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -72,13 +72,13 @@ AS_CASE([$exec_prefix:$prefix],
]
)
-AS_CASE([$prefix:$localstatedir],
- [NONE:'${prefix}/var' | /usr:'${prefix}/var'],
- [localstatedir=/run
- AC_MSG_NOTICE([ --localstatedir defaults to /run])
- ]
+AS_CASE([$prefix:$runstatedir],
+ [NONE:'${localstatedir}/run' | /usr:'${localstatedir}/run'],
+ [runstatedir=/run
+ AC_MSG_NOTICE([ --runstatedir defaults to /run])
+ ]
)
-AC_SUBST([localstatedir])
+AC_SUBST([runstatedir])
# The original default values of {bin,sbin,lib}dir
@@ -2277,7 +2277,7 @@ AC_MSG_RESULT([
prefix: ${prefix}
exec prefix: ${exec_prefix}
- localstatedir: ${localstatedir}
+ runstatedir: ${runstatedir}
bindir: ${bindir}
sbindir: ${sbindir}
libdir: ${libdir}
diff --git a/include/pathnames.h b/include/pathnames.h
index 8af386457..747382dae 100644
--- a/include/pathnames.h
+++ b/include/pathnames.h
@@ -71,7 +71,7 @@
#define _PATH_ISSUE "/etc/issue"
#define _PATH_OS_RELEASE_ETC "/etc/os-release"
#define _PATH_OS_RELEASE_USR "/usr/lib/os-release"
-#define _PATH_NUMLOCK_ON _PATH_LOCALSTATEDIR "/numlock-on"
+#define _PATH_NUMLOCK_ON _PATH_RUNSTATEDIR "/numlock-on"
#define _PATH_LOGINDEFS "/etc/login.defs"
/* misc paths */
diff --git a/libuuid/src/uuidd.h b/libuuid/src/uuidd.h
index 2f709680b..e55c86f2f 100644
--- a/libuuid/src/uuidd.h
+++ b/libuuid/src/uuidd.h
@@ -35,7 +35,7 @@
#ifndef _UUID_UUIDD_H
#define _UUID_UUIDD_H
-#define UUIDD_DIR _PATH_LOCALSTATEDIR "/uuidd"
+#define UUIDD_DIR _PATH_RUNSTATEDIR "/uuidd"
#define UUIDD_SOCKET_PATH UUIDD_DIR "/request"
#define UUIDD_PIDFILE_PATH UUIDD_DIR "/uuidd.pid"
#define UUIDD_PATH "/usr/sbin/uuidd"
diff --git a/misc-utils/test_uuidd.c b/misc-utils/test_uuidd.c
index 7bbd3a948..de5ae3ab2 100644
--- a/misc-utils/test_uuidd.c
+++ b/misc-utils/test_uuidd.c
@@ -18,10 +18,10 @@
*
* uuidd --debug --no-fork --no-pid --socket /run/uuidd/request
*
- * if the $localstatedir (as defined by build-system) is /run. If you want
+ * if the $runstatedir (as defined by build-system) is /run. If you want
* to overwrite the built-in default then use:
*
- * make uuidd uuidgen localstatedir=/var
+ * make uuidd uuidgen runstatedir=/var/run
*/
#include <pthread.h>
#include <stdio.h>
diff --git a/misc-utils/uuidd.8.in b/misc-utils/uuidd.8.in
index e25582564..0a5cf471b 100644
--- a/misc-utils/uuidd.8.in
+++ b/misc-utils/uuidd.8.in
@@ -37,7 +37,7 @@ Do not create a pid file.
.TP
.BR \-p , " \-\-pid " \fIpath\fR
Specify the pathname where the pid file should be written. By default,
-the pid file is written to @localstatedir@/uuidd/uuidd.pid.
+the pid file is written to @runstatedir@/uuidd/uuidd.pid.
.TP
.BR \-q , " \-\-quiet "
Suppress some failure messages.
@@ -54,7 +54,7 @@ a configure option.
.TP
.BR \-s , " \-\-socket " \fIpath\fR
Make uuidd use this pathname for the unix-domain socket. By default, the
-pathname used is @localstatedir@/uuidd/request. This option is primarily
+pathname used is @runstatedir@/uuidd/request. This option is primarily
for debugging purposes, since the pathname is hard-coded in the libuuid
library.
.TP
diff --git a/misc-utils/uuidd.rc.in b/misc-utils/uuidd.rc.in
index 26273e5c5..794394562 100644
--- a/misc-utils/uuidd.rc.in
+++ b/misc-utils/uuidd.rc.in
@@ -17,7 +17,7 @@ PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/sbin/uuidd
UUIDD_USER=uuidd
UUIDD_GROUP=uuidd
-UUIDD_DIR=@localstatedir@/uuidd
+UUIDD_DIR=@runstatedir@/uuidd
PIDFILE=$UUIDD_DIR/uuidd.pid
test -x $DAEMON || exit 0
diff --git a/misc-utils/uuidd.socket.in b/misc-utils/uuidd.socket.in
index d8be72fd6..8ddcac26f 100644
--- a/misc-utils/uuidd.socket.in
+++ b/misc-utils/uuidd.socket.in
@@ -2,7 +2,7 @@
Description=UUID daemon activation socket
[Socket]
-ListenStream=@localstatedir@/uuidd/request
+ListenStream=@runstatedir@/uuidd/request
[Install]
WantedBy=sockets.target
--
2.11.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] build: use --runstatedir instead of --localstatedir
2017-07-27 14:00 [PATCH] build: use --runstatedir instead of --localstatedir Andreas Henriksson
@ 2017-07-31 13:31 ` Karel Zak
2017-07-31 17:52 ` Andreas Henriksson
0 siblings, 1 reply; 3+ messages in thread
From: Karel Zak @ 2017-07-31 13:31 UTC (permalink / raw)
To: Andreas Henriksson; +Cc: util-linux, Sami Kerola
On Thu, Jul 27, 2017 at 04:00:42PM +0200, Andreas Henriksson wrote:
> Current GNU Coding Standards introduced the @runstatedir@ variable
> for this purpose. Lets use that instead.
>
> The GNU default for @runstatedir@ is ${localstatedir}/run so util-linux
> still override the default to be /run to preserve the status quo from
> before. The only difference is that you'll now pass --runstatedir to
> override the location on the command line instead of --localstatedir.
Applied.
...
> -AS_CASE([$prefix:$localstatedir],
> - [NONE:'${prefix}/var' | /usr:'${prefix}/var'],
> - [localstatedir=/run
> - AC_MSG_NOTICE([ --localstatedir defaults to /run])
> - ]
> +AS_CASE([$prefix:$runstatedir],
> + [NONE:'${localstatedir}/run' | /usr:'${localstatedir}/run'],
> + [runstatedir=/run
> + AC_MSG_NOTICE([ --runstatedir defaults to /run])
> + ]
> )
> -AC_SUBST([localstatedir])
> +AC_SUBST([runstatedir])
It seems we need somehow to support autoconf < 2.70 where is no
$runstatedir. So, I have modified the code to use fallback
runstatedir='${localstatedir}/run'
It also seems we need to check for unmodified $localstatedir rather
than care about $prefix. So, I have improved the AS_CASE().
Please, git-pull from master branch and retest it with new autoconf
and your environment. Thanks.
Karel
--
Karel Zak <kzak@redhat.com>
http://karelzak.blogspot.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] build: use --runstatedir instead of --localstatedir
2017-07-31 13:31 ` Karel Zak
@ 2017-07-31 17:52 ` Andreas Henriksson
0 siblings, 0 replies; 3+ messages in thread
From: Andreas Henriksson @ 2017-07-31 17:52 UTC (permalink / raw)
To: Karel Zak; +Cc: util-linux, Sami Kerola
Hello Karel Zak,
On Mon, Jul 31, 2017 at 03:31:56PM +0200, Karel Zak wrote:
[...]
> It seems we need somehow to support autoconf < 2.70 where is no
> $runstatedir. So, I have modified the code to use fallback
>
> runstatedir='${localstatedir}/run'
>
> It also seems we need to check for unmodified $localstatedir rather
> than care about $prefix. So, I have improved the AS_CASE().
>
> Please, git-pull from master branch and retest it with new autoconf
> and your environment. Thanks.
Thanks for picking it up and improving it. I'm quite sure that
none of your changes will affect debian/debhelper builds.
(If I find something when I find time to test it properly I'll
report back.)
The important point for debhelpers point of view is that
./configure --runstatedir is used instead of
./configure --localstatedir (and the upstream AS_CASE/AS_IF
doesn't apply here since debhelper will pass both of those
configure flags explicitly.)
Please note clearly in the upcoming release notes than anyone
explicitly using the --localstatedir flag will need to move
over to --runstatedir (or accept/rely on util-linux defaults).
Regards,
Andreas Henriksson
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-07-31 17:52 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-27 14:00 [PATCH] build: use --runstatedir instead of --localstatedir Andreas Henriksson
2017-07-31 13:31 ` Karel Zak
2017-07-31 17:52 ` Andreas Henriksson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.