From 4fe9fa2e9778f5f90df3f04ba7f0ba108a927580 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Padez?= Date: Sun, 23 Aug 2026 18:24:55 +0000 Subject: [PATCH] declare the i386 architecture instead of asking the owner to enable it wine's apt entry is now ['wine', 'wine32:i386'] with multiarch: 'i386'. The platform enables the architecture and updates the package lists before installing, so `dpkg --add-architecture i386` is no longer a step somebody has to know about and run by hand before the plugin will work. Both packages, not one: `wine` provides the launcher on PATH, `wine32:i386` the 32-bit loader an i386 executable needs. Installing either alone gives a wine that cannot run this game. Co-Authored-By: Claude Opus 5 Officer-Session: 656f5c85-e49a-4f1f-b9f3-042a04b4d043 --- manifest.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/manifest.ts b/manifest.ts index 3c3eaeb..3143f03 100644 --- a/manifest.ts +++ b/manifest.ts @@ -87,12 +87,17 @@ export const manifest: PluginManifest = { osDependencies: [ { binary: 'wine', - reason: 'Runs the game. Minesweeper X is a 32-bit Windows executable, so this host also needs i386 multiarch (`dpkg --add-architecture i386`) and the 32-bit wine package — a 64-bit-only wine cannot load it.', - // `apt: 'wine'` alone, deliberately. The 32-bit half is `wine32:i386`, and a package name may not - // carry an architecture suffix or a second package — nor should it, since `dpkg --add-architecture - // i386` has to happen first and no package name can express that. The `reason` above carries the - // whole command, which is what the owner is shown when this is missing. - packages: { apt: 'wine', dnf: 'wine', pacman: 'wine', brew: 'wine-stable' }, + reason: + 'Runs the game. Minesweeper X is a 32-bit Windows executable, so this needs the 32-bit wine package and the i386 architecture enabled on the host — a 64-bit-only wine cannot load it.', + // `multiarch: 'i386'` is what makes the apt entry below installable at all. Minesweeper X is an + // i386 PE, so it needs `wine32:i386` — and that package does not exist on a 64-bit host until dpkg + // has been told the architecture does. The platform runs `dpkg --add-architecture i386` and + // `apt-get update` first; it is system-wide and permanent, and the owner sees it before consenting. + // + // Without it `wine` alone lands 64-bit-only, the install reports success, and the game dies with + // `Bad EXE format` several steps away from anything that mentions architectures. + multiarch: 'i386', + packages: { apt: ['wine', 'wine32:i386'], dnf: 'wine', pacman: 'wine', brew: 'wine-stable' }, scope: 'owner', }, {