From c054f7bcb484c4bf6e5867a571a2ba6047f56cd5 Mon Sep 17 00:00:00 2001 From: RT Date: Sun, 9 Aug 2026 18:04:16 -0500 Subject: [PATCH] Anchor sync-from-windows dgVoodoo2 excludes to the deploy root The exclude patterns had no leading slash, so rsync matched them on basename at any depth. That blocked MW4/dgvoodoo2_files/ as well -- a tracked staging copy, committed since RC1, that pod owners install by hand on Win10/11 and which must keep mirroring. Only a live dgVoodoo2 at the MW4/ root is dangerous, because that is the copy the game would actually load. Co-authored-by: Claude Opus 5 (Anthropic) Co-authored-by: GitHub Copilot --- build-env/sync-from-windows.sh | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/build-env/sync-from-windows.sh b/build-env/sync-from-windows.sh index d47ed36d..d2fdeaa4 100755 --- a/build-env/sync-from-windows.sh +++ b/build-env/sync-from-windows.sh @@ -98,20 +98,22 @@ echo "=== [4/6] Deployed game (MW4/) - output of deploy-mw4.ps1 ===" # Two classes of exclusion here: # - per-machine and gitignored: player-made variants, and the GameOS run-time # reports which are rewritten on every launch. -# - dgVoodoo2: an installed-per-machine, OS-dependent prerequisite for Win10/11 -# pods. It must NEVER enter the repo -- shipping it would push a Win10-only -# dependency onto the XP pods and break them. Removed deliberately in -# 0ceba9c7; do not "fix" that by letting a pull put it back. +# - dgVoodoo2 sitting at the deploy ROOT, where it would be live. It is an +# installed-per-machine, OS-dependent prerequisite for Win10/11 pods and must +# never ship active, because that would push a Win10-only dependency onto the +# XP pods and break them. Removed deliberately in 0ceba9c7. +# The leading slash anchors these to MW4/ itself: MW4/dgvoodoo2_files/ is a +# tracked staging copy for pod owners to install by hand, and must still sync. rsync $RSYNC_OPTS \ --exclude='Resource/Variants/' \ --exclude='gos-displays.txt' \ --exclude='gos-fps.txt' \ - --exclude='[Dd][Gg][Vv]oodoo.conf' \ - --exclude='[Dd][Gg][Vv]oodooCpl.exe' \ - --exclude='[Dd][Dd]raw.dll' \ - --exclude='[Dd]3[Dd]8.dll' \ - --exclude='[Dd]3[Dd]9.dll' \ - --exclude='[Dd]3[Dd][Ii]mm.dll' \ + --exclude='/[Dd][Gg][Vv]oodoo.conf' \ + --exclude='/[Dd][Gg][Vv]oodooCpl.exe' \ + --exclude='/[Dd][Dd]raw.dll' \ + --exclude='/[Dd]3[Dd]8.dll' \ + --exclude='/[Dd]3[Dd]9.dll' \ + --exclude='/[Dd]3[Dd][Ii]mm.dll' \ "$SRC/MW4/" "$DST/MW4/" echo @@ -154,8 +156,8 @@ echo " Gameleap/code source, Gameleap/mw4/Content, hsh, Assets, Stats" echo " Resource/*.tga *.nfo *.txt, build-env scripts, BTFrstrm" echo "NOT pulled (per-machine):" echo " MW4/Resource/Variants/, MW4/gos-displays.txt, MW4/gos-fps.txt" -echo " MW4/ dgVoodoo2 (DDraw/D3D8/D3D9/D3DImm.dll, dgVoodoo.conf/Cpl.exe)" -echo " -- a Win10/11-only prerequisite that must never reach the XP pods" +echo " MW4/ root dgVoodoo2 (DDraw/D3D8/D3D9/D3DImm.dll, dgVoodoo.conf/Cpl.exe)" +echo " -- Win10/11-only; MW4/dgvoodoo2_files/ staging copy DOES sync" echo echo "=== Changed in the working tree ==="