diff --git a/services/wolf.sh b/services/wolf.sh index e40dd28..ce21bac 100644 --- a/services/wolf.sh +++ b/services/wolf.sh @@ -1753,7 +1753,17 @@ fuse scummvm" "autoconfig:$RA_CFG_DIR/autoconfig" \ "info:$CORES_DIR"; do pack="${pair%%:*}"; dest="${pair#*:}" - [ -d "$dest" ] && [ "$(ls -A "$dest" 2>/dev/null)" ] && [ "$FORCE" != "force" ] && continue + # "info" shares $CORES_DIR with the core .so files downloaded + # above, so "is the destination non-empty" is always true + # there and would skip this pack every time (confirmed + # live: exactly this made every .info file silently never + # install, breaking content-database extension matching for + # every core). Check for its own actual content instead. + if [ "$pack" = "info" ]; then + [ -n "$(ls "$dest"/*.info 2>/dev/null)" ] && [ "$FORCE" != "force" ] && continue + else + [ -d "$dest" ] && [ "$(ls -A "$dest" 2>/dev/null)" ] && [ "$FORCE" != "force" ] && continue + fi echo "Fetching $pack.zip..." tmp=$(mktemp) if curl -fsSL -o "$tmp" "$ASSETS_BASE/$pack.zip"; then