bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] file-has-acl: new function file_has_aclinfo


From: Bruno Haible
Subject: Re: [PATCH] file-has-acl: new function file_has_aclinfo
Date: Mon, 30 Sep 2024 14:24:27 +0200

> gcc -DHAVE_CONFIG_H -DEXEEXT=\"\" -DEXEEXT=\"\" -DNO_XMALLOC -DEXEEXT=\"\" 
> -I. -I../../gllib -I..  -DGNULIB_STRICT_CHECKING=1 -Wall 
> -DCONTINUE_AFTER_ASSERT -fvisibility=hidden -g -O2 -MT selinux-at.o -MD -MP 
> -MF $depbase.Tpo -c -o selinux-at.o ../../gllib/selinux-at.c &&\
> mv -f $depbase.Tpo $depbase.Po
> In file included from ../../gllib/selinux-at.h:17,
>                  from ../../gllib/selinux-at.c:21:
> ./selinux/selinux.h:23:5: error: #if with no expression
>    23 | #if
>       |     ^
> make[4]: *** [Makefile:11845: selinux-at.o] Error 1

It can be reproduced with a testdir of all of gnulib:

  $ ./gnulib-tool --create-testdir --dir=../testdir-all --with-c++-tests 
--without-privileged-tests --single-configure `./all-modules`

The cause is that in the configure file, only one expansion of
gl_CHECK_HEADER_SELINUX_SELINUX_H is present, and in a conditional
position (due to the use of AS_CASE). The second intended expansion,
from module selinux-h, is eliminated because it is an AC_REQUIRE
(see m4/selinux-selinux-h.m4 line 15).

This patch fixes it. And since gl_CHECK_HEADER_SELINUX_SELINUX_H is supposed
to have set USE_SELINUX_SELINUX_H to 0 or 1, it increases robustness to
report a shell syntax error if $USE_SELINUX_SELINUX_H happens to be empty.


2024-09-30  Bruno Haible  <bruno@clisp.org>

        file-has-acl: Fix compilation error (regression yesterday).
        * m4/acl.m4 (gl_FILE_HAS_ACL): Require, not invoke,
        gl_CHECK_HEADER_SELINUX_SELINUX_H.

diff --git a/m4/acl.m4 b/m4/acl.m4
index 4328bd20a1..69135f9884 100644
--- a/m4/acl.m4
+++ b/m4/acl.m4
@@ -1,5 +1,5 @@
 # acl.m4
-# serial 32
+# serial 33
 dnl Copyright (C) 2002, 2004-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -214,8 +214,8 @@ AC_DEFUN([gl_FILE_HAS_ACL]
   
AS_CASE([$enable_acl,$with_selinux,$ac_cv_header_linux_xattr_h,$ac_cv_func_listxattr],
     [no,* | *,no,*], [],
     [*,*,yes,yes],
-      [gl_CHECK_HEADER_SELINUX_SELINUX_H
-       AS_IF([test "$USE_SELINUX_SELINUX_H" -ne 0 ],
+      [AC_REQUIRE([gl_CHECK_HEADER_SELINUX_SELINUX_H])
+       AS_IF([test $USE_SELINUX_SELINUX_H = 1],
          [FILE_HAS_ACL_LIB="$FILE_HAS_ACL_LIB $LIB_SELINUX"
           gl_file_has_acl_uses_selinux=yes])])
 






reply via email to

[Prev in Thread] Current Thread [Next in Thread]