mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
sys-fs/btrfs-progs: fix libbtrfs library, bug #613890
Two fixes are here: - fixed undefined symbols in libbtrfs.so.0 (__error symbol) - added missing 'sizes.h' kernel compatibility header. Reported-by: Denis Descheneaux Bug: https://bugs.gentoo.org/613890 Package-Manager: Portage-2.3.5, Repoman-2.3.2
This commit is contained in:
@@ -53,6 +53,11 @@ DEPEND="${RDEPEND}
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-messages.patch
|
||||
"${FILESDIR}"/${P}-fix-headers.patch
|
||||
)
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
DEPEND+=" sys-devel/gnuconfig"
|
||||
fi
|
||||
32
sys-fs/btrfs-progs/files/btrfs-progs-4.10-fix-headers.patch
Normal file
32
sys-fs/btrfs-progs/files/btrfs-progs-4.10-fix-headers.patch
Normal file
@@ -0,0 +1,32 @@
|
||||
Add missing 'sizes.h' header install.
|
||||
|
||||
Noticed on snapper build failure:
|
||||
In file included from btrfs/send-utils.h:28:0,
|
||||
from BtrfsUtils.cc:36:
|
||||
btrfs/ctree.h:37:25: fatal error: linux/sizes.h: No such file or directory
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 05a5d06..fb1cfd6 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -108,7 +108,7 @@ libbtrfs_objects = send-stream.o send-utils.o kernel-lib/rbtree.o btrfs-list.o \
|
||||
uuid-tree.o utils-lib.o rbtree-utils.o
|
||||
libbtrfs_headers = send-stream.h send-utils.h send.h kernel-lib/rbtree.h btrfs-list.h \
|
||||
kernel-lib/crc32c.h kernel-lib/list.h kerncompat.h \
|
||||
- kernel-lib/radix-tree.h extent-cache.h \
|
||||
+ kernel-lib/radix-tree.h kernel-lib/sizes.h extent-cache.h \
|
||||
extent_io.h ioctl.h ctree.h btrfsck.h version.h
|
||||
convert_objects = convert/main.o convert/common.o convert/source-fs.o \
|
||||
convert/source-ext2.o
|
||||
diff --git a/ctree.h b/ctree.h
|
||||
index 1d0622d..c8f771b 100644
|
||||
--- a/ctree.h
|
||||
+++ b/ctree.h
|
||||
@@ -34,7 +34,7 @@
|
||||
#include <btrfs/extent-cache.h>
|
||||
#include <btrfs/extent_io.h>
|
||||
#include <btrfs/ioctl.h>
|
||||
-#include <linux/sizes.h>
|
||||
+#include <btrfs/sizes.h>
|
||||
#endif /* BTRFS_FLAT_INCLUDES */
|
||||
|
||||
struct btrfs_root;
|
||||
34
sys-fs/btrfs-progs/files/btrfs-progs-4.10-messages.patch
Normal file
34
sys-fs/btrfs-progs/files/btrfs-progs-4.10-messages.patch
Normal file
@@ -0,0 +1,34 @@
|
||||
Fix missing __error symbol in libbtrfs.so.0.
|
||||
|
||||
The easiest way to reproduce it is to try to build
|
||||
btrfs-progs with LDFLAGS=-Wl,--no-undefined :
|
||||
|
||||
btrfs-list.o: In function `lookup_ino_path':
|
||||
btrfs-list.c:(.text+0x7d2): undefined reference to `__error'
|
||||
|
||||
Reported-by: Denis Descheneaux
|
||||
Bug: https://bugs.gentoo.org/show_bug.cgi?id=613890
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 67fbc48..05a5d06 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -97,3 +97,3 @@ objects = ctree.o disk-io.o kernel-lib/radix-tree.o extent-tree.o print-tree.o \
|
||||
inode.o file.o find-root.o free-space-tree.o help.o send-dump.o \
|
||||
- fsfeatures.o messages.o
|
||||
+ fsfeatures.o
|
||||
cmds_objects = cmds-subvolume.o cmds-filesystem.o cmds-device.o cmds-scrub.o \
|
||||
@@ -106,3 +106,3 @@ cmds_objects = cmds-subvolume.o cmds-filesystem.o cmds-device.o cmds-scrub.o \
|
||||
libbtrfs_objects = send-stream.o send-utils.o kernel-lib/rbtree.o btrfs-list.o \
|
||||
- kernel-lib/crc32c.o \
|
||||
+ kernel-lib/crc32c.o messages.o \
|
||||
uuid-tree.o utils-lib.o rbtree-utils.o
|
||||
@@ -448,3 +448,3 @@ test-ioctl: ioctl-test ioctl-test-32 ioctl-test-64
|
||||
|
||||
-library-test: library-test.o messages.o $(libs_shared)
|
||||
+library-test: library-test.o $(libs_shared)
|
||||
@echo " [LD] $@"
|
||||
@@ -454,3 +454,3 @@ library-test: library-test.o messages.o $(libs_shared)
|
||||
|
||||
-library-test.static: library-test.static.o messages.static.o $(libs_static)
|
||||
+library-test.static: library-test.static.o $(libs_static)
|
||||
@echo " [LD] $@"
|
||||
Reference in New Issue
Block a user