summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2017-03-27 21:44:55 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2017-03-27 21:45:35 +0100
commita061e9c01024a2b9890cacb0a159e646463553bb (patch)
treed699ed31f53a8b1e366d285cfb87feb3f5ceed2d
parentmail-client/claws-mail: Mark ~hppa (bug #614064). (diff)
downloadgentoo-a061e9c01024a2b9890cacb0a159e646463553bb.tar.gz
gentoo-a061e9c01024a2b9890cacb0a159e646463553bb.tar.bz2
gentoo-a061e9c01024a2b9890cacb0a159e646463553bb.zip
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
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-4.10-r1.ebuild (renamed from sys-fs/btrfs-progs/btrfs-progs-4.10.ebuild)5
-rw-r--r--sys-fs/btrfs-progs/files/btrfs-progs-4.10-fix-headers.patch32
-rw-r--r--sys-fs/btrfs-progs/files/btrfs-progs-4.10-messages.patch34
3 files changed, 71 insertions, 0 deletions
diff --git a/sys-fs/btrfs-progs/btrfs-progs-4.10.ebuild b/sys-fs/btrfs-progs/btrfs-progs-4.10-r1.ebuild
index 397d271d38c9..663141c94091 100644
--- a/sys-fs/btrfs-progs/btrfs-progs-4.10.ebuild
+++ b/sys-fs/btrfs-progs/btrfs-progs-4.10-r1.ebuild
@@ -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
diff --git a/sys-fs/btrfs-progs/files/btrfs-progs-4.10-fix-headers.patch b/sys-fs/btrfs-progs/files/btrfs-progs-4.10-fix-headers.patch
new file mode 100644
index 000000000000..414c0995e411
--- /dev/null
+++ b/sys-fs/btrfs-progs/files/btrfs-progs-4.10-fix-headers.patch
@@ -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;
diff --git a/sys-fs/btrfs-progs/files/btrfs-progs-4.10-messages.patch b/sys-fs/btrfs-progs/files/btrfs-progs-4.10-messages.patch
new file mode 100644
index 000000000000..afcc27896f61
--- /dev/null
+++ b/sys-fs/btrfs-progs/files/btrfs-progs-4.10-messages.patch
@@ -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] $@"