Based on d2edfae0f9bdbecf6a8518e2a5bcf06f470e0d9e Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Wed, 28 May 2014 17:36:40 +0800 Subject: [PATCH] build-sys: use glibc's xattr support instead of requiring libattr --- configure.ac | 53 ++----------------------------------------- src/core/mount-setup.c | 2 - src/core/socket.c | 4 --- src/journal/journal-file.c | 7 ----- src/journal/journal-vacuum.c | 10 -------- src/shared/label.c | 2 - src/shared/smack-util.c | 4 --- 7 files changed, 7 insertions(+), 75 deletions(-) --- configure.ac +++ configure.ac 2014-06-03 00:00:00.000000000 +0000 @@ -526,44 +526,6 @@ AC_SUBST(ACL_LIBS) AM_CONDITIONAL([HAVE_ACL], [test "x$have_acl" != xno]) # ------------------------------------------------------------------------------ -AC_ARG_ENABLE([xattr], - AS_HELP_STRING([--disable-xattr],[Disable optional XATTR support]), - [case "${enableval}" in - yes) have_xattr=yes ;; - no) have_xattr=no ;; - *) AC_MSG_ERROR(bad value ${enableval} for --disable-xattr) ;; - esac], - [have_xattr=auto]) - -if test "x${have_xattr}" != xno ; then - AC_CHECK_HEADERS( - [attr/xattr.h], - [have_xattr=yes], - [if test "x$have_xattr" = xyes ; then - AC_MSG_ERROR([*** XATTR headers not found.]) - fi]) - - AC_CHECK_LIB( - [attr], - [fsetxattr], - [have_xattr=yes], - [if test "x$have_xattr" = xyes ; then - AC_MSG_ERROR([*** libattr not found.]) - fi]) - - if test "x$have_xattr" = xyes ; then - XATTR_LIBS="-lattr" - AC_DEFINE(HAVE_XATTR, 1, [XATTR available]) - else - have_xattr=no - fi -else - XATTR_LIBS= -fi -AC_SUBST(XATTR_LIBS) -AM_CONDITIONAL([HAVE_XATTR], [test "x$have_xattr" != xno]) - -# ------------------------------------------------------------------------------ AC_ARG_ENABLE([smack], AS_HELP_STRING([--disable-smack],[Disable optional SMACK support]), [case "${enableval}" in yes) have_smack=yes ;; @@ -572,17 +534,9 @@ AC_ARG_ENABLE([smack], AS_HELP_STRING([- esac], [have_smack=auto]) -if test "x${have_xattr}" = xno; then - if test "x${have_smack}" = xyes; then - AC_MSG_ERROR(SMACK requires xattr support) - else - have_smack=no - fi -else - if test "x${have_smack}" = xauto; then - M4_DEFINES="$M4_DEFINES -DHAVE_SMACK" - have_smack=yes - fi +if test "x${have_smack}" = xauto; then + M4_DEFINES="$M4_DEFINES -DHAVE_SMACK" + have_smack=yes fi AC_ARG_WITH(smack-run-label, @@ -1131,7 +1085,6 @@ AC_MSG_RESULT([ SMACK: ${have_smack} XZ: ${have_xz} ACL: ${have_acl} - XATTR: ${have_xattr} GCRYPT: ${have_gcrypt} QRENCODE: ${have_qrencode} MICROHTTPD: ${have_microhttpd} --- src/core/mount-setup.c +++ src/core/mount-setup.c 2014-06-03 00:00:00.000000000 +0000 @@ -93,10 +93,8 @@ static const MountPoint mount_table[] = NULL, MNT_FATAL|MNT_IN_CONTAINER }, { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME, NULL, MNT_IN_CONTAINER }, -#ifdef HAVE_XATTR { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd,xattr", MS_NOSUID|MS_NOEXEC|MS_NODEV, NULL, MNT_IN_CONTAINER }, -#endif { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, NULL, MNT_IN_CONTAINER }, { "pstore", "/sys/fs/pstore", "pstore", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, --- src/core/socket.c +++ src/core/socket.c 2014-06-03 00:00:00.000000000 +0000 @@ -29,9 +29,7 @@ #include #include #include -#ifdef HAVE_XATTR -#include -#endif +#include #include "sd-event.h" #include "log.h" --- src/journal/journal-file.c +++ src/journal/journal-file.c 2014-06-03 00:00:00.000000000 +0000 @@ -26,10 +26,7 @@ #include #include #include - -#ifdef HAVE_XATTR -#include -#endif +#include #include "journal-def.h" #include "journal-file.h" @@ -2515,7 +2512,6 @@ int journal_file_open( } if (f->last_stat.st_size == 0 && f->writable) { -#ifdef HAVE_XATTR uint64_t crtime; /* Let's attach the creation time to the journal file, @@ -2530,7 +2526,6 @@ int journal_file_open( crtime = htole64((uint64_t) now(CLOCK_REALTIME)); fsetxattr(f->fd, "user.crtime_usec", &crtime, sizeof(crtime), XATTR_CREATE); -#endif #ifdef HAVE_GCRYPT /* Try to load the FSPRG state, and if we can't, then --- src/journal/journal-vacuum.c +++ src/journal/journal-vacuum.c 2014-06-03 00:00:00.000000000 +0000 @@ -24,10 +24,7 @@ #include #include #include - -#ifdef HAVE_XATTR -#include -#endif +#include #include "journal-def.h" #include "journal-file.h" @@ -79,11 +76,8 @@ static void patch_realtime( unsigned long long *realtime) { usec_t x; - -#ifdef HAVE_XATTR uint64_t crtime; _cleanup_free_ const char *path = NULL; -#endif /* The timestamp was determined by the file name, but let's * see if the file might actually be older than the file name @@ -106,7 +100,6 @@ static void patch_realtime( if (x > 0 && x != (usec_t) -1 && x < *realtime) *realtime = x; -#ifdef HAVE_XATTR /* Let's read the original creation time, if possible. Ideally * we'd just query the creation time the FS might provide, but * unfortunately there's currently no sane API to query @@ -125,7 +118,6 @@ static void patch_realtime( if (crtime > 0 && crtime != (uint64_t) -1 && crtime < *realtime) *realtime = crtime; } -#endif } static int journal_file_empty(int dir_fd, const char *name) { --- src/shared/label.c +++ src/shared/label.c 2014-06-03 00:00:00.000000000 +0000 @@ -27,9 +27,7 @@ #include #include #include -#ifdef HAVE_XATTR #include -#endif #ifdef HAVE_SELINUX #include #include --- src/shared/smack-util.c +++ src/shared/smack-util.c 2014-06-03 00:00:00.000000000 +0000 @@ -23,9 +23,7 @@ #include #include -#ifdef HAVE_XATTR -#include -#endif +#include #include "smack-util.h"