Apply patches from wine-staging: patch does not apply

Questions about Wine on Linux
Locked
Ploppz
Newbie
Newbie
Posts: 1
Joined: Tue May 21, 2019 5:41 pm

Apply patches from wine-staging: patch does not apply

Post by Ploppz »

Hello,

I'm trying to follow this to apply all patches from wine-staging.

In step 5, in the `wine-staging` directory, I run:

Code: Select all

./patches/patchinstall.sh DESTDIR="../wine" --all
A lot of patches are apparently successfully applied.
However, this is the last few lines of the output:

Code: Select all

Applying /home/ploppz/TMP/wine-staging/patches/winebuild-Fake_Dlls/0002-krnl386.exe16-Do-not-abuse-WOW32Reserved-field-for-1.patch
error: patch failed: dlls/user.exe16/message.c:250
error: dlls/user.exe16/message.c: patch does not apply
ERROR: Failed to apply patch, aborting!
Now, what I actually want to achieve is to apply the patch that fixes this bug: https://bugs.winehq.org/show_bug.cgi?id=47198
So maybe I shouldn't have tried to apply them all...
If so then how do I apply the relevant ones? (I think they are called 64507 and 64496?)
User avatar
dimesio
Moderator
Moderator
Posts: 13208
Joined: Tue Mar 25, 2008 10:30 pm

Re: Apply patches from wine-staging: patch does not apply

Post by dimesio »

What version of Wine are you trying to apply them to? Wine-staging is rebased every day, so you have to use the exact git version it was rebased against.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Apply patches from wine-staging: patch does not apply

Post by Bob Wya »

Ploppz wrote:Hello,

I'm trying to follow this to apply all patches from wine-staging.
That guide is not correct and will most likely never work correctly.
You'll need to set the Wine Git commit using:

Code: Select all

./patches/patchinstall.sh --upstream-commit
E.g. for:

Code: Select all

~/Source/wine
~/Source/wine-staging
You'd want to run:

Code: Select all

cd ~/Source/wine-staging
git clean -fxd
git reset --hard origin/master
git pull --force
cd ~/Source/wine
git clean -fxd
git pull --force
git reset --hard "$(../wine-staging/patches/patchinstall.sh --upstream-commit)"
to wind back the Wine git commit (from origin/master) to latest one that is supported by the (downstream) Wine Staging patchsets.

Bob
Locked