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:
+11
-6
@@ -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',
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user