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 <noreply@anthropic.com>
Officer-Session: 656f5c85-e49a-4f1f-b9f3-042a04b4d043
This commit is contained in:
2026-08-23 18:24:55 +00:00
co-authored by Claude Opus 5
parent b88cacecac
commit 4fe9fa2e97
+11 -6
View File
@@ -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',
},
{