fix(guix-1.5.0): split unstable mes hunks into dedicated patch and remove heuristic fallback logic

This commit is contained in:
vxtls 2026-03-04 22:36:54 -05:00
parent 4abc97da82
commit 5cea0ba08a
3 changed files with 78 additions and 54 deletions

View file

@ -2,6 +2,7 @@
src_prepare() {
local bootstrap_scm patch_template rendered_patch
local mes_patch_template rendered_mes_patch
default
@ -18,11 +19,17 @@ src_prepare() {
bootstrap_scm="gnu/packages/bootstrap.scm"
patch_template="${base_dir}/patches/bootstrap-local-seeds.patch.in"
rendered_patch="/tmp/guix-bootstrap-local-seeds.patch"
mes_patch_template="${base_dir}/patches/bootstrap-local-mes-extra.patch.in"
rendered_mes_patch="/tmp/guix-bootstrap-local-mes-extra.patch"
if [ ! -f "${patch_template}" ]; then
echo "Missing patch template: ${patch_template}" >&2
false
fi
if [ ! -f "${mes_patch_template}" ]; then
echo "Missing patch template: ${mes_patch_template}" >&2
false
fi
sed \
-e "s|@EXEC_BASH_HASH@|${EXEC_BASH_HASH}|g" \
@ -34,14 +41,23 @@ src_prepare() {
-e "s|@MES_MINIMAL_SEED_HASH@|${MES_MINIMAL_SEED_HASH}|g" \
-e "s|@MESCC_TOOLS_SEED_HASH@|${MESCC_TOOLS_SEED_HASH}|g" \
"${patch_template}" > "${rendered_patch}"
sed \
-e "s|@MES_MINIMAL_SEED_HASH@|${MES_MINIMAL_SEED_HASH}|g" \
-e "s|@MESCC_TOOLS_SEED_HASH@|${MESCC_TOOLS_SEED_HASH}|g" \
"${mes_patch_template}" > "${rendered_mes_patch}"
if grep -Eq '@[A-Z0-9_]+@' "${rendered_patch}"; then
echo "Unexpanded placeholder found in ${rendered_patch}" >&2
false
fi
if grep -Eq '@[A-Z0-9_]+@' "${rendered_mes_patch}"; then
echo "Unexpanded placeholder found in ${rendered_mes_patch}" >&2
false
fi
patch --dry-run -p1 < "${rendered_patch}"
patch -p1 < "${rendered_patch}"
patch --dry-run -p1 < "${rendered_mes_patch}"
patch -p1 < "${rendered_mes_patch}"
grep -q 'file:///external/distfiles/' "${bootstrap_scm}"
grep -q "${EXEC_BASH_HASH}" "${bootstrap_scm}"
@ -51,8 +67,12 @@ src_prepare() {
grep -q "${MESCC_TOOLS_SEED_HASH}" "${bootstrap_scm}"
grep -q "All bootstrap binaries must come from local, reproducible distfiles." "${bootstrap_scm}"
grep -q "%bootstrap-linux-headers-base-urls" "${bootstrap_scm}"
grep -q '^(define (bootstrap-mes-minimal-origin system)' "${bootstrap_scm}"
grep -q '^(define %bootstrap-mescc-tools' "${bootstrap_scm}"
grep -q "mes-minimal-stripped-0.19-i686-linux.tar.xz" "${bootstrap_scm}"
grep -q "mescc-tools-static-stripped-0.5.2-i686-linux.tar.xz" "${bootstrap_scm}"
grep -q '("mes-minimal" ,%bootstrap-mes-minimal)' "${bootstrap_scm}"
grep -q '("mescc-tools" ,%bootstrap-mescc-tools)' "${bootstrap_scm}"
grep -q "Offline bootstrap environment: require explicit channels." guix/channels.scm
}