mirror of
https://git.proxmox.com/git/systemd
synced 2026-02-02 09:35:38 +00:00
Use glibc's xattr support instead of requiring libattr.
Fixes FTBFS with latest glibc and libattr. Cherrypicked from trunk. Closes: #756097
This commit is contained in:
parent
5dc8888e31
commit
1608ddfd78
2
debian/changelog
vendored
2
debian/changelog
vendored
@ -19,6 +19,8 @@ systemd (208-7) UNRELEASED; urgency=medium
|
||||
schroot or after upgrades from < 204, and the main point of the test is
|
||||
to check that libsystemd-login-dev has correct contents and dependencies.
|
||||
Drop "isolation-machine" requirement.
|
||||
* Use glibc's xattr support instead of requiring libattr. Fixes FTBFS with
|
||||
latest glibc and libattr. Cherrypicked from trunk. (Closes: #756097)
|
||||
|
||||
-- Michael Biebl <biebl@debian.org> Thu, 17 Jul 2014 00:48:14 +0200
|
||||
|
||||
|
||||
200
debian/patches/build-sys-use-glibc-s-xattr-support-instead-of-requi.patch
vendored
Normal file
200
debian/patches/build-sys-use-glibc-s-xattr-support-instead-of-requi.patch
vendored
Normal file
@ -0,0 +1,200 @@
|
||||
From bc3d33edd2b227c17ae338bf147067bdfafe299c Mon Sep 17 00:00:00 2001
|
||||
From: Kay Sievers <kay@vrfy.org>
|
||||
Date: Wed, 28 May 2014 17:36:40 +0800
|
||||
Subject: [PATCH] build-sys: use glibc's xattr support instead of requiring
|
||||
libattr
|
||||
|
||||
(cherry picked from commit d2edfae0f9bdbecf6a8518e2a5bcf06f470e0d9e)
|
||||
---
|
||||
configure.ac | 51 --------------------------------------------
|
||||
src/core/mount-setup.c | 2 --
|
||||
src/core/socket.c | 4 +---
|
||||
src/journal/journal-file.c | 7 +-----
|
||||
src/journal/journal-vacuum.c | 10 +--------
|
||||
5 files changed, 3 insertions(+), 71 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 9605b38..4b0b45b 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -468,44 +468,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 ;;
|
||||
@@ -514,18 +476,6 @@ 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
|
||||
- have_smack=yes
|
||||
- fi
|
||||
-fi
|
||||
-
|
||||
if test "x${have_smack}" = xyes ; then
|
||||
AC_DEFINE(HAVE_SMACK, 1, [Define if SMACK is available])
|
||||
fi
|
||||
@@ -1025,7 +975,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 cff83d3..12b7ed3 100644
|
||||
--- a/src/core/mount-setup.c
|
||||
+++ b/src/core/mount-setup.c
|
||||
@@ -87,10 +87,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,
|
||||
diff --git a/src/core/socket.c b/src/core/socket.c
|
||||
index 8e02c03..3bd4532 100644
|
||||
--- a/src/core/socket.c
|
||||
+++ b/src/core/socket.c
|
||||
@@ -28,9 +28,7 @@
|
||||
#include <signal.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <mqueue.h>
|
||||
-#ifdef HAVE_XATTR
|
||||
-#include <attr/xattr.h>
|
||||
-#endif
|
||||
+#include <sys/xattr.h>
|
||||
|
||||
#include "unit.h"
|
||||
#include "socket.h"
|
||||
diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
|
||||
index 2d2d289..010dda1 100644
|
||||
--- a/src/journal/journal-file.c
|
||||
+++ b/src/journal/journal-file.c
|
||||
@@ -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"
|
||||
@@ -2513,7 +2510,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,
|
||||
@@ -2528,7 +2524,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 695e518..442120a 100644
|
||||
--- a/src/journal/journal-vacuum.c
|
||||
+++ b/src/journal/journal-vacuum.c
|
||||
@@ -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) {
|
||||
--
|
||||
2.0.1
|
||||
|
||||
3
debian/patches/series
vendored
3
debian/patches/series
vendored
@ -478,6 +478,9 @@ Reset-signal-mask-on-re-exec-to-init.patch
|
||||
core-clean-up-signal-reset-logic-when-reexec.patch
|
||||
util-treat-fuse.sshfs-as-a-network-filesystem.patch
|
||||
|
||||
## Cherry-picked from trunk
|
||||
build-sys-use-glibc-s-xattr-support-instead-of-requi.patch
|
||||
|
||||
## Debian specific patches:
|
||||
Add-back-support-for-Debian-specific-config-files.patch
|
||||
Make-systemctl-enable-disable-call-update-rc.d-for-s.patch
|
||||
|
||||
Loading…
Reference in New Issue
Block a user