Wax/Trace: switch baseline to FormTracePak v6.213 vendor install

Replace the V6.0 captured-binary replay (pf-x86-MitutoyoApp.zip +
c-MitutoyoApp.zip + hklm-wow-mitutoyo.reg.gz) with a real vendor install
from FORMTRACEPAK-V6.213.iso mounted via Mount-DiskImage.

09-Setup-WaxAndTrace.ps1:
- Step 2 rewritten: Mount-DiskImage on
  C:\WaxTrace-Install\formtracepak\FORMTRACEPAK-V6.213.iso, run the VB6
  Setup.exe wrapper from the assigned drive letter (DRIVE_CDROM check
  satisfied by virtual mount, no real CD needed), then Dismount.
- Header rewritten: drop captured/ description, note legacy fallback
  remains in the repo (captured-binary/ unchanged) for manual recovery
  if the v6.213 vendor install fails on a bay.

sync-waxtrace.sh:
- Push formtracepak/FORMTRACEPAK-V6.213.iso (2.0 GB) into the bundle
  instead of captured/ payload. Override path via $FTPAK_ISO env var if
  needed (e.g. testing a v6.213 patch ISO).
- Sanity check no longer demands pf-x86-MitutoyoApp.zip; only requires
  prereqs/ + the manifest + dispatcher PS1.

playbook/utilities/convert-cal-iso.sh:
- New helper. Rebuilds a Linux-dd of a multi-session UDF cal disc into
  a clean ISO9660+UDF hybrid that Windows Mount-DiskImage reads. mkisofs
  reads the file via loop-udf, repacks single-session with the asset tag
  as volume label. Run when `file CAL-*.iso` reports "data" (multi-session
  UDF dd produced a Linux-readable but Windows-unreadable container).
  Single-session 218-458A discs from dd are already ISO9660 and don't
  need this.

Verified on win11 VM via qga: V6.213 ISO mounts, Setup.exe locatable.
14 cal ISOs all converted to ISO9660 (md5s refreshed in INDEX.csv),
re-synced to /srv/samba/enrollment/installers-post/waxtrace/calibrations/.
PXE share bundle now 2.0 GB total (V6.213 ISO + 14 cal ISOs + prereqs).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
cproudlock
2026-05-21 15:44:42 -04:00
parent 2a0b4885fe
commit e1ea6b7c62
3 changed files with 152 additions and 70 deletions

View File

@@ -13,9 +13,10 @@
#
# Run this on the workstation any time:
# - waxtrace-manifest.json changes
# - The captured master is rebuilt (captured-binary/ + captured/)
# - 09-Setup-WaxAndTrace.ps1 changes
# - A new cal ISO is added under /home/camp/pxe-images/iso/mitutoyo-cal/
# - Prereqs are updated
# - Prereqs (VC++, HASP) are updated
# - FormTracePak vendor ISO is bumped (default v6.213, override with $FTPAK_ISO)
#
# Usage:
# ./playbook/sync-waxtrace.sh
@@ -48,23 +49,28 @@ scp_to() {
# Sanity check
test -f "$WAXTRACE_DIR/waxtrace-manifest.json" || { echo "Missing $WAXTRACE_DIR/waxtrace-manifest.json"; exit 1; }
test -f "$WAXTRACE_DIR/09-Setup-WaxAndTrace.ps1" || { echo "Missing 09-Setup-WaxAndTrace.ps1"; exit 1; }
test -d "$WAXTRACE_DIR/captured-binary" || { echo "Missing $WAXTRACE_DIR/captured-binary (run capture-ftpak.ps1 first)"; exit 1; }
test -f "$WAXTRACE_DIR/captured-binary/pf-x86-MitutoyoApp.zip" || { echo "Missing master capture zip"; exit 1; }
test -d "$WAXTRACE_DIR/captured-binary/prereqs" || { echo "Missing prereqs dir"; exit 1; }
test -d "$WAXTRACE_DIR/captured-binary/prereqs" || { echo "Missing $WAXTRACE_DIR/captured-binary/prereqs (VC++/HASP installers)"; exit 1; }
echo "==> Staging tree locally"
STAGE="$(mktemp -d -p /tmp waxtrace-stage.XXXXXX)"
trap "rm -rf $STAGE" EXIT
mkdir -p "$STAGE/captured/reg" "$STAGE/prereqs" "$STAGE/calibrations"
mkdir -p "$STAGE/prereqs" "$STAGE/calibrations" "$STAGE/formtracepak"
cp "$WAXTRACE_DIR/waxtrace-manifest.json" "$STAGE/"
cp "$WAXTRACE_DIR/09-Setup-WaxAndTrace.ps1" "$STAGE/"
cp -r "$WAXTRACE_DIR/captured/." "$STAGE/captured/"
cp "$WAXTRACE_DIR/captured-binary/pf-x86-MitutoyoApp.zip" "$STAGE/captured/"
cp "$WAXTRACE_DIR/captured-binary/hklm-wow-mitutoyo.reg" "$STAGE/captured/reg/" 2>/dev/null || true
cp "$WAXTRACE_DIR/captured-binary/c-MitutoyoApp.zip" "$STAGE/captured/" 2>/dev/null || true
cp "$WAXTRACE_DIR/captured-binary/prereqs/"*.exe "$STAGE/prereqs/"
# FormTracePak v6.213 vendor installer ISO (2 GB). Pulled from
# /home/camp/pxe-images/iso/. Bay xcopies + Mount-DiskImage's at imaging
# time. Replaces the legacy captured/ replay path; the old captured-binary/
# dir remains in the repo as a manual fallback but is no longer pushed.
FTPAK_ISO="${FTPAK_ISO:-/home/camp/pxe-images/iso/FORMTRACEPAK-V6.213.iso}"
if [ -f "$FTPAK_ISO" ]; then
cp "$FTPAK_ISO" "$STAGE/formtracepak/"
else
echo "WARNING: FormTracePak ISO not found at $FTPAK_ISO - bays cannot install at imaging time."
fi
# Cal ISOs - one per wax/trace bay
if [ -d "$CAL_ISO_DIR" ]; then
cp "$CAL_ISO_DIR"/CAL-*.iso "$STAGE/calibrations/" 2>/dev/null || true
@@ -73,8 +79,8 @@ fi
echo "==> Local stage size: $(du -sh $STAGE | cut -f1)"
ls "$STAGE/"
ls "$STAGE/captured/"
ls "$STAGE/prereqs/"
ls "$STAGE/formtracepak/" 2>/dev/null || echo "(no FormTracePak ISO)"
ls "$STAGE/calibrations/" 2>/dev/null || echo "(no cal ISOs)"
echo "==> Pushing to $PXE_USER@$PXE_HOST:$REMOTE_TEMP"