0
0
mirror of https://github.com/vim/vim.git synced 2025-09-28 04:24:06 -04:00

patch 9.0.1963: Configure script may not detect xattr

Problem:  Configure script may not detect xattr correctly
Solution: include sys/xattr instead of attr/xattr,
          make Test_write_with_xattr_support() test
          xattr feature correctly

This also applies to the Smack security feature, so change the include
and configure script for it as well.

closes: #13229

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
This commit is contained in:
zeertzjq
2023-09-30 14:19:14 +02:00
committed by Christian Brabandt
parent e085dfda5d
commit 6de4e58cf2
5 changed files with 9 additions and 6 deletions

4
src/auto/configure vendored
View File

@@ -5279,7 +5279,7 @@ else
printf "%s\n" "yes" >&6; } printf "%s\n" "yes" >&6; }
fi fi
if test "$enable_smack" = "yes"; then if test "$enable_smack" = "yes"; then
ac_fn_c_check_header_compile "$LINENO" "attr/xattr.h" "ac_cv_header_attr_xattr_h" "$ac_includes_default" ac_fn_c_check_header_compile "$LINENO" "sys/xattr.h" "ac_cv_header_attr_xattr_h" "$ac_includes_default"
if test "x$ac_cv_header_attr_xattr_h" = xyes if test "x$ac_cv_header_attr_xattr_h" = xyes
then : then :
true true
@@ -5434,7 +5434,7 @@ fi
if test "$enable_xattr" = "yes"; then if test "$enable_xattr" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; } printf "%s\n" "yes" >&6; }
ac_fn_c_check_header_compile "$LINENO" "attr/xattr.h" "ac_cv_header_attr_xattr_h" "$ac_includes_default" ac_fn_c_check_header_compile "$LINENO" "sys/xattr.h" "ac_cv_header_attr_xattr_h" "$ac_includes_default"
if test "x$ac_cv_header_attr_xattr_h" = xyes if test "x$ac_cv_header_attr_xattr_h" = xyes
then : then :
printf "%s\n" "#define HAVE_XATTR 1" >>confdefs.h printf "%s\n" "#define HAVE_XATTR 1" >>confdefs.h

View File

@@ -480,7 +480,7 @@ else
AC_MSG_RESULT(yes) AC_MSG_RESULT(yes)
fi fi
if test "$enable_smack" = "yes"; then if test "$enable_smack" = "yes"; then
AC_CHECK_HEADER([attr/xattr.h], true, enable_smack="no") AC_CHECK_HEADER([sys/xattr.h], true, enable_smack="no")
fi fi
if test "$enable_smack" = "yes"; then if test "$enable_smack" = "yes"; then
AC_MSG_CHECKING(for XATTR_NAME_SMACKEXEC in linux/xattr.h) AC_MSG_CHECKING(for XATTR_NAME_SMACKEXEC in linux/xattr.h)
@@ -520,7 +520,7 @@ AC_ARG_ENABLE(xattr,
, enable_xattr="yes") , enable_xattr="yes")
if test "$enable_xattr" = "yes"; then if test "$enable_xattr" = "yes"; then
AC_MSG_RESULT(yes) AC_MSG_RESULT(yes)
AC_CHECK_HEADER([attr/xattr.h], [AC_DEFINE(HAVE_XATTR)]) AC_CHECK_HEADER([sys/xattr.h], [AC_DEFINE(HAVE_XATTR)])
else else
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
fi fi

View File

@@ -36,12 +36,12 @@ static int selinux_enabled = -1;
#endif #endif
#ifdef FEAT_XATTR #ifdef FEAT_XATTR
# include <attr/xattr.h> # include <sys/xattr.h>
# define XATTR_VAL_LEN 1024 # define XATTR_VAL_LEN 1024
#endif #endif
#ifdef HAVE_SMACK #ifdef HAVE_SMACK
# include <attr/xattr.h> # include <sys/xattr.h>
# include <linux/xattr.h> # include <linux/xattr.h>
# ifndef SMACK_LABEL_LEN # ifndef SMACK_LABEL_LEN
# define SMACK_LABEL_LEN 1024 # define SMACK_LABEL_LEN 1024

View File

@@ -979,6 +979,7 @@ endfunc
func Test_write_with_xattr_support() func Test_write_with_xattr_support()
CheckLinux CheckLinux
CheckFeature xattr
CheckExecutable setfattr CheckExecutable setfattr
let contents = ["file with xattrs", "line two"] let contents = ["file with xattrs", "line two"]

View File

@@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1963,
/**/ /**/
1962, 1962,
/**/ /**/