Monterey-built DMGs showed the ice-cream background on 12 and a plain Finder window on 14. CI was on dmgbuild 1.6.5, which writes a classic Alias Manager blob that Sonoma does not resolve after UDZO.
Changes
Pin dmgbuild>=1.6.7 in ensure-host-tools.sh and always upgrade the package venv (a leftover 1.6.5 install is not reused).
package-release.sh builds build/dmg-background.tiff with tiffutil -cathidpicheck from the 1x + @2x PNGs and exports DMG_BACKGROUND.
Missing PNG / TIFF / old dmgbuild is a hard fail. No more silent grey window.
dmgbuild-settings.py requires DMG_BACKGROUND; it no longer falls back to None.
Exclude installer chrome from the app target in project.yml.
Monterey-built DMGs showed the ice-cream background on 12 and a plain Finder window on 14. CI was on dmgbuild 1.6.5, which writes a classic Alias Manager blob that Sonoma does not resolve after UDZO.
## Changes
- Pin `dmgbuild>=1.6.7` in `ensure-host-tools.sh` and always upgrade the package venv (a leftover 1.6.5 install is not reused).
- `package-release.sh` builds `build/dmg-background.tiff` with `tiffutil -cathidpicheck` from the 1x + @2x PNGs and exports `DMG_BACKGROUND`.
- Missing PNG / TIFF / old dmgbuild is a hard fail. No more silent grey window.
- `dmgbuild-settings.py` requires `DMG_BACKGROUND`; it no longer falls back to `None`.
- Exclude installer chrome from the app target in `project.yml`.
Closes #95.
Pin dmgbuild >= 1.6.7 so Finder gets a bookmark instead of a
Monterey-era Alias Manager blob. Feed a HiDPI TIFF from
tiffutil rather than the 1x RGBA PNG, and fail the package job
if the art is missing instead of shipping a grey window.
Exclude installer chrome from the app bundle; it is not an
in-app asset.
The tools step runs on the test job. System Python is 3.9;
dmgbuild 1.6.6+ declares Requires-Python >=3.10, so pip only
lists 1.6.5 and the 1.6.7 floor failed the gate.
Install the newest wheel this interpreter accepts. Keep the
HiDPI TIFF background path and the hard-fail if art is missing.
ensure-host-tools.sh always bootstraps xcodegen. dmgbuild now
lives in build/.venv-dmgbuild and is only installed when
INSTALL_DMGBUILD=1 (package job). The test job no longer
pip-installs dmgbuild, which is what failed on Python 3.9.
package-release.sh reuses that venv (or bootstraps it locally)
instead of creating a second copy.
Python 3.9 hides 1.6.6+ (Requires-Python >=3.10), so
dmgbuild>=1.6.5 left a cached 1.6.5 install. The wheels are
py3-none-any; install 1.6.7 with PIP_IGNORE_REQUIRES_PYTHON,
force-reinstall ds_store>=1.3.3 and mac_alias>=2.2.3, and fail
if the venv is still older than 1.6.7.
Unbounded pip upgrade installed 26.2.1, which uses
dataclass(slots=True) and crashes on Monterey 3.9. Recreate
the venv if pip is already broken, then pin pip>=24.3,<26.1
before force-installing dmgbuild 1.6.7.
gronod
merged commit fa02e774ca into develop2026-09-14 11:55:41 +01:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Monterey-built DMGs showed the ice-cream background on 12 and a plain Finder window on 14. CI was on dmgbuild 1.6.5, which writes a classic Alias Manager blob that Sonoma does not resolve after UDZO.
Changes
dmgbuild>=1.6.7inensure-host-tools.shand always upgrade the package venv (a leftover 1.6.5 install is not reused).package-release.shbuildsbuild/dmg-background.tiffwithtiffutil -cathidpicheckfrom the 1x + @2x PNGs and exportsDMG_BACKGROUND.dmgbuild-settings.pyrequiresDMG_BACKGROUND; it no longer falls back toNone.project.yml.Closes #95.