fix: widen recipe.toml auto-repair to cover recipes/ tree

Broken recipe.toml corruption also affects tracked symlinks in
recipes/ tree (e.g. recipes/libs/libxau/recipe.toml). Extended
the auto-repair find to cover both local/recipes/ and recipes/.
This commit is contained in:
2026-07-12 18:13:31 +03:00
parent 67bce0d534
commit fd90ce9fdd
+6 -5
View File
@@ -33,13 +33,14 @@ cd "$PROJECT_ROOT"
echo ">>> Build preflight: $CONFIG"
# Defensive: detect and repair broken recipe.toml symlinks in local/recipes/.
# These are tracked as regular files in git — a broken symlink means corruption.
broken_recipes=$(find local/recipes -name "recipe.toml" -xtype l 2>/dev/null | wc -l)
# Defensive: detect and repair broken recipe.toml symlinks.
# These are tracked files — broken symlinks mean corruption from unknown source.
# Check both local/recipes/ (regular files) and recipes/ (tracked symlinks).
broken_recipes=$(find local/recipes recipes -name "recipe.toml" -xtype l 2>/dev/null | wc -l)
if [ "$broken_recipes" -gt 0 ]; then
echo ">>> WARNING: $broken_recipes broken recipe.toml symlinks detected — auto-repairing from git..." >&2
find local/recipes -name "recipe.toml" -xtype l -exec git checkout -q -- {} \; 2>/dev/null
remaining=$(find local/recipes -name "recipe.toml" -xtype l 2>/dev/null | wc -l)
find local/recipes recipes -name "recipe.toml" -xtype l -exec git checkout -q -- {} \; 2>/dev/null
remaining=$(find local/recipes recipes -name "recipe.toml" -xtype l 2>/dev/null | wc -l)
if [ "$remaining" -gt 0 ]; then
echo ">>> ERROR: $remaining recipe.toml files could not be restored. Build may fail." >&2
else