diff --git a/scripts/build-farm.sh b/scripts/build-farm.sh index e3431b1d..13e77eeb 100755 --- a/scripts/build-farm.sh +++ b/scripts/build-farm.sh @@ -50,7 +50,13 @@ SELLADOS="${SELLADOS:-work/farm-sellados.txt}" if [ -s "$SELLADOS" ]; then saltadas=0; filtrada="" for f in $queue; do - n=$(basename "$f" .toml) + # ⚠ EL NOMBRE DEL ARTEFACTO ES EL CAMPO `name` DE LA RECETA, NO EL DEL FICHERO. Son distintos en + # 17 recetas del catálogo — el arquetipo es `recipes/incoming-kde/qtbase.toml`, cuyo `name` es + # `qt6-qtbase`, y el artefacto en el store se llama `-qt6-qtbase`. Usar el basename daba + # «no sellada» para las 17 y las habría mandado a reconstruir: exactamente el desperdicio que + # este filtro existe para evitar. (Lo tenía mal en la primera versión de este bloque.) + n=$(awk -F'"' '/^name[[:space:]]*=/{print $2; exit}' "$f") + [ -n "$n" ] || n=$(basename "$f" .toml) H=$("$HAMMER" --store "$STORE" hash "$f" 2>/dev/null | tail -1 | sed 's/^b3://') if [ -n "$H" ] && grep -qx "$H-$n" "$SELLADOS"; then saltadas=$((saltadas+1)); continue; fi filtrada="$filtrada $f"