sys-fs/btrfs-progs: fix btrfs.static linking, bug #652966
authorSergei Trofimovich <slyfox@gentoo.org>
Thu, 12 Apr 2018 09:41:38 +0000 (10:41 +0100)
committerSergei Trofimovich <slyfox@gentoo.org>
Thu, 12 Apr 2018 09:41:58 +0000 (10:41 +0100)
btrfs.static was not linked against internal libbtrfsutil:
    https://www.spinics.net/lists/linux-btrfs/msg76763.html
This caused link failure due to unresolved symbols.

Reported-by: Attila Tóth
Closes: https://bugs.gentoo.org/652966
Package-Manager: Portage-2.3.28, Repoman-2.3.9

sys-fs/btrfs-progs/btrfs-progs-4.16.ebuild
sys-fs/btrfs-progs/files/btrfs-progs-4.16-static-linkage.patch [new file with mode: 0644]

index 0936ade759107be00e3a26c74645bb56cbe84125..8d3f9db2dd2ddc47fa0b1000de4f959474dde30f 100644 (file)
@@ -72,6 +72,10 @@ fi
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
+PATCHES=(
+       "${FILESDIR}"/${P}-static-linkage.patch
+)
+
 pkg_setup() {
        use python && python-single-r1_pkg_setup
 }
diff --git a/sys-fs/btrfs-progs/files/btrfs-progs-4.16-static-linkage.patch b/sys-fs/btrfs-progs/files/btrfs-progs-4.16-static-linkage.patch
new file mode 100644 (file)
index 0000000..b8a7d8b
--- /dev/null
@@ -0,0 +1,27 @@
+https://www.spinics.net/lists/linux-btrfs/msg76763.html
+Reported-by: Attila Tóth
+Bug: https://bugs.gentoo.org/652966
+diff --git a/Makefile b/Makefile
+index 5ba76d2..dc3a31a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -264,6 +264,7 @@ static_libbtrfs_objects = $(patsubst %.o, %.static.o, $(libbtrfs_objects))
+ static_convert_objects = $(patsubst %.o, %.static.o, $(convert_objects))
+ static_mkfs_objects = $(patsubst %.o, %.static.o, $(mkfs_objects))
+ static_image_objects = $(patsubst %.o, %.static.o, $(image_objects))
++static_libbtrfsutil_objects = $(patsubst %.o, %.static.o, $(libbtrfsutil_objects))
+ libs_shared = libbtrfs.so.0.1 libbtrfsutil.so.$(libbtrfsutil_version)
+ libs_static = libbtrfs.a libbtrfsutil.a
+@@ -453,7 +454,7 @@ btrfs: btrfs.o $(objects) $(cmds_objects) $(libs_static)
+       @echo "    [LD]     $@"
+       $(Q)$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) $(LIBS_COMP)
+-btrfs.static: btrfs.static.o $(static_objects) $(static_cmds_objects) $(static_libbtrfs_objects)
++btrfs.static: btrfs.static.o $(static_objects) $(static_cmds_objects) $(static_libbtrfs_objects) $(static_libbtrfsutil_objects)
+       @echo "    [LD]     $@"
+       $(Q)$(CC) -o $@ $^ $(STATIC_LDFLAGS) $(STATIC_LIBS) $(STATIC_LIBS_COMP)
+-- 
+2.17.0
+