From d9f9f132bc10db7823631c5dff2986ae66ac922a Mon Sep 17 00:00:00 2001 From: Zach van Rijn Date: Tue, 10 Dec 2024 07:32:52 -0600 Subject: bootstrap: update mcmtools for non-interactive builds. The goal of this project is to have a one-click bootstrap script that will produce a tarball suitable for bootstrapping. It must not hang or require interactivity. The mcmtools 'bootstrap' script will hang in certain cross-endian QEMU user environments, such as this project. The hang occurs in the 'getifaddrs()' function, which only used by curl's configure script to gate one unimportant thing. Without this update (see upstream commit for more details), one would need to kill the stuck conftest to the same end. Upstream is the cleanest (but not correct) place to implement this workaround. Other options were considered, such as to watch for various processes or conditions, or to LD_PRELOAD, etc. etc. and all seemed flaky. The rootfs tarball images can now be created without killing the stuck conftest. After this QEMU issue is resolved: * https://gitlab.com/qemu-project/qemu/-/issues/2485 Then this project can update QEMU appropriately and upstream mcmtools can subsequently remove the kludge. --- bootstrap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bootstrap b/bootstrap index ad14dc8..bb0e267 100755 --- a/bootstrap +++ b/bootstrap @@ -410,7 +410,7 @@ if ! test -d "${MTOOLS}"/sys/emus/bin; then # FIXME: no hard code test -d bootstrap \ || git clone ${CHAINS}/bootstrap.git; cd bootstrap; - git checkout 4a1313497953f31a9ecfd3a2f82b24e92b845789; + git checkout 8a3ed8c226d7da1cee375d95c3b0232f7b5700ac; ## seed rootfs # -- cgit v1.2.3-70-g09d2