wolf: fix info.zip pack never actually installing (broke content matching for every core)

Confirmed live: RetroArch's file browser and directory-scan importer both
failed to recognize SNES ROMs (.sfc) even though the ROM files and the
snes9x core .so were both genuinely present and correctly mounted — the
core's own .info file (which declares supported_extensions) was never
actually installed, because the "already present, skip" check for the
info.zip pack was "is $CORES_DIR non-empty", and $CORES_DIR is always
non-empty by the time that check runs (the core .so files fill it first,
earlier in the same `cores all` run). So the info-pack fetch silently
no-op'd on every single install, fresh or not — not specific to this
laptop.

Give "info" its own real check: does $CORES_DIR actually contain any
*.info files, not just anything at all.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VLX1yYKJExGSXmgUhxKQG6
This commit is contained in:
Claude
2026-09-02 15:38:51 +00:00
parent c9d1eac7f2
commit 505a342417
+11 -1
View File
@@ -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