Skip to contentSkip to conversation

btrfs-progs: bump to version 4.16

PATCH New Baruch Siach 2 participants 4 messages Apr 11, 2018 – Apr 12, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 btrfs-progs: bump to version 4.16

Drop upstream patch.

Add a patch for fixing static build.

Add license information about the newly introduced libbtrfsutil.

Disable the libbtrfsutil python binding. It does not cross compile nicely.

---
 ...stall-static-library-and-headers-in-insta.patch |  4 ++-
 ...-convert-ext2-Remove-check-for-ext2_ext_a.patch | 38 ---------------------
 .../0003-btrfs.static-needs-libbtrfsutil.patch     | 39 ++++++++++++++++++++++
 package/btrfs-progs/btrfs-progs.hash               |  4 ++-
 package/btrfs-progs/btrfs-progs.mk                 |  9 ++---
 5 files changed, 50 insertions(+), 44 deletions(-)
 delete mode 100644 package/btrfs-progs/0003-btrfs-progs-convert-ext2-Remove-check-for-ext2_ext_a.patch
 create mode 100644 package/btrfs-progs/0003-btrfs.static-needs-libbtrfsutil.patch
package/btrfs-progs/0001-Makefile-install-static-library-and-headers-in-insta.patch +3 -1
index ba65ac418554..1cdedfd98428 100644
@@ -16,6 +16,8 @@ Signed-off-by: Thomas Petazzoni <[email protected]>
 Signed-off-by: Gustavo Zacarias <[email protected]>
 [Vincent: Rebase for btrfs-progs 4.10]
 Signed-off-by: Vicente Olivert Riera <[email protected]>
+[baruch: Rebase for btrfs-progs 4.16]
+Signed-off-by: Baruch Siach <[email protected]>
 ---
  Makefile | 6 +++++-
  1 file changed, 5 insertions(+), 1 deletion(-)
@@ -40,7 +42,7 @@ index 67fbc48..d9e34be 100644
 +	$(INSTALL) -m755 -d $(DESTDIR)$(libdir)
 +	$(INSTALL) $(libs_static) $(DESTDIR)$(libdir)
 +	$(INSTALL) -m755 -d $(DESTDIR)$(incdir)
-+	$(INSTALL) -m644 $(headers) $(DESTDIR)$(incdir)
++	$(INSTALL) -m644 $(libbtrfs_headers) $(DESTDIR)$(incdir)
  
  $(INSTALLDIRS):
  	@echo "Making install in $(patsubst install-%,%,$@)"
package/btrfs-progs/0003-btrfs-progs-convert-ext2-Remove-check-for-ext2_ext_a.patch deleted +0 -38
deleted file mode 100644
index cb92837d21ef..000000000000
@@ -1,38 +0,0 @@
-From 3dd9cc2b2411a691f321c01a91bcdac42d476150 Mon Sep 17 00:00:00 2001
-From: Qu Wenruo <[email protected]>
-Date: Wed, 14 Mar 2018 08:56:57 +0800
-Subject: [PATCH] btrfs-progs: convert/ext2: Remove check for
- ext2_ext_attr_entry->e_value_block
-
-In latest e2fsprogs (1.44.0) definition of ext2_ext_attr_entry has
-removed member e_value_block, as currently ext* doesn't support it set
-anyway.
-
-So remove such check so that we can pass compile.
-
-Signed-off-by: Qu Wenruo <[email protected]>
-Signed-off-by: Baruch Siach <[email protected]>
----
-Upstream status: https://patchwork.kernel.org/patch/10281327/ (applied; not
-yet in git)
-
- convert/source-ext2.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/convert/source-ext2.c b/convert/source-ext2.c
-index b1492c78693d..070126ec38ec 100644
---- a/convert/source-ext2.c
-+++ b/convert/source-ext2.c
-@@ -422,8 +422,7 @@ static int ext2_xattr_check_entry(struct ext2_ext_attr_entry *entry,
- {
- 	size_t value_size = entry->e_value_size;
- 
--	if (entry->e_value_block != 0 || value_size > size ||
--	    entry->e_value_offs + value_size > size)
-+	if (value_size > size || entry->e_value_offs + value_size > size)
- 		return -EIO;
- 	return 0;
- }
--- 
-2.16.2
-
package/btrfs-progs/0003-btrfs.static-needs-libbtrfsutil.patch new file +39 -0
new file mode 100644
index 000000000000..30ab75ae5733
@@ -0,0 +1,39 @@
+From 5023fdf9a4524106ef6fe1d0fdd75ade16dec62c Mon Sep 17 00:00:00 2001
+From: Baruch Siach <[email protected]>
+Date: Tue, 10 Apr 2018 22:56:31 +0300
+Subject: [PATCH] btrfs.static: needs libbtrfsutil
+
+Add libbtrfsutil objects to btrfs.static link command. This fixes static
+build failure:
+
+utils.static.o: In function `parse_qgroupid':
+utils.c:(.text.parse_qgroupid+0xb0): undefined reference to `btrfs_util_is_subvolume'
+props.static.o: In function `prop_read_only':
+props.c:(.text.prop_read_only+0x70): undefined reference to `btrfs_util_set_subvolume_read_only'
+...
+Makefile:457: recipe for target 'btrfs.static' failed
+make[1]: *** [btrfs.static] Error 1
+
+Signed-off-by: Baruch Siach <[email protected]>
+---
+Upstream status: https://patchwork.kernel.org/patch/10333795/
+
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 5ba76d2eee40..9b97c36a44a5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -453,7 +453,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) $(libbtrfsutil_objects)
+ 	@echo "    [LD]     $@"
+ 	$(Q)$(CC) -o $@ $^ $(STATIC_LDFLAGS) $(STATIC_LIBS) $(STATIC_LIBS_COMP)
+ 
+-- 
+2.16.3
+
package/btrfs-progs/btrfs-progs.hash +3 -1
index 54d34c919156..79aee129f788 100644
@@ -1,4 +1,6 @@
 # From https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/sha256sums.asc
-sha256 67102ac0d6795f368acc94efaca29b6626d972638790a4a0c9f89a27cd543f96  btrfs-progs-v4.15.1.tar.xz
+sha256 f3e0ec4864b7b89db1a6a36fa48bf8a9217117714a04b13c84d0fea1eac154b2  btrfs-progs-v4.16.tar.xz
 # Locally computed
 sha256 0d5bf346df9e635a29dcdddf832dc5b002ca6cdc1c5c9c6c567d2a61bb0c5c15  COPYING
+sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986  libbtrfsutil/COPYING
+sha256 e3a994d82e644b03a792a930f574002658412f62407f5fee083f2555c5f23118  libbtrfsutil/COPYING.LESSER
package/btrfs-progs/btrfs-progs.mk +5 -4
index 776a3ef84154..ec2eae707ca5 100644
@@ -4,13 +4,14 @@
 #
 ################################################################################
 
-BTRFS_PROGS_VERSION = 4.15.1
+BTRFS_PROGS_VERSION = 4.16
 BTRFS_PROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/kdave/btrfs-progs
 BTRFS_PROGS_SOURCE = btrfs-progs-v$(BTRFS_PROGS_VERSION).tar.xz
 BTRFS_PROGS_DEPENDENCIES = host-pkgconf e2fsprogs lzo util-linux zlib
-BTRFS_PROGS_CONF_OPTS = --disable-backtrace --disable-zstd
-BTRFS_PROGS_LICENSE = GPL-2.0
-BTRFS_PROGS_LICENSE_FILES = COPYING
+BTRFS_PROGS_CONF_OPTS = --disable-backtrace --disable-zstd --disable-python
+BTRFS_PROGS_LICENSE = GPL-2.0, LGPL-3.0+ (libbtrfsutil)
+BTRFS_PROGS_LICENSE_FILES = COPYING libbtrfsutil/COPYING \
+	libbtrfsutil/COPYING.LESSER
 BTRFS_PROGS_INSTALL_STAGING = YES
 
 # Doesn't autodetect static-only and tries to build both
Signature · 1 line
2.16.3
#1 lore raw

PATCH 1/1 btrfs-progs: bump to version 4.16

Hello,

Quoted 10 lines · Baruch Siach

Drop upstream patch.

Add a patch for fixing static build.

Add license information about the newly introduced libbtrfsutil.

Disable the libbtrfsutil python binding. It does not cross compile nicely.

Thanks for this update. One question below.

package/btrfs-progs/btrfs-progs.mk line 12

Quoted 10 lines
package/btrfs-progs/btrfs-progs.mk +3 -4
-BTRFS_PROGS_VERSION = 4.15.1
+BTRFS_PROGS_VERSION = 4.16
 BTRFS_PROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/kdave/btrfs-progs
 BTRFS_PROGS_SOURCE = btrfs-progs-v$(BTRFS_PROGS_VERSION).tar.xz
 BTRFS_PROGS_DEPENDENCIES = host-pkgconf e2fsprogs lzo util-linux zlib
-BTRFS_PROGS_CONF_OPTS = --disable-backtrace --disable-zstd
-BTRFS_PROGS_LICENSE = GPL-2.0
-BTRFS_PROGS_LICENSE_FILES = COPYING
+BTRFS_PROGS_CONF_OPTS = --disable-backtrace --disable-zstd --disable-python
+BTRFS_PROGS_LICENSE = GPL-2.0, LGPL-3.0+ (libbtrfsutil)

Does this means that using the btrfs utilities now requires having a LGPLv3 library on the target ?

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#2 lore raw

PATCH 1/1 btrfs-progs: bump to version 4.16

Hi Thomas,

Quoted 14 lines · Thomas Petazzoni
Quoted 10 lines · Baruch Siach

Drop upstream patch.

Add a patch for fixing static build.

Add license information about the newly introduced libbtrfsutil.

Disable the libbtrfsutil python binding. It does not cross compile nicely.

Thanks for this update. One question below.

Quoted 13 lines

package/btrfs-progs/btrfs-progs.mk line 12

Quoted 10 lines
package/btrfs-progs/btrfs-progs.mk +3 -4
-BTRFS_PROGS_VERSION = 4.15.1
+BTRFS_PROGS_VERSION = 4.16
 BTRFS_PROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/kdave/btrfs-progs
 BTRFS_PROGS_SOURCE = btrfs-progs-v$(BTRFS_PROGS_VERSION).tar.xz
 BTRFS_PROGS_DEPENDENCIES = host-pkgconf e2fsprogs lzo util-linux zlib
-BTRFS_PROGS_CONF_OPTS = --disable-backtrace --disable-zstd
-BTRFS_PROGS_LICENSE = GPL-2.0
-BTRFS_PROGS_LICENSE_FILES = COPYING
+BTRFS_PROGS_CONF_OPTS = --disable-backtrace --disable-zstd --disable-python
+BTRFS_PROGS_LICENSE = GPL-2.0, LGPL-3.0+ (libbtrfsutil)

Does this means that using the btrfs utilities now requires having a LGPLv3 library on the target ?

So it seems. The v4.16 announcement[1] reads:

* libbtrfsutil - new LGPL library to wrap userspace functionality
* several 'btrfs' commands converted to use it:
* properties
* filesystem sync
* subvolume set-default/get-default/delete/show/sync
* python bindings, tests

Maybe not all btrfs utilities require this library in this release, but it looks like the plan is to increase its usage over time.

[1] https://www.spinics.net/lists/linux-btrfs/msg76613.html

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#3 lore raw

PATCH 1/1 btrfs-progs: bump to version 4.16

In reply to Baruch Siach

Hello,

Quoted 10 lines · Baruch Siach

Drop upstream patch.

Add a patch for fixing static build.

Add license information about the newly introduced libbtrfsutil.

Disable the libbtrfsutil python binding. It does not cross compile nicely.

Quoted 9 lines
---
 ...stall-static-library-and-headers-in-insta.patch |  4 ++-
 ...-convert-ext2-Remove-check-for-ext2_ext_a.patch | 38 ---------------------
 .../0003-btrfs.static-needs-libbtrfsutil.patch     | 39 ++++++++++++++++++++++
 package/btrfs-progs/btrfs-progs.hash               |  4 ++-
 package/btrfs-progs/btrfs-progs.mk                 |  9 ++---
 5 files changed, 50 insertions(+), 44 deletions(-)
 delete mode 100644 package/btrfs-progs/0003-btrfs-progs-convert-ext2-Remove-check-for-ext2_ext_a.patch
 create mode 100644 package/btrfs-progs/0003-btrfs.static-needs-libbtrfsutil.patch

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com