[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[pkg-wine-party] Bug#769791: wine32 doesn't work after fresh install



control: tags -1 patch


Hi,

[my answer/patch is based upon the mentioned #739863, otherwise we
really need more info from Andi:]


1.)
this happens in wine-wrapper (regedit, regsvr32, wineboot, winecfg,
winefile, winepath), but not in wine/wine32/wine64.

So "wineboot" fails with:
  cat: /home/jens/.wine/system.reg: No such file or directory
  /usr/bin/wineboot: 32: exec: wineboot.exe: not found

while "wine wineboot" or "wine32 wineboot" work. Instead of wineboot a
normal windows exe also works fine here.



2.)
... and only if "$WINEPREFIX/system.reg" is missing.

IF WINEARCH is not specified, then "$WINEPREFIX/system.reg" is used to
figure out which wine to use (wine32 or wine64). After a fresh install
obviously system.reg

With attached patch (taken from #739863) wine-wrapper falls back to
using /usr/bin/wine if system.reg is missing. This will then again
choose wine32, unless WINELOADER is specified.


Of course this is only a fix. In the long run (= wine(-development) post
Jessie) I'd suggest to move all 32/64-bit logic to wine(-development).
So add the system.reg test there, next to the existing WINEARCH and
WINELOADER tests and probably add a PE32+ check (for 64-bit binfmt
support, #769234.) Or should I post a patch for this now?


Mike, the git repository is out of date:
branch jessie is at "release 1.6.2-15" (while 1.6.2-16 is current)


Greets
jre
diff --git a/debian/scripts/wine-wrapper b/debian/scripts/wine-wrapper
index 95d2c8f..5c9a3f4 100644
--- a/debian/scripts/wine-wrapper
+++ b/debian/scripts/wine-wrapper
@@ -24,7 +24,11 @@ appname=`basename "$0" .exe`.exe
 
 if test -z $WINEARCH; then
     test ! -z "$WINEPREFIX" || WINEPREFIX="$HOME/.wine"
-    wine=$(cat "$WINEPREFIX/system.reg" | grep ^\#arch= | cut -d= -f2 | sed s/win/wine/)
+    if test -f "$WINEPREFIX/system.reg"; then
+        wine=$(cat "$WINEPREFIX/system.reg" | grep ^\#arch= | cut -d= -f2 | sed s/win/wine/)
+    else
+        wine=/usr/bin/wine
+    fi
 else
     wine=$(echo "$WINEARCH" | sed s/win/wine/)
 fi

Reply to: