From 6eaf6b58a79966357ec56f6d1531511c86bca9a4 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 17 Aug 2026 18:24:55 +0000 Subject: [PATCH 1/2] Added retries to the rust downloads The rust component tarballs are downloaded with wget the same way as the protoc release asset, which failed a nightly with wget exit 8, a transient server error. Apply the same retry loop as in the protoc install script (#2426). (cherry picked from commit ede65b2776b1abb7450b61efc8237307b2c0dc40) --- ci/linux-install-rust.sh | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/ci/linux-install-rust.sh b/ci/linux-install-rust.sh index a3811a556..ebeb43ffa 100755 --- a/ci/linux-install-rust.sh +++ b/ci/linux-install-rust.sh @@ -53,7 +53,24 @@ install_rust() { name="$1" sha="$2" tarball="$name.tar.gz" - wget --quiet "$baseurl/$tarball" + + # Retry in case of transient errors. + tries=3 + while [ $tries -gt 0 ]; do + # -O keeps every attempt writing to the same file rather than adding a .1 suffix. + status=0 + wget --quiet -O "$tarball" "$baseurl/$tarball" || status=$? + if [ $status -eq 0 ]; then + break + fi + tries=$((tries - 1)) + sleep 10 + done + if [ $tries -eq 0 ]; then + echo "wget failed with status $status: $baseurl/$tarball" >&2 + exit 1 + fi + echo "$sha $tarball" | sha256sum --check - tar xf "$tarball" rm "$tarball" From dae682410f7e6d067b987d9be38807425c3bd04a Mon Sep 17 00:00:00 2001 From: Nick Anderson Date: Sat, 15 Aug 2026 10:48:43 -0500 Subject: [PATCH 2/2] Fixed /tmp remount running on build hosts that have no /tmp mount have_tmp_mount matched any mount path containing /tmp, so the /tmp/snap.rootfs_XXXXXX left behind by a failed snap install hook set the class and the remount aborted setup-cfengine-build-host.sh with "mount point not mounted". Ticket: None Changelog: none Co-Authored-By: Claude Opus 5 (1M context) (cherry picked from commit 7d801f5e33938cc37e8d16aab8355730066845c0) --- ci/cfengine-build-host-setup.cf | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ci/cfengine-build-host-setup.cf b/ci/cfengine-build-host-setup.cf index a8205af36..ceb93eb10 100644 --- a/ci/cfengine-build-host-setup.cf +++ b/ci/cfengine-build-host-setup.cf @@ -299,7 +299,10 @@ bundle agent cfengine_build_host_setup linux:: "have_tmp_mount" - expression => returnszero("mount | grep '/tmp'", "useshell"); + comment => "Match the mount point exactly, an unqualified '/tmp' also matches + mounts below it like the '/tmp/snap.rootfs_XXXXXX' that a failed + snap install hook leaves behind.", + expression => returnszero("mount | grep -E ' on /tmp '", "useshell"); "have_coredumpctl" expression => returnszero("command -v coredumpctl", "useshell");