# HG changeset patch # User Christian Brabandt # Date 1696077003 -7200 # Node ID b14a47736a1c5a3d64b50ba604dae21f18c7c0ad # Parent c5ef8d2646b79a91f61135aa2bf9154829968e80 patch 9.0.1963: Configure script may not detect xattr Commit: https://github.com/vim/vim/commit/6de4e58cf27a3bb6e81653ca63b77e29d1bb46f2 Author: zeertzjq Date: Sat Sep 30 14:19:14 2023 +0200 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 Co-authored-by: zeertzjq diff --git a/src/auto/configure b/src/auto/configure --- a/src/auto/configure +++ b/src/auto/configure @@ -5279,7 +5279,7 @@ else printf "%s\n" "yes" >&6; } fi 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 then : true @@ -5434,7 +5434,7 @@ fi if test "$enable_xattr" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 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 then : printf "%s\n" "#define HAVE_XATTR 1" >>confdefs.h diff --git a/src/configure.ac b/src/configure.ac --- a/src/configure.ac +++ b/src/configure.ac @@ -480,7 +480,7 @@ else AC_MSG_RESULT(yes) fi 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 if test "$enable_smack" = "yes"; then AC_MSG_CHECKING(for XATTR_NAME_SMACKEXEC in linux/xattr.h) @@ -520,7 +520,7 @@ AC_ARG_ENABLE(xattr, , enable_xattr="yes") if test "$enable_xattr" = "yes"; then 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 AC_MSG_RESULT(no) fi diff --git a/src/os_unix.c b/src/os_unix.c --- a/src/os_unix.c +++ b/src/os_unix.c @@ -36,12 +36,12 @@ static int selinux_enabled = -1; #endif #ifdef FEAT_XATTR -# include +# include # define XATTR_VAL_LEN 1024 #endif #ifdef HAVE_SMACK -# include +# include # include # ifndef SMACK_LABEL_LEN # define SMACK_LABEL_LEN 1024 diff --git a/src/testdir/test_writefile.vim b/src/testdir/test_writefile.vim --- a/src/testdir/test_writefile.vim +++ b/src/testdir/test_writefile.vim @@ -979,6 +979,7 @@ endfunc func Test_write_with_xattr_support() CheckLinux + CheckFeature xattr CheckExecutable setfattr let contents = ["file with xattrs", "line two"] diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -705,6 +705,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1963, +/**/ 1962, /**/ 1961,