diff mbox series

[1/1] package/docker-engine: fix btrfs handling

Message ID 20240321211456.510333-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [1/1] package/docker-engine: fix btrfs handling | expand

Commit Message

Fabrice Fontaine March 21, 2024, 9:14 p.m. UTC
btrfs doesn't depend on btrfs-progs but on headers >= 4.12 since bump to
version 24.0.2 in commit 314f62eda347ba02b4688ac94c6bab55b4a4d6c9 and
https://github.com/moby/moby/commit/3208dcabdc8997340b255f5b880fef4e3f54580d
resulting in the following build failure:

daemon/graphdriver/btrfs/btrfs.go:13:6: error: #error "Headers from kernel >= 4.12 are required to build with Btrfs support."
     #error "Headers from kernel >= 4.12 are required to build with Btrfs support."
      ^~~~~
daemon/graphdriver/btrfs/btrfs.go:14:6: error: #error "HINT: Set 'DOCKER_BUILDTAGS=exclude_graphdriver_btrfs' to build without Btrfs."
     #error "HINT: Set 'DOCKER_BUILDTAGS=exclude_graphdriver_btrfs' to build without Btrfs."
      ^~~~~
daemon/graphdriver/btrfs/btrfs.go:18:10: fatal error: linux/btrfs_tree.h: No such file or directory
 #include <linux/btrfs_tree.h>
          ^~~~~~~~~~~~~~~~~~~~

Fixes: 314f62eda347ba02b4688ac94c6bab55b4a4d6c9
 - http://autobuild.buildroot.org/results/7d07eba37149d341dc86f9742bd166de874dcd5e

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/docker-engine/Config.in        | 7 ++++---
 package/docker-engine/docker-engine.mk | 4 +---
 2 files changed, 5 insertions(+), 6 deletions(-)

Comments

Peter Korsgaard March 23, 2024, 12:48 p.m. UTC | #1
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:

 > btrfs doesn't depend on btrfs-progs but on headers >= 4.12 since bump to
 > version 24.0.2 in commit 314f62eda347ba02b4688ac94c6bab55b4a4d6c9 and
 > https://github.com/moby/moby/commit/3208dcabdc8997340b255f5b880fef4e3f54580d
 > resulting in the following build failure:

 > daemon/graphdriver/btrfs/btrfs.go:13:6: error: #error "Headers from kernel >= 4.12 are required to build with Btrfs support."
 >      #error "Headers from kernel >= 4.12 are required to build with Btrfs support."
 >       ^~~~~
 > daemon/graphdriver/btrfs/btrfs.go:14:6: error: #error "HINT: Set 'DOCKER_BUILDTAGS=exclude_graphdriver_btrfs' to build without Btrfs."
 >      #error "HINT: Set 'DOCKER_BUILDTAGS=exclude_graphdriver_btrfs' to build without Btrfs."
 >       ^~~~~
 > daemon/graphdriver/btrfs/btrfs.go:18:10: fatal error: linux/btrfs_tree.h: No such file or directory
 >  #include <linux/btrfs_tree.h>
 >           ^~~~~~~~~~~~~~~~~~~~

 > Fixes: 314f62eda347ba02b4688ac94c6bab55b4a4d6c9
 >  - http://autobuild.buildroot.org/results/7d07eba37149d341dc86f9742bd166de874dcd5e

 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Committed, thanks.
Peter Korsgaard March 25, 2024, 7:30 a.m. UTC | #2
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:

 > btrfs doesn't depend on btrfs-progs but on headers >= 4.12 since bump to
 > version 24.0.2 in commit 314f62eda347ba02b4688ac94c6bab55b4a4d6c9 and
 > https://github.com/moby/moby/commit/3208dcabdc8997340b255f5b880fef4e3f54580d
 > resulting in the following build failure:

 > daemon/graphdriver/btrfs/btrfs.go:13:6: error: #error "Headers from kernel >= 4.12 are required to build with Btrfs support."
 >      #error "Headers from kernel >= 4.12 are required to build with Btrfs support."
 >       ^~~~~
 > daemon/graphdriver/btrfs/btrfs.go:14:6: error: #error "HINT: Set 'DOCKER_BUILDTAGS=exclude_graphdriver_btrfs' to build without Btrfs."
 >      #error "HINT: Set 'DOCKER_BUILDTAGS=exclude_graphdriver_btrfs' to build without Btrfs."
 >       ^~~~~
 > daemon/graphdriver/btrfs/btrfs.go:18:10: fatal error: linux/btrfs_tree.h: No such file or directory
 >  #include <linux/btrfs_tree.h>
 >           ^~~~~~~~~~~~~~~~~~~~

 > Fixes: 314f62eda347ba02b4688ac94c6bab55b4a4d6c9
 >  - http://autobuild.buildroot.org/results/7d07eba37149d341dc86f9742bd166de874dcd5e

 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Committed to 2024.02.x and 2023.11.x, thanks.
diff mbox series

Patch

diff --git a/package/docker-engine/Config.in b/package/docker-engine/Config.in
index 71bf670f17..d48ffe6484 100644
--- a/package/docker-engine/Config.in
+++ b/package/docker-engine/Config.in
@@ -21,12 +21,13 @@  if BR2_PACKAGE_DOCKER_ENGINE
 
 config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS
 	bool "btrfs filesystem driver"
-	depends on BR2_USE_MMU # btrfs-progs
-	depends on BR2_TOOLCHAIN_HAS_THREADS # btrfs-progs
-	select BR2_PACKAGE_BTRFS_PROGS
+	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
 	help
 	  Build the btrfs filesystem driver for Docker.
 
+comment "brtfs filesystem driver needs headers >= 4.12"
+	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12
+
 config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_DEVICEMAPPER
 	bool "devicemapper filesystem driver"
 	depends on BR2_TOOLCHAIN_HAS_THREADS # lvm2
diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk
index 9746093ffe..d25712d0ef 100644
--- a/package/docker-engine/docker-engine.mk
+++ b/package/docker-engine/docker-engine.mk
@@ -35,9 +35,7 @@  DOCKER_ENGINE_DEPENDENCIES += systemd
 DOCKER_ENGINE_TAGS += systemd journald
 endif
 
-ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS),y)
-DOCKER_ENGINE_DEPENDENCIES += btrfs-progs
-else
+ifneq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS),y)
 DOCKER_ENGINE_TAGS += exclude_graphdriver_btrfs
 endif