diff options
author | Sam James <sam@gentoo.org> | 2022-01-24 23:18:08 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-01-24 23:18:25 +0000 |
commit | 067256ef4a116f738c502fd21a560445acbfd2a6 (patch) | |
tree | 199dfdca6bb592696a0aacf2863121fdad21c81d /sys-fs | |
parent | dev-python/lazy-object-proxy: Remove old (diff) | |
download | gentoo-067256ef4a116f738c502fd21a560445acbfd2a6.tar.gz gentoo-067256ef4a116f738c502fd21a560445acbfd2a6.tar.bz2 gentoo-067256ef4a116f738c502fd21a560445acbfd2a6.zip |
sys-fs/btrfs-progs: allow older linux-headers too w/ upstream patch
Bug: https://bugs.gentoo.org/831817
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-fs')
-rw-r--r-- | sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild | 6 | ||||
-rw-r--r-- | sys-fs/btrfs-progs/files/5.16-linux-headers-before-5.11.patch | 40 |
2 files changed, 45 insertions, 1 deletions
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild index bfedcff31bd3..015b81367170 100644 --- a/sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild +++ b/sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild @@ -45,7 +45,7 @@ RDEPEND=" zstd? ( app-arch/zstd:0= ) " DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-5.11 + >=sys-kernel/linux-headers-5.10 convert? ( sys-apps/acl ) python? ( $(python_gen_cond_dep ' @@ -79,6 +79,10 @@ fi REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +PATCHES=( + "${FILESDIR}"/5.16-linux-headers-before-5.11.patch +) + pkg_setup() { use python && python-single-r1_pkg_setup } diff --git a/sys-fs/btrfs-progs/files/5.16-linux-headers-before-5.11.patch b/sys-fs/btrfs-progs/files/5.16-linux-headers-before-5.11.patch new file mode 100644 index 000000000000..184656d96d22 --- /dev/null +++ b/sys-fs/btrfs-progs/files/5.16-linux-headers-before-5.11.patch @@ -0,0 +1,40 @@ +https://github.com/kdave/btrfs-progs/commit/b0cfe12c4d4b8b4ef335cdf4ddefcbdcd1b70d58.patch +https://bugs.gentoo.org/831817 + +From b0cfe12c4d4b8b4ef335cdf4ddefcbdcd1b70d58 Mon Sep 17 00:00:00 2001 +From: David Sterba <dsterba@suse.com> +Date: Thu, 13 Jan 2022 14:47:08 +0100 +Subject: [PATCH] btrfs-progs: kerncompat: add local definition for alignment + macros + +There's still problem left with compilation on musl and kernel < 5.11, +because __ALIGN_KERNEL is not defined anymore: + +../bin/ld: kernel-shared/volumes.o: in function `create_chunk': +volumes.c:(.text+0x17f8): undefined reference to `__ALIGN_KERNEL' + +Due to the entangled includes and unconditional definition of +__ALIGN_KERNEL, we can't use #ifdef in kerncompat.h to define it +eventually (as kerncompat.h is the first include). Instead add local +definitions of the macros and rename them to avoid name clashes. + +Pull-request: #433 +Signed-off-by: David Sterba <dsterba@suse.com> +--- a/kerncompat.h ++++ b/kerncompat.h +@@ -359,7 +359,14 @@ do { \ + + /* Alignment check */ + #define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0) +-#define ALIGN(x, a) __ALIGN_KERNEL((x), (a)) ++ ++/* ++ * Alignment, copied and renamed from /usr/include/linux/const.h to work around ++ * issues caused by moving the definition in 5.12 ++ */ ++#define __ALIGN_KERNEL__(x, a) __ALIGN_KERNEL_MASK__(x, (typeof(x))(a) - 1) ++#define __ALIGN_KERNEL_MASK__(x, mask) (((x) + (mask)) & ~(mask)) ++#define ALIGN(x, a) __ALIGN_KERNEL__((x), (a)) + + static inline int is_power_of_2(unsigned long n) + { |