1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-27 10:25:37 +03:00

build-sys: use glibc's xattr support instead of requiring libattr

This commit is contained in:
Kay Sievers 2014-05-28 17:36:40 +08:00
parent c9679c652b
commit d2edfae0f9
7 changed files with 7 additions and 75 deletions

View File

@ -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}

View File

@ -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,

View File

@ -29,9 +29,7 @@
#include <arpa/inet.h>
#include <netinet/tcp.h>
#include <mqueue.h>
#ifdef HAVE_XATTR
#include <attr/xattr.h>
#endif
#include <sys/xattr.h>
#include "sd-event.h"
#include "log.h"

View File

@ -26,10 +26,7 @@
#include <sys/statvfs.h>
#include <fcntl.h>
#include <stddef.h>
#ifdef HAVE_XATTR
#include <attr/xattr.h>
#endif
#include <sys/xattr.h>
#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

View File

@ -24,10 +24,7 @@
#include <sys/stat.h>
#include <sys/statvfs.h>
#include <unistd.h>
#ifdef HAVE_XATTR
#include <attr/xattr.h>
#endif
#include <sys/xattr.h>
#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) {

View File

@ -27,9 +27,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#ifdef HAVE_XATTR
#include <sys/xattr.h>
#endif
#ifdef HAVE_SELINUX
#include <selinux/selinux.h>
#include <selinux/label.h>

View File

@ -23,9 +23,7 @@
#include <unistd.h>
#include <string.h>
#ifdef HAVE_XATTR
#include <attr/xattr.h>
#endif
#include <sys/xattr.h>
#include "smack-util.h"