fix: auto-repair broken recipe.toml symlinks in build preflight
Detects broken recipe.toml symlinks in local/recipes/ (self-referencing corruption from unknown source) and auto-restores from git before build. Prevents 'Package not found' errors when recipe.toml files are unreadable.
This commit is contained in:
@@ -33,6 +33,20 @@ 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)
|
||||
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)
|
||||
if [ "$remaining" -gt 0 ]; then
|
||||
echo ">>> ERROR: $remaining recipe.toml files could not be restored. Build may fail." >&2
|
||||
else
|
||||
echo ">>> Repaired: all recipe.toml files restored from git."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -x "$SCRIPT_DIR/verify-overlay-integrity.sh" ]; then
|
||||
if ! "$SCRIPT_DIR/verify-overlay-integrity.sh" --quiet; then
|
||||
echo ">>> Preflight note: overlay integrity script reported legacy issues; continuing with build-focused checks."
|
||||
|
||||
Reference in New Issue
Block a user