Skip to content

Default BR2_PACKAGE_GLUSTER to n (no) for Buildroot Minikube iso build or build newer gluster version #21441

@chrisjsimpson

Description

@chrisjsimpson

People following https://minikube.sigs.k8s.io/docs/contrib/building/iso/ on newer distros (even using docker) will hit a python2 dependecy. At first I thought this was a minkube build process dependency , but eventually became clear it's the version of Gluster we attempt to build in which is so old it depends on python2.

Looking round corners- when the runner in update-iso-image-versions.yml gets bumped from ubuntu-22.04 to ubuntu-24.04 or ubuntu-latest

checking whether /usr/bin/python2 version >= 2.6... configure: error: too old
make[2]: *** [package/pkg-generic.mk:263: /home/minikub-build/minikube/out/buildroot/output-x86_64/build/gluster-4.1.5/.stamp_configured] Error 127
make[1]: *** [Makefile:83: _all] Error 2
make[1]: Leaving directory '/home/minikub-build/minikube/out/buildroot'
make: *** [Makefile:306: minikube-iso-x86_64] Error 2

Related: #20830

🤔* this is more/also a gluster issue than anything else. Should we instead change BR2_PACKAGE_GLUSTER default to n since it appears to require python2 (package newer version of gluster)? minikube iso currently instructs Buildroot to build a very old 4.1.5 version the next version up is a [major though (5)[(https://docs.gluster.org/en/main/release-notes/) which may or may not be compoatible with CSI

git diff deploy/iso/minikube-iso/package/gluster/Config.in 
diff --git a/deploy/iso/minikube-iso/package/gluster/Config.in b/deploy/iso/minikube-iso/package/gluster/Config.in
index cc5f3b540..124d9bd16 100644
--- a/deploy/iso/minikube-iso/package/gluster/Config.in
+++ b/deploy/iso/minikube-iso/package/gluster/Config.in
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_GLUSTER
        bool "gluster"
-       default y
+       default n
        select BR2_PACKAGE_LIBURCU
        select BR2_PACKAGE_LIBXML2
        help

With the above (disabling gluster from being built-in), one gets a sucessful build of minikube iso:

# x86_64 ISO is still BIOS rather than EFI because of AppArmor issues for KVM, and Gen 2 issues for Hyper-V
if [ "x86_64" = "aarch64" ]; then \
                mv /home/minikub-build/minikube/out/buildroot/output-aarch64/images/boot.iso /home/minikub-build/minikube/out/minikube-arm64.iso; \
        else \
                mv /home/minikub-build/minikube/out/buildroot/output-x86_64/images/rootfs.iso9660 /home/minikub-build/minikube/out/minikube-amd64.iso; \
        fi;
rm deploy/iso/minikube-iso/board/minikube/x86_64/rootfs-overlay/usr/bin/auto-pause
minikub-build@minikube-build:~/minikube$ echo $?
0
minikub-build@minikube-build:~/minikube$ cat /etc/os-release 
PRETTY_NAME="Ubuntu 24.04.3 LTS"
...
file out/minikube-amd64.iso 
out/minikube-amd64.iso: ISO 9660 CD-ROM filesystem data 'ISOIMAGE' (bootable)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions