Skip to content

MacGameVideoFix 4.8.2 — the engine that owns the bottle, and a release step that cannot forget

Choose a tag to compare

@MathiasKowoll MathiasKowoll released this 25 Aug 19:53
· 51 commits to main since this release

Replaces the 4.8.1 fixes bundle. That asset was built three corrections earlier, and one of them matters to anyone downloading it: the installers chose which CrossOver to drive by matching version numbers, and two engines on the same machine can declare the same version. wine --bottle takes a name, not a path, so it falls back to that engine's own bottle directory — where a bottle with the same name may exist and may already carry the key. The override went into the wrong bottle and the verification then passed against that same wrong bottle: a false success inside the check built to prevent false successes.

The engine is now chosen by which one owns the bottle's root, read from its CrossOver.conf, with version matching kept only as the fallback for bottles in the default directory.

Also in this bundle

  • pe.pl implements --ordinals. The move off Python — macOS ships no python3 without the Command Line Tools — had left that mode unimplemented while three build scripts depend on it to generate forwarder tables. A .def built from the incomplete output would have come out as = X_real. @: an export table that is wrong in silence. Verified against pe.py across twelve DLLs in both modes.
  • build-app.sh ships the file the installers call. The installers had moved to pe.pl while the bundle still carried pe.py.
  • A script with no HOME refuses instead of answering. Run under env -i, bottle discovery died on an unbound variable and the script carried on to print broken — a state word for something it had not been able to look at.

And the release step itself

Four releases went out earlier today with no app attached. Each was correct, tagged and described at length, and useless to anyone who wanted to run it. app/release.sh is now that step, and it refuses to publish when the built app does not say the tag's version, when check-builds.sh reports drift, or when games.py --check fails. It refused on its first run, correctly.

All four of those releases have since been given the bundle built from their own tag.