From 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(-) diff --git a/configure.ac b/configure.ac index 5133c121e..e5883e775 100644 --- a/configure.ac +++ b/configure.ac @@ -534,44 +534,6 @@ fi 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 @@ -581,17 +543,9 @@ AC_ARG_ENABLE([smack], AS_HELP_STRING([--disable-smack],[Disable optional SMACK 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, @@ -1205,7 +1159,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} diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c index 34d71e5b4..ae8447ca4 100644 --- a/src/core/mount-setup.c +++ b/src/core/mount-setup.c @@ -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_FATAL|MNT_IN_CONTAINER }, -#ifdef HAVE_XATTR { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd,xattr", MS_NOSUID|MS_NOEXEC|MS_NODEV, NULL, MNT_FATAL|MNT_IN_CONTAINER }, -#endif { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, NULL, MNT_FATAL|MNT_IN_CONTAINER }, { "pstore", "/sys/fs/pstore", "pstore", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, diff --git a/src/core/socket.c b/src/core/socket.c index aca20fd10..60dc9d0cd 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -29,9 +29,7 @@ #include #include #include -#ifdef HAVE_XATTR -#include -#endif +#include #include "sd-event.h" #include "log.h" diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index f2f1f35fc..b3b1ffc3c 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -26,10 +26,7 @@ #include #include #include - -#ifdef HAVE_XATTR -#include -#endif +#include #include "journal-def.h" #include "journal-file.h" @@ -2511,7 +2508,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, @@ -2526,7 +2522,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 diff --git a/src/journal/journal-vacuum.c b/src/journal/journal-vacuum.c index ebe5e4218..086b40f94 100644 --- a/src/journal/journal-vacuum.c +++ b/src/journal/journal-vacuum.c @@ -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) { diff --git a/src/shared/label.c b/src/shared/label.c index 3b7b86e8f..e46d53201 100644 --- a/src/shared/label.c +++ b/src/shared/label.c @@ -27,9 +27,7 @@ #include #include #include -#ifdef HAVE_XATTR #include -#endif #ifdef HAVE_SELINUX #include #include diff --git a/src/shared/smack-util.c b/src/shared/smack-util.c index df194e084..8f83562bf 100644 --- a/src/shared/smack-util.c +++ b/src/shared/smack-util.c @@ -23,9 +23,7 @@ #include #include -#ifdef HAVE_XATTR -#include -#endif +#include #include "smack-util.h" -- 2.30.2