You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
411 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
5ec4d6171e | ||
|
8728442a9a | ||
|
76e7b82e31 | ||
|
5a24762b33 | ||
|
9454f5fc78 | ||
|
c23d8e2738 | ||
|
025e40edcc | ||
|
c258f95d4b | ||
|
45b80e1d0d | ||
|
8ccce27f89 | ||
|
d96eed9e17 | ||
|
510297d315 | ||
|
2a2d46a77e | ||
|
74f4d7b45e | ||
|
2393fd2c7e | ||
|
02879c0800 | ||
|
a9538a1965 | ||
|
1ce0efdd60 | ||
|
8f5172f8de | ||
|
0c6e311cea | ||
|
56447bdb5b | ||
|
a66e263db0 | ||
|
d9d1380650 | ||
|
7603fe0bc9 | ||
|
1b23958eb3 | ||
|
e4d5d84401 | ||
|
a5fac42aff | ||
|
278c0ed870 | ||
|
495e7f4985 | ||
|
75174bcf22 | ||
|
2315442bb2 | ||
|
77d2d3e4e0 | ||
|
06226bdc44 | ||
|
941323d469 | ||
|
0de1b91a1b | ||
|
5b94baf194 | ||
|
2fdae8614e | ||
|
e5c67078fd | ||
|
f4be181120 | ||
|
679a5cef17 | ||
|
c1c337b07c | ||
|
5f7b6bf45f | ||
|
a37730ab0e | ||
|
36e9309497 | ||
|
8f245e2d60 | ||
|
76d8009160 | ||
|
f1b8ef5d94 | ||
|
d205f22f1e | ||
|
d26abf2d93 | ||
|
9f011de1b5 | ||
|
a8303d406b | ||
|
800c42803f | ||
|
49d6414382 | ||
|
1d9163af16 | ||
|
cd4db49a74 | ||
|
b5c7642a3e | ||
|
65c559753a | ||
|
d709879134 | ||
|
0748a983e3 | ||
|
d1f4a25cbd | ||
|
6df5635400 | ||
|
fb6baf5e83 | ||
|
174139f1ea | ||
|
e3bece1c76 | ||
|
d7500bccd1 | ||
|
04f83c2765 | ||
|
56532e6bed | ||
|
afb95f8dde | ||
|
fae66ca721 | ||
|
67c7aead03 | ||
|
15581d6cce | ||
|
fc0847724e | ||
|
cde323b772 | ||
|
dfd86e0f91 | ||
|
16aad8a55f | ||
|
62117ba8d6 | ||
|
2da169a01b | ||
|
3b975fa4f2 | ||
|
8d92e1177f | ||
|
7dc75a302b | ||
|
7c8e6d90d3 | ||
|
872be6fa25 | ||
|
74b6722150 | ||
|
135024f481 | ||
|
53b570f698 | ||
|
dc16523d00 | ||
|
1dc4d9dc2f | ||
|
731305d018 | ||
|
c981072e0d | ||
|
e86a326f7b | ||
|
1aaf583c9f | ||
|
f644b88d3e | ||
|
3352a782c9 | ||
|
ec9b8ec16d | ||
|
094635f160 | ||
|
5f9893a79d | ||
|
6b5229ca83 | ||
|
6d10024c1e | ||
|
c361cbefb2 | ||
|
76b602e336 | ||
|
9f4a601887 | ||
|
b0071ce53e | ||
|
36ec2e0cf4 | ||
|
dde3ae24dd | ||
|
f6af570538 | ||
|
69ae1f591a | ||
|
31bd06cb42 | ||
|
0bef3b01c4 | ||
|
50b37c2d7e | ||
|
333de90b1a | ||
|
3daf410291 | ||
|
5a89756c6a | ||
|
7af67608ec | ||
|
7c0b90ad19 | ||
|
a1611c8fd0 | ||
|
12f0292934 | ||
|
53b165e070 | ||
|
6c70ccd388 | ||
|
703e98c1f5 | ||
|
5628355586 | ||
|
7c2dfd1e28 | ||
|
7765a19988 | ||
|
531ca00756 | ||
|
2672e6b4c5 | ||
|
a6f687dcc9 | ||
|
995b761dee | ||
|
44a9c0cc8a | ||
|
2b90f82b6a | ||
|
945ec28ec8 | ||
|
5fc6371a97 | ||
|
7a6fec3740 | ||
|
aaeb4db3b3 | ||
|
68ade392f8 | ||
|
f76f0d0052 | ||
|
0ccd396056 | ||
|
6b78b26763 | ||
|
d2765a37f2 | ||
|
0c2536b025 | ||
|
cc1da4895e | ||
|
a0f1f35843 | ||
|
26eb2942d0 | ||
|
16d40cf5d5 | ||
|
9149fde0ff | ||
|
a110e490b8 | ||
|
0af6df6bc0 | ||
|
4d919d4d83 | ||
|
32c289493f | ||
|
9fde9be110 | ||
|
ee2f208b2b | ||
|
002f664b68 | ||
|
9acb14c728 | ||
|
fd6ff0999c | ||
|
78327e5ead | ||
|
ccd977d649 | ||
|
873d07d7d7 | ||
|
2412d1f4eb | ||
|
32f681f893 | ||
|
0d67dee015 | ||
|
26d8a27276 | ||
|
6a8261887f | ||
|
e88424ebc6 | ||
|
0abc5f4b7b | ||
|
85364f3153 | ||
|
a2722e8fe9 | ||
|
2923808892 | ||
|
fdc5f5c1dd | ||
|
b9ec1ed8f5 | ||
|
ad87c93337 | ||
|
ce3f724ea2 | ||
|
0d0440ede9 | ||
|
7dc9e1b670 | ||
|
528e9ceec3 | ||
|
da512da861 | ||
|
e7ab8d7b04 | ||
|
bb8f219272 | ||
|
b54341886b | ||
|
088ca2f71d | ||
|
6d2e3ce903 | ||
|
4c9804d9f5 | ||
|
c7d100897a | ||
|
55902fb521 | ||
|
a428549415 | ||
|
0432712e4e | ||
|
b942798ef9 | ||
|
f576613dd2 | ||
|
9384283aca | ||
|
cf5c56ef11 | ||
|
c632b99fb5 | ||
|
f5c6731e84 | ||
|
cec272a2d4 | ||
|
1b2fa6c6cb | ||
|
016e539659 | ||
|
412af27a17 | ||
|
bcb19df630 | ||
|
79e542c24a | ||
|
c10eb9a4a1 | ||
|
79c69db369 | ||
|
763bb554cd | ||
|
7cad745ad6 | ||
|
92379575c7 | ||
|
2a1d1a0086 | ||
|
83cbd1daaa | ||
|
7f9bf47dd0 | ||
|
41484ad4ed | ||
|
4b4c5feb3d | ||
|
5972e18a71 | ||
|
baa05e4719 | ||
|
ca8ffcd619 | ||
|
b2297b41c3 | ||
|
f09433417e | ||
|
349ba2df2a | ||
|
9573b57d3c | ||
|
0defa32dfb | ||
|
1c29f7db86 | ||
|
bfb112653c | ||
|
7a5534ac75 | ||
|
1bbf522c01 | ||
|
95496eedab | ||
|
13effc62f8 | ||
|
975564c566 | ||
|
8e4c7f1017 | ||
|
e2d58b98e4 | ||
|
26e06cc151 | ||
|
90bf076dfc | ||
|
dcfee86e79 | ||
|
a3ca9927db | ||
|
d114a05de3 | ||
|
fb7bff38de | ||
|
2a8300034c | ||
|
1b0d071e41 | ||
|
134b99fbb2 | ||
|
c3c9472eb4 | ||
|
5215a311fe | ||
|
d3dbcb9165 | ||
|
53734776f6 | ||
|
54451f955b | ||
|
2fbbd765c6 | ||
|
954aed181c | ||
|
da0ebd230f | ||
|
6fb06b865c | ||
|
ffe90cf9f7 | ||
|
d6a8a1d8a1 | ||
|
7fd064ce86 | ||
|
20f6d63e2b | ||
|
bd4c1e3006 | ||
|
0a1e04b9f2 | ||
|
977b8b34ad | ||
|
caf809b1d5 | ||
|
d532c3b5bd | ||
|
952ab53219 | ||
|
e44c30c64e | ||
|
41f0cda558 | ||
|
552d300345 | ||
|
1143708578 | ||
|
aa817e83cf | ||
|
1bb34e22a6 | ||
|
dd18228f7d | ||
|
a78acf275d | ||
|
8ace9d57c0 | ||
|
0c248ecda3 | ||
|
04b7095098 | ||
|
d97efcbab3 | ||
|
52e3343bbb | ||
|
ab87b19a87 | ||
|
3426979ddf | ||
|
3f7b4894a7 | ||
|
e0390d0bdb | ||
|
5848db0ab8 | ||
|
ffb7bab285 | ||
|
f3b8a3bfa3 | ||
|
b182064bef | ||
|
f23ff69f86 | ||
|
e25c35e363 | ||
|
12842d4a5d | ||
|
a02130583a | ||
|
582e9666ed | ||
|
0ce637dcda | ||
|
9f7c9e309a | ||
|
2ce759172c | ||
|
8ecb8c648e | ||
|
97fb6e215a | ||
|
1f8b2211dc | ||
|
e390275c1d | ||
|
30cc97b72e | ||
|
a1c7c48e57 | ||
|
040fd28c00 | ||
|
90eb3105b8 | ||
|
157d49eb57 | ||
|
58cc16c463 | ||
|
92f1b745f6 | ||
|
cf78829843 | ||
|
55ce7ddfc3 | ||
|
b84a5e83cb | ||
|
4a8f10e17d | ||
|
309e515899 | ||
|
eadec3171e | ||
|
bc21be9437 | ||
|
8e8e15c81a | ||
|
a139cd10bd | ||
|
d92acf00eb | ||
|
1566e72122 | ||
|
c282ffecac | ||
|
11b27f5d7f | ||
|
923966f191 | ||
|
f1064ee0bd | ||
|
743184f7be | ||
|
15041e6b96 | ||
|
cf4a1f5af2 | ||
|
b9a1a97057 | ||
|
69f3294d35 | ||
|
f2ecb762ea | ||
|
a2dd6b6ede | ||
|
4befe663b8 | ||
|
178d669519 | ||
|
04afcf114c | ||
|
d8cb439f29 | ||
|
d9bdc6ae51 | ||
|
572c6fe243 | ||
|
3a65a99375 | ||
|
5b313a54e2 | ||
|
04e3ce9865 | ||
|
96325cabed | ||
|
2bb0477ca0 | ||
|
bbbdc32ff4 | ||
|
24af7f9090 | ||
|
c9ec45a0e3 | ||
|
ea8db60185 | ||
|
44c159ca06 | ||
|
c382d2430b | ||
|
77bc095cb4 | ||
|
0412f2dcbc | ||
|
3f56243b9b | ||
|
f1b780f2e7 | ||
|
31639cf6d5 | ||
|
c5bbea55d2 | ||
|
d28a7ba29e | ||
|
13a3cadc66 | ||
|
2821e85d06 | ||
|
182d868560 | ||
|
8b06b71275 | ||
|
9138b6d929 | ||
|
55da87044b | ||
|
139ec6bfe7 | ||
|
c931ff9dad | ||
|
9e0bb28fcb | ||
|
e298b95f54 | ||
|
4ad22c8418 | ||
|
9f091b033c | ||
|
e5a4f11591 | ||
|
f925ee9336 | ||
|
174fd8ca69 | ||
|
da14f3201a | ||
|
70ca8ccdee | ||
|
a6bdf0d803 | ||
|
031d8707e6 | ||
|
e417298237 | ||
|
363bf09254 | ||
|
4e8ec61e11 | ||
|
e67a0a27b4 | ||
|
b06dab11cd | ||
|
0dc851870e | ||
|
bd6e9c6b12 | ||
|
9b05154f9e | ||
|
7a76ebf786 | ||
|
3b9b44454b | ||
|
655ba010d9 | ||
|
c6b84caa19 | ||
|
2aadb491e9 | ||
|
e6884fe334 | ||
|
7995c78fbf | ||
|
168c9879a0 | ||
|
99d383dca7 | ||
|
6a0153d46c | ||
|
cc9f3cfa0e | ||
|
006db23dab | ||
|
41c3e670d9 | ||
|
7fb4b8cfc8 | ||
|
15a87f7353 | ||
|
c9380eed86 | ||
|
15fc36c7d0 | ||
|
1592f18501 | ||
|
28b1fe7134 | ||
|
5e5cad6246 | ||
|
41f41a7c98 | ||
|
9cfd7972d9 | ||
|
cd5078fa95 | ||
|
1c34dbeba4 | ||
|
315fc252ca | ||
|
cc21d373b5 | ||
|
f3032f5a57 | ||
|
f7fb8e8959 | ||
|
fc151aaec0 | ||
|
1f66697807 | ||
|
8afbb3aecc | ||
|
b5a7498b86 | ||
|
97aaaaa663 | ||
|
e20c4d5a6f | ||
|
9e89bb327a | ||
|
db326ba242 | ||
|
47dc5f2527 | ||
|
4bfbd720eb | ||
|
44094b9175 | ||
|
79b46b851a | ||
|
883c4fd47e | ||
|
d7d3868b7f | ||
|
d620e52840 | ||
|
f069c35bca | ||
|
9741ce797e | ||
|
1044ff2981 | ||
|
d37f4a9e2d | ||
|
d8651610cc |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
||||
debian/tools/wine
|
||||
*.pyc
|
||||
.patchupdate.cache
|
||||
|
161
README.md
161
README.md
@@ -1,25 +1,26 @@
|
||||
What is Wine Staging?
|
||||
=====================
|
||||
---------------------
|
||||
|
||||
**Warning: Do not report bugs at bugs.winehq.org when using this version!
|
||||
Please take a look [here](http://bugs.wine-staging.com) for more information
|
||||
about how to report bugs.**
|
||||
|
||||
**Wine Staging** (formerly wine-compholio) is a special wine version containing
|
||||
bug fixes and features that are not yet available in regular wine versions. The
|
||||
idea behind Wine Staging is to provide new features faster to end users and to
|
||||
bug fixes and features, which are not yet available in regular wine versions.
|
||||
The idea of Wine Staging is to provide new features faster to end users and to
|
||||
give developers the possibility to discuss and improve their patches before
|
||||
they are sent upstream. We also intend to create a community of wine developers
|
||||
to share experience and to make it easier for beginners to start hacking on
|
||||
wine.
|
||||
wine. More information about Wine Staging can also be found on our website
|
||||
[wine-staging.com](http://wine-staging.com).
|
||||
|
||||
Although we are reviewing all patches before adding them, you may encounter
|
||||
additional bugs, which are not present in regular wine. Make sure to report
|
||||
such issues in our bug tracker instead of winehq.org so that we can try to
|
||||
solve them in future versions. Thanks!
|
||||
Although we are reviewing and testing all patches before adding them, you may
|
||||
encounter additional bugs, which are not present in vanilla wine. Make sure to
|
||||
report such issues in our bug tracker instead of winehq.org so that we can try
|
||||
to solve them in future versions. Thanks!
|
||||
|
||||
How to install and use Wine Staging
|
||||
===================================
|
||||
-----------------------------------
|
||||
|
||||
Ready-to-use packages for Wine Staging are available for a variety
|
||||
of different Linux distributions directly for download. Just follow the
|
||||
@@ -36,92 +37,120 @@ Wine. All those differences are also documented on the
|
||||
|
||||
|
||||
Included bug fixes and improvements
|
||||
===================================
|
||||
-----------------------------------
|
||||
|
||||
**Bugs fixed in Wine Staging 1.7.39 [205]:**
|
||||
**Bug fixes and features in Wine Staging 1.7.48 [238]:**
|
||||
|
||||
* Add Dynamic DST exceptions for Israel Standard Time ([Wine Bug #36374](https://bugs.winehq.org/show_bug.cgi?id=36374))
|
||||
* Add default ACLs for user shell folders
|
||||
* Add implementation for CreateThreadpool ([Wine Bug #35192](https://bugs.winehq.org/show_bug.cgi?id=35192))
|
||||
*Note: The following list only contains features and bug fixes which are not
|
||||
yet available in vanilla Wine. They are removed from the list as soon as they
|
||||
are included upstream. The list also includes features and fixes from previous
|
||||
releases, take a look at the
|
||||
[changelog](https://github.com/wine-compholio/wine-staging/blob/master/debian/changelog)
|
||||
for more details.*
|
||||
|
||||
* Add HTTP Host header in HttpSendRequest instead of HttpOpenRequest ([Wine Bug #28911](https://bugs.winehq.org/show_bug.cgi?id=28911))
|
||||
* Add a ProfileList\<UserSID> registry subkey ([Wine Bug #15670](https://bugs.winehq.org/show_bug.cgi?id=15670))
|
||||
* Add implementation for mfplat.MFTRegister ([Wine Bug #37811](https://bugs.winehq.org/show_bug.cgi?id=37811))
|
||||
* Add implementation for shlwapi.AssocGetPerceivedType
|
||||
* Add nvapi stubs required for GPU PhysX support
|
||||
* Add performance library registry keys needed by MS SQL Server Management Studio Express 2008 R2 ([Wine Bug #33661](https://bugs.winehq.org/show_bug.cgi?id=33661))
|
||||
* Add semi-stub for GetFileVersionInfoExA/W ([Wine Bug #38098](https://bugs.winehq.org/show_bug.cgi?id=38098))
|
||||
* Add semi-stub for GetFileVersionInfoSizeExA/W ([Wine Bug #38090](https://bugs.winehq.org/show_bug.cgi?id=38090))
|
||||
* Add semi-stub for FileFsVolumeInformation information class ([Wine Bug #21466](https://bugs.winehq.org/show_bug.cgi?id=21466))
|
||||
* Add shell32 placeholder icons to match offsets with Windows ([Wine Bug #30185](https://bugs.winehq.org/show_bug.cgi?id=30185))
|
||||
* Add stub fltmgr.sys (filter manager driver) ([Wine Bug #23583](https://bugs.winehq.org/show_bug.cgi?id=23583))
|
||||
* Add stub for D3DXComputeNormalMap
|
||||
* Add stub for D3DXComputeTangentFrameEx ([Wine Bug #31984](https://bugs.winehq.org/show_bug.cgi?id=31984))
|
||||
* Add stub for D3DXIntersect
|
||||
* Add stub for D3DXFrameFind ([Wine Bug #38334](https://bugs.winehq.org/show_bug.cgi?id=38334))
|
||||
* Add stub for D3DXTessellateNPatches
|
||||
* Add stub for NtSetLdtEntries/ZwSetLdtEntries ([Wine Bug #26268](https://bugs.winehq.org/show_bug.cgi?id=26268))
|
||||
* Add stub for PowerCreateRequest
|
||||
* Add stub for gdiplus.GdipCreateEffect ([Wine Bug #32163](https://bugs.winehq.org/show_bug.cgi?id=32163))
|
||||
* Add stub for ntoskrnl.ExAcquireResourceExclusiveLite
|
||||
* Add stub for ntoskrnl.ExDeleteResourceLite
|
||||
* Add stub for ntoskrnl.ExReleaseResourceForThread
|
||||
* Add stub for ntoskrnl.KeWaitForMultipleObjects
|
||||
* Add stub for ntoskrnl.Mm{Map,Unmap}LockedPages
|
||||
* Add stub for ntoskrnl.PsRemoveLoadImageNotifyRoutine
|
||||
* Add stub for setupapi.SetupDiSelectBestCompatDrv ([Wine Bug #32088](https://bugs.winehq.org/show_bug.cgi?id=32088))
|
||||
* Add stub for wininet.ParseX509EncodedCertificateForListBoxEntry ([Wine Bug #29842](https://bugs.winehq.org/show_bug.cgi?id=29842))
|
||||
* Add stub for winscard.SCardListReadersA/W ([Wine Bug #26978](https://bugs.winehq.org/show_bug.cgi?id=26978))
|
||||
* Add stub for winsta.WinStationEnumerateW ([Wine Bug #38102](https://bugs.winehq.org/show_bug.cgi?id=38102))
|
||||
* Add stubbed ISWbemSecurity interfaces in wbemdisp
|
||||
* Add stubs for D3DCompile2 and D3DCompileFromFile
|
||||
* Add stubs for D3DXCreateAnimationController interface
|
||||
* Add stubs for d3dx10_43.D3DX10CreateEffectFromFileA/W ([Wine Bug #27739](https://bugs.winehq.org/show_bug.cgi?id=27739))
|
||||
* Add support for CopyFileEx progress callback ([Wine Bug #22692](https://bugs.winehq.org/show_bug.cgi?id=22692))
|
||||
* Add support for GetPropValue to PulseAudio backend
|
||||
* Add support for ThreadQuerySetWin32StartAddress info class ([Wine Bug #8277](https://bugs.winehq.org/show_bug.cgi?id=8277))
|
||||
* Add support for hiding wine version information from applications ([Wine Bug #38656](https://bugs.winehq.org/show_bug.cgi?id=38656))
|
||||
* Add support for process specific debug channels
|
||||
* Add wined3d detection for GeForce GT 425M ([Wine Bug #35054](https://bugs.winehq.org/show_bug.cgi?id=35054))
|
||||
* Adobe Reader needs ITextSelection_fnGetDuplicate implementation
|
||||
* Allow selection of audio device for PulseAudio backend
|
||||
* Allow special characters in pipe names ([Wine Bug #28995](https://bugs.winehq.org/show_bug.cgi?id=28995))
|
||||
* Allow to cancel a file operation via progress callback ([Wine Bug #22690](https://bugs.winehq.org/show_bug.cgi?id=22690))
|
||||
* Allow to edit winecfg library override by double clicking
|
||||
* Allow to open files/directories without any access rights in order to query attributes
|
||||
* Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE. ([Wine Bug #12652](https://bugs.winehq.org/show_bug.cgi?id=12652))
|
||||
* Allow to set pixel format for desktop window
|
||||
* Anno 1602 installer depends on Windows 98 behavior of SHFileOperationW ([Wine Bug #37916](https://bugs.winehq.org/show_bug.cgi?id=37916))
|
||||
* Assign a drive serial number during prefix creation/update ([Wine Bug #17823](https://bugs.winehq.org/show_bug.cgi?id=17823))
|
||||
* Audio stuttering and performance drops in multiple applications ([Wine Bug #30639](https://bugs.winehq.org/show_bug.cgi?id=30639))
|
||||
* Avoid crashing when broken app tries to release surface although refcount is zero ([Wine Bug #18477](https://bugs.winehq.org/show_bug.cgi?id=18477))
|
||||
* Avoid race-conditions in NtReadFile() operations with write watches.
|
||||
* Avoid race-conditions of async WSARecv() operations with write watches.
|
||||
* Avoid race-conditions with long running threadpool tasks
|
||||
* Avoid race-conditions with write watches in WS2_async_accept.
|
||||
* Avoid unloading msctf library while textservices are activated ([Wine Bug #31579](https://bugs.winehq.org/show_bug.cgi?id=31579))
|
||||
* Avseq crashes when multisampling is enabled ([Wine Bug #31998](https://bugs.winehq.org/show_bug.cgi?id=31998))
|
||||
* Basic handling of write watches triggered while we're on the signal stack.
|
||||
* Basic support for CUDA
|
||||
* Black & White needs DXTn software decoding support ([Wine Bug #14939](https://bugs.winehq.org/show_bug.cgi?id=14939))
|
||||
* CPU-Z fails to start because GetLogicalProcessorInformationEx returns FALSE
|
||||
* Child of Light expects FindConnectionPoint to succeed and increase the refcount ([Wine Bug #36408](https://bugs.winehq.org/show_bug.cgi?id=36408))
|
||||
* Calculate msvcrt exponential math operations with higher precision ([Wine Bug #37149](https://bugs.winehq.org/show_bug.cgi?id=37149))
|
||||
* Check architecture before trying to load libraries ([Wine Bug #38021](https://bugs.winehq.org/show_bug.cgi?id=38021))
|
||||
* Create HKLM\Software\Microsoft\Cryptography\MachineGuid registry key ([Wine Bug #38508](https://bugs.winehq.org/show_bug.cgi?id=38508))
|
||||
* Create stub files for system32/drivers/etc/{services,hosts,networks,protocol} ([Wine Bug #12076](https://bugs.winehq.org/show_bug.cgi?id=12076))
|
||||
* CreateProcess does not prioritize the working directory over the system search path ([Wine Bug #23934](https://bugs.winehq.org/show_bug.cgi?id=23934))
|
||||
* D3DCompileShader should filter specific warning messages ([Wine Bug #33770](https://bugs.winehq.org/show_bug.cgi?id=33770))
|
||||
* Do not append duplicate NULL characters when importing keys with regedit ([Wine Bug #37575](https://bugs.winehq.org/show_bug.cgi?id=37575))
|
||||
* Do not fail when a used context is passed to wglShareLists ([Wine Bug #11436](https://bugs.winehq.org/show_bug.cgi?id=11436))
|
||||
* EA Origin needs support for job objects ([Wine Bug #33723](https://bugs.winehq.org/show_bug.cgi?id=33723))
|
||||
* Emulate access to KI_USER_SHARED_DATA kernel page on x86_64 ([Wine Bug #33849](https://bugs.winehq.org/show_bug.cgi?id=33849))
|
||||
* Do not use unixfs for devices without mountpoint
|
||||
* Enforce that surfaces are flushed after ReleaseDC
|
||||
* Ensure NtProtectVirtualMemory and NtCreateSection are on separate pages ([Wine Bug #33162](https://bugs.winehq.org/show_bug.cgi?id=33162))
|
||||
* Ensure X11 input events are handled even without explicit message loop ([Wine Bug #8854](https://bugs.winehq.org/show_bug.cgi?id=8854))
|
||||
* Exception during start of fr-043 caused by missing DXTn support ([Wine Bug #37391](https://bugs.winehq.org/show_bug.cgi?id=37391))
|
||||
* Export additional OpenAL32 functions ([Wine Bug #38972](https://bugs.winehq.org/show_bug.cgi?id=38972))
|
||||
* Expose PKEY_AudioEndpoint_PhysicalSpeakers device property in PulseAudio driver
|
||||
* FEAR 1 installer expects basic_string_wchar_dtor to return NULL ([Wine Bug #37358](https://bugs.winehq.org/show_bug.cgi?id=37358))
|
||||
* Fallback to global key state for threads without a queue ([Wine Bug #27238](https://bugs.winehq.org/show_bug.cgi?id=27238))
|
||||
* Fake success in kernel32.SetFileCompletionNotificationModes ([Wine Bug #38960](https://bugs.winehq.org/show_bug.cgi?id=38960))
|
||||
* Fallback to system ping command when CAP_NET_RAW is not available ([Wine Bug #8332](https://bugs.winehq.org/show_bug.cgi?id=8332))
|
||||
* Fix NULL dereference in ICSeqCompressFrameStart ([Wine Bug #27595](https://bugs.winehq.org/show_bug.cgi?id=27595))
|
||||
* Fix access violation when calling GetStringTypeW with NULL src. ([Wine Bug #37759](https://bugs.winehq.org/show_bug.cgi?id=37759))
|
||||
* Fix black screen on startup introduced by pixelformat changes. ([Wine Bug #35950](https://bugs.winehq.org/show_bug.cgi?id=35950))
|
||||
* Fix caps lock state issues with multiple processes ([Wine Bug #35907](https://bugs.winehq.org/show_bug.cgi?id=35907))
|
||||
* Fix check for end_frame in RtlUnwindEx on x86_64. ([Wine Bug #34254](https://bugs.winehq.org/show_bug.cgi?id=34254))
|
||||
* Fix comparison of punctuation characters in lstrcmp ([Wine Bug #10767](https://bugs.winehq.org/show_bug.cgi?id=10767))
|
||||
* Fix condition mask handling in RtlVerifyVersionInfo ([Wine Bug #36143](https://bugs.winehq.org/show_bug.cgi?id=36143))
|
||||
* Fix crash in Space Rangers2 caused by missing DXTn support ([Wine Bug #24983](https://bugs.winehq.org/show_bug.cgi?id=24983))
|
||||
* Fix crash in clip_cursor_notify caused by uninitialized TLS ([Wine Bug #36915](https://bugs.winehq.org/show_bug.cgi?id=36915))
|
||||
* Fix crash of Trine Demo on start ([Wine Bug #19231](https://bugs.winehq.org/show_bug.cgi?id=19231))
|
||||
* Fix crash of winedevice when relocation entry crosses page boundary ([Wine Bug #28254](https://bugs.winehq.org/show_bug.cgi?id=28254))
|
||||
* Fix cursor clip regression / broken raw input in multiple games ([Wine Bug #33479](https://bugs.winehq.org/show_bug.cgi?id=33479))
|
||||
* Fix device paths in HKLM\SYSTEM\MountedDevices ([Wine Bug #38235](https://bugs.winehq.org/show_bug.cgi?id=38235))
|
||||
* Fix endless loop in regedit when importing files with very long lines
|
||||
* Fix flickering introduced by pixelformat changes. ([Wine Bug #35718](https://bugs.winehq.org/show_bug.cgi?id=35718))
|
||||
* Fix for ConnectNamedPort return value in overlapped mode ([Wine Bug #16550](https://bugs.winehq.org/show_bug.cgi?id=16550))
|
||||
* Fix for programs leaking wndproc slots ([Wine Bug #32451](https://bugs.winehq.org/show_bug.cgi?id=32451))
|
||||
* Fix graphical corruption in FarCry 3 with NVIDIA drivers ([Wine Bug #35062](https://bugs.winehq.org/show_bug.cgi?id=35062))
|
||||
* Fix gray screen on startup introduced by pixelformat changes. ([Wine Bug #35975](https://bugs.winehq.org/show_bug.cgi?id=35975))
|
||||
* Fix handling of ANSI NTLM credentials ([Wine Bug #37063](https://bugs.winehq.org/show_bug.cgi?id=37063))
|
||||
* Fix handling of empty section and key name for profile files. ([Wine Bug #8036](https://bugs.winehq.org/show_bug.cgi?id=8036))
|
||||
* Fix handling of invert_y in DrawTextExW ([Wine Bug #22109](https://bugs.winehq.org/show_bug.cgi?id=22109))
|
||||
* Fix handling of opening a file with RootDirectory pointing to a file handle
|
||||
* Fix handling of opening read-only files for FILE_DELETE_ON_CLOSE ([Wine Bug #38417](https://bugs.winehq.org/show_bug.cgi?id=38417))
|
||||
* Fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED ([Wine Bug #37876](https://bugs.winehq.org/show_bug.cgi?id=37876))
|
||||
* Fix issues with dragging layers between images in Adobe Photoshop 7.0 ([Wine Bug #12007](https://bugs.winehq.org/show_bug.cgi?id=12007))
|
||||
* Fix loading of libraries with incomplete IMAGE_LOAD_CONFIG_DIRECTORY struct
|
||||
* Fix missing video introduced by pixelformat changes. ([Wine Bug #36900](https://bugs.winehq.org/show_bug.cgi?id=36900))
|
||||
* Fix multithreading issues with fullscreen clipping ([Wine Bug #38087](https://bugs.winehq.org/show_bug.cgi?id=38087))
|
||||
* Fix possible segfault in pulse_rd_loop of PulseAudio backend
|
||||
* Fix race-condition when threads are killed during shutdown
|
||||
* Fix regression causing black screen on startup ([Wine Bug #38248](https://bugs.winehq.org/show_bug.cgi?id=38248))
|
||||
* Fix regression causing too dark/missing textures in several games ([Wine Bug #38256](https://bugs.winehq.org/show_bug.cgi?id=38256))
|
||||
* Fix regression caused by blacklisting supported OpenGL extensions ([Wine Bug #38480](https://bugs.winehq.org/show_bug.cgi?id=38480))
|
||||
* Fix return value of ScrollWindowEx for invisible windows ([Wine Bug #37706](https://bugs.winehq.org/show_bug.cgi?id=37706))
|
||||
* Fix scaling behaviour of images and mipmap levels in IDirect3DTexture2_Load (needed for example by Prezzie Hunt)
|
||||
* Fix security cookie handling for UPX compressed executables ([Wine Bug #38949](https://bugs.winehq.org/show_bug.cgi?id=38949))
|
||||
* Fix texture corruption in CSI: Fatal Conspiracy ([Wine Bug #33768](https://bugs.winehq.org/show_bug.cgi?id=33768))
|
||||
* Fix unintentional leaks with ntdll internals
|
||||
* Fix wined3d performance drop introduced by pixelformat changes. ([Wine Bug #35655](https://bugs.winehq.org/show_bug.cgi?id=35655))
|
||||
@@ -129,68 +158,79 @@ Included bug fixes and improvements
|
||||
* Fix wrong defition of ntoskrnl.IoReleaseCancelSpinLock function.
|
||||
* Fix wrong version of ID3DXEffect interface for d3dx9_24
|
||||
* Fix wrong version of ID3DXEffect interface for d3dx9_25 ([Wine Bug #25138](https://bugs.winehq.org/show_bug.cgi?id=25138))
|
||||
* Games For Windows Live 1.x expects a valid linker version in the PE header ([Wine Bug #28768](https://bugs.winehq.org/show_bug.cgi?id=28768))
|
||||
* Forward exitcode from child process when in wineconsole
|
||||
* Free RPC parameters allocated by application before anything else ([Wine Bug #36743](https://bugs.winehq.org/show_bug.cgi?id=36743))
|
||||
* GetMessage should remove already seen messages with higher priority ([Wine Bug #28884](https://bugs.winehq.org/show_bug.cgi?id=28884))
|
||||
* GetMonitorInfo returns the same name for all monitors ([Wine Bug #37709](https://bugs.winehq.org/show_bug.cgi?id=37709))
|
||||
* GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](https://bugs.winehq.org/show_bug.cgi?id=15980))
|
||||
* Globally invalidate key state on changes in other threads ([Wine Bug #29871](https://bugs.winehq.org/show_bug.cgi?id=29871))
|
||||
* Graphical issues in Inquisitor ([Wine Bug #32490](https://bugs.winehq.org/show_bug.cgi?id=32490))
|
||||
* Hearthstone fails to start ([Wine Bug #36216](https://bugs.winehq.org/show_bug.cgi?id=36216))
|
||||
* IOCTL_DVD_READ_STRUCTURE expects the wrong size of output buffer for some requests ([Wine Bug #37767](https://bugs.winehq.org/show_bug.cgi?id=37767))
|
||||
* Ignore unsupported alpha channels in TIFF decoder ([Wine Bug #38027](https://bugs.winehq.org/show_bug.cgi?id=38027))
|
||||
* Ignore unsupported flags for CoInternetSetFeatureEnabled ([Wine Bug #35197](https://bugs.winehq.org/show_bug.cgi?id=35197))
|
||||
* Implement AMStream GetMultiMediaStream functions ([Wine Bug #37090](https://bugs.winehq.org/show_bug.cgi?id=37090))
|
||||
* Implement D3DXGetShaderOutputSemantics
|
||||
* Implement DDENUMSURFACES_CANBECREATED in IDirectDraw7::EnumSurfaces ([Wine Bug #17233](https://bugs.winehq.org/show_bug.cgi?id=17233))
|
||||
* Implement ID3DXEffect::FindNextValidTechnique ([Wine Bug #34101](https://bugs.winehq.org/show_bug.cgi?id=34101))
|
||||
* Implement IDXGIOutput::GetDesc
|
||||
* Implement SetFileInformationByHandle
|
||||
* Implement SetupLogError[A|W] and Setup[Open|Close]Log
|
||||
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](https://bugs.winehq.org/show_bug.cgi?id=13829))
|
||||
* Implement additional stubs for vcomp dlls ([Wine Bug #31640](https://bugs.winehq.org/show_bug.cgi?id=31640))
|
||||
* Implement an Arial replacement font ([Wine Bug #32323](https://bugs.winehq.org/show_bug.cgi?id=32323))
|
||||
* Implement combase.WindowsSubstring function
|
||||
* Implement dbghelp.UnDecorateSymbolNameW ([Wine Bug #38828](https://bugs.winehq.org/show_bug.cgi?id=38828))
|
||||
* Implement default homepage button in inetcpl.cpl
|
||||
* Implement empty enumerator for IWiaDevMgr::EnumDeviceInfo ([Wine Bug #27775](https://bugs.winehq.org/show_bug.cgi?id=27775))
|
||||
* Implement exclusive mode in PulseAudio backend ([Wine Bug #37042](https://bugs.winehq.org/show_bug.cgi?id=37042))
|
||||
* Implement general tab for file property dialog
|
||||
* Implement locking and synchronization of key states ([Wine Bug #31899](https://bugs.winehq.org/show_bug.cgi?id=31899))
|
||||
* Implement mscoree._CorValidateImage for mono runtime ([Wine Bug #38662](https://bugs.winehq.org/show_bug.cgi?id=38662))
|
||||
* Implement ntoskrnl driver testing framework.
|
||||
* Implement ntoskrnl.KeInitializeMutex
|
||||
* Implement proper handling of CLI .NET images in Wine library loader ([Wine Bug #38661](https://bugs.winehq.org/show_bug.cgi?id=38661))
|
||||
* Implement stub for ntoskrnl.IoGetAttachedDeviceReference
|
||||
* Implement stub for ntoskrnl.KeDelayExecutionThread.
|
||||
* Implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe
|
||||
* Implement stubs for ntoskrnl.ObReferenceObjectByPointer and ntoskrnl.ObDereferenceObject
|
||||
* Implement threadpool timers ([Wine Bug #37306](https://bugs.winehq.org/show_bug.cgi?id=37306))
|
||||
* Implement threadpool wait objects
|
||||
* Implement threadpool work items ([Wine Bug #32531](https://bugs.winehq.org/show_bug.cgi?id=32531))
|
||||
* Implement various vcomp functions ([Wine Bug #31640](https://bugs.winehq.org/show_bug.cgi?id=31640))
|
||||
* Improve ReadDataAvailable handling in FilePipeLocalInformation class
|
||||
* Improve stub for AEV_GetVolumeRange ([Wine Bug #35658](https://bugs.winehq.org/show_bug.cgi?id=35658))
|
||||
* Improve stub for ID3DXEffectImpl_CloneEffect
|
||||
* Improve stub for NtQueryEaFile
|
||||
* Improve stubs for AEV_{Get,Set}MasterVolumeLevel
|
||||
* Improve stubs for AEV_{Get,Set}Mute
|
||||
* Improvement for heap allocation performance
|
||||
* Increase wineconsole commandline buffer size ([Wine Bug #34814](https://bugs.winehq.org/show_bug.cgi?id=34814))
|
||||
* Invalidate key state cache globally after calling LL hooks ([Wine Bug #29871](https://bugs.winehq.org/show_bug.cgi?id=29871))
|
||||
* Initialize *lpcDevices in RasEnumDevicesA ([Wine Bug #30378](https://bugs.winehq.org/show_bug.cgi?id=30378))
|
||||
* Initialize System\CurrentControlSet\Control\TimeZoneInformation registry keys
|
||||
* Jedi Knight: Dark Forces II crashes with winmm set to native ([Wine Bug #37983](https://bugs.winehq.org/show_bug.cgi?id=37983))
|
||||
* Lego Stunt Rally requires DXTn software de/encoding support ([Wine Bug #25486](https://bugs.winehq.org/show_bug.cgi?id=25486))
|
||||
* Lockfree algorithm for filedescriptor cache (improves file access speed)
|
||||
* MSVCRT crashes when NULL is passed as string to atof or strtod ([Wine Bug #32550](https://bugs.winehq.org/show_bug.cgi?id=32550))
|
||||
* MSYS2 expects correct handling of WRITECOPY memory protection ([Wine Bug #35561](https://bugs.winehq.org/show_bug.cgi?id=35561))
|
||||
* Make it possible to change media center / tablet pc status ([Wine Bug #18732](https://bugs.winehq.org/show_bug.cgi?id=18732))
|
||||
* MediaCoder needs CUDA for video encoding ([Wine Bug #37664](https://bugs.winehq.org/show_bug.cgi?id=37664))
|
||||
* Multiple applications need EnumDisplayDevicesW implementation ([Wine Bug #34978](https://bugs.winehq.org/show_bug.cgi?id=34978))
|
||||
* Multiple applications start wrong executable if whitespace present in name ([Wine Bug #19666](https://bugs.winehq.org/show_bug.cgi?id=19666))
|
||||
* Multiple applications needs better NtQueryInformationJobObject stub
|
||||
* Need for Speed 3 installer requires devices in HKEY_DYN_DATA ([Wine Bug #7115](https://bugs.winehq.org/show_bug.cgi?id=7115))
|
||||
* Only send WM_DROPFILES when OLE dnd fails ([Wine Bug #29081](https://bugs.winehq.org/show_bug.cgi?id=29081))
|
||||
* Other Pipelight-specific enhancements
|
||||
* Port Royale doesn't display ocean correctly ([Wine Bug #17913](https://bugs.winehq.org/show_bug.cgi?id=17913))
|
||||
* Prevent window managers from grouping all wine programs together ([Wine Bug #32699](https://bugs.winehq.org/show_bug.cgi?id=32699))
|
||||
* Process APC calls before starting process
|
||||
* Process Hacker 2.x needs ntoskrnl.ProbeForRead ([Wine Bug #38103](https://bugs.winehq.org/show_bug.cgi?id=38103))
|
||||
* Properly track handle count of wineserver objects
|
||||
* Python PIP needs better NtQueryInformationJobObject stub
|
||||
* Reduced SetTimer minimum value from 10 ms to 5 ms (improves Silverlight framerates)
|
||||
* Return an error when trying to open a terminated process ([Wine Bug #37087](https://bugs.winehq.org/show_bug.cgi?id=37087))
|
||||
* Return correct IMediaSeeking stream positions in quartz ([Wine Bug #23174](https://bugs.winehq.org/show_bug.cgi?id=23174))
|
||||
* Return correct IMediaSeeking stream positions in quartz
|
||||
* Return correct values for GetThreadTimes function ([Wine Bug #20230](https://bugs.winehq.org/show_bug.cgi?id=20230))
|
||||
* Return more context attributes in schan_InitializeSecurityContextW ([Wine Bug #37527](https://bugs.winehq.org/show_bug.cgi?id=37527))
|
||||
* Return default palette entries from GetSystemPaletteEntries for non-palette-based devices ([Wine Bug #36895](https://bugs.winehq.org/show_bug.cgi?id=36895))
|
||||
* Return dummy ID3DXSkinInfo interface when skinning info not present ([Wine Bug #33904](https://bugs.winehq.org/show_bug.cgi?id=33904))
|
||||
* Return fake device type when systemroot is located on virtual disk ([Wine Bug #36546](https://bugs.winehq.org/show_bug.cgi?id=36546))
|
||||
* Return proper status codes when NtReadFile/NtWriteFile is called on closed (but not disconnected) pipe
|
||||
* SO_CONNECT_TIME returns the appropriate time
|
||||
* Scrolling causes mouse and screen to lock in Call to Power II ([Wine Bug #34559](https://bugs.winehq.org/show_bug.cgi?id=34559))
|
||||
* Send WM_PAINT event during dialog creation ([Wine Bug #35652](https://bugs.winehq.org/show_bug.cgi?id=35652))
|
||||
* Set last error when GetRawInputDeviceList fails ([Wine Bug #37667](https://bugs.winehq.org/show_bug.cgi?id=37667))
|
||||
* Set NamedPipeState to FILE_PIPE_CLOSING_STATE on broken pipe in NtQueryInformationFile
|
||||
* Share source of d3dx9_36 with d3dx9_33 to avoid Wine DLL forwards ([Wine Bug #21817](https://bugs.winehq.org/show_bug.cgi?id=21817))
|
||||
* Show unmounted devices in winecfg and allow changing the unix path
|
||||
* Silence repeated LocaleNameToLCID/LCIDToLocaleName unsupported flags FIXMEs ([Wine Bug #30076](https://bugs.winehq.org/show_bug.cgi?id=30076))
|
||||
* Silence repeated wbemprox "timeout not supported" fixme ([Wine Bug #37618](https://bugs.winehq.org/show_bug.cgi?id=37618))
|
||||
* Skip unknown item when decoding a CMS certificate ([Wine Bug #34388](https://bugs.winehq.org/show_bug.cgi?id=34388))
|
||||
* Software support for Environmental Audio Extensions (EAX)
|
||||
* Store registry timestamps with nanoseconds precision ([Wine Bug #38927](https://bugs.winehq.org/show_bug.cgi?id=38927))
|
||||
* Super Mario 3: Mario Forever fails to load keyboard mapping from profile files. ([Wine Bug #18099](https://bugs.winehq.org/show_bug.cgi?id=18099))
|
||||
* Support for AllocateAndGetTcpExTableFromStack ([Wine Bug #34372](https://bugs.winehq.org/show_bug.cgi?id=34372))
|
||||
* Support for BindImageEx ([Wine Bug #3591](https://bugs.winehq.org/show_bug.cgi?id=3591))
|
||||
@@ -200,16 +240,11 @@ Included bug fixes and improvements
|
||||
* Support for D3DXGetShaderInputSemantics ([Wine Bug #22682](https://bugs.winehq.org/show_bug.cgi?id=22682))
|
||||
* Support for DDS file format in D3DXSaveTextureToFileInMemory ([Wine Bug #26898](https://bugs.winehq.org/show_bug.cgi?id=26898))
|
||||
* Support for DOS hidden/system file attributes ([Wine Bug #9158](https://bugs.winehq.org/show_bug.cgi?id=9158))
|
||||
* Support for Dynamic DST (daylight saving time) information in registry
|
||||
* Support for GdipCreateRegionRgnData ([Wine Bug #34843](https://bugs.winehq.org/show_bug.cgi?id=34843))
|
||||
* Support for FileFsFullSizeInformation information class
|
||||
* Support for GetFinalPathNameByHandle ([Wine Bug #34851](https://bugs.winehq.org/show_bug.cgi?id=34851))
|
||||
* Support for GetSystemTimes ([Wine Bug #19813](https://bugs.winehq.org/show_bug.cgi?id=19813))
|
||||
* Support for GetVolumePathName
|
||||
* Support for H264 DXVA2 GPU video decoding through vaapi
|
||||
* Support for ID3DXFont::DrawTextA/W ([Wine Bug #24754](https://bugs.winehq.org/show_bug.cgi?id=24754))
|
||||
* Support for ID3DXSkinInfoImpl_UpdateSkinnedMesh ([Wine Bug #32572](https://bugs.winehq.org/show_bug.cgi?id=32572))
|
||||
* Support for ITextDocument_fnRange function ([Wine Bug #12458](https://bugs.winehq.org/show_bug.cgi?id=12458))
|
||||
* Support for ITextRange, ITextFont and ITextPara ([Wine Bug #18303](https://bugs.winehq.org/show_bug.cgi?id=18303))
|
||||
* Support for Junction Points ([Wine Bug #12401](https://bugs.winehq.org/show_bug.cgi?id=12401))
|
||||
* Support for KF_FLAG_DEFAULT_PATH in SHGetKnownFolderPath ([Wine Bug #30385](https://bugs.winehq.org/show_bug.cgi?id=30385))
|
||||
* Support for LoadIconMetric ([Wine Bug #35375](https://bugs.winehq.org/show_bug.cgi?id=35375))
|
||||
@@ -217,14 +252,15 @@ Included bug fixes and improvements
|
||||
* Support for NVIDIA video encoder library (nvencodeapi)
|
||||
* Support for NtQuerySection ([Wine Bug #37338](https://bugs.winehq.org/show_bug.cgi?id=37338))
|
||||
* Support for NtSetInformationFile class FileDispositionInformation ([Wine Bug #30397](https://bugs.winehq.org/show_bug.cgi?id=30397))
|
||||
* Support for NtSetInformationFile class FileLinkInformation
|
||||
* Support for NtSetInformationFile class FileRenameInformation ([Wine Bug #30399](https://bugs.winehq.org/show_bug.cgi?id=30399))
|
||||
* Support for PulseAudio backend for audio ([Wine Bug #10495](https://bugs.winehq.org/show_bug.cgi?id=10495))
|
||||
* Support for RtlDecompressBuffer ([Wine Bug #37449](https://bugs.winehq.org/show_bug.cgi?id=37449))
|
||||
* Support for SHCreateSessionKey ([Wine Bug #35630](https://bugs.winehq.org/show_bug.cgi?id=35630))
|
||||
* Support for TOOLTIPS_GetTipText edge cases ([Wine Bug #30648](https://bugs.winehq.org/show_bug.cgi?id=30648))
|
||||
* Support for TransmitFile ([Wine Bug #5048](https://bugs.winehq.org/show_bug.cgi?id=5048))
|
||||
* Support for WTSEnumerateProcessesW ([Wine Bug #29903](https://bugs.winehq.org/show_bug.cgi?id=29903))
|
||||
* Support for extra large and jumbo icon lists in shell32 ([Wine Bug #24721](https://bugs.winehq.org/show_bug.cgi?id=24721))
|
||||
* Support for inherited file ACLs ([Wine Bug #34406](https://bugs.winehq.org/show_bug.cgi?id=34406))
|
||||
* Support for inherited file ACLs
|
||||
* Support for linux priority levels for faster performance
|
||||
* Support for loader dll redirections
|
||||
* Support for named pipe message mode (Linux only) ([Wine Bug #17195](https://bugs.winehq.org/show_bug.cgi?id=17195))
|
||||
* Support for non-blocking SIO_ADDRESS_LIST_CHANGE requests ([Wine Bug #38062](https://bugs.winehq.org/show_bug.cgi?id=38062))
|
||||
@@ -233,11 +269,16 @@ Included bug fixes and improvements
|
||||
* Support for setcap on wine-preloader ([Wine Bug #26256](https://bugs.winehq.org/show_bug.cgi?id=26256))
|
||||
* Support for shell32 file operation progress dialog
|
||||
* Support for stored file ACLs ([Wine Bug #33576](https://bugs.winehq.org/show_bug.cgi?id=33576))
|
||||
* Support for ws2_32.dll.WSAPoll ([Wine Bug #38601](https://bugs.winehq.org/show_bug.cgi?id=38601))
|
||||
* Try harder to get the host name address in getaddrinfo() ([Wine Bug #29609](https://bugs.winehq.org/show_bug.cgi?id=29609))
|
||||
* Tumblebugs 2 requires DXTn software encoding support ([Wine Bug #29586](https://bugs.winehq.org/show_bug.cgi?id=29586))
|
||||
* Update a XIM candidate position when cursor location changes ([Wine Bug #30938](https://bugs.winehq.org/show_bug.cgi?id=30938))
|
||||
* Use GLX_MESA_query_renderer extension to get more exact GPU infos
|
||||
* Use NVX_GPU_MEMORY_INFO extension for more exact video memory accounting on NVIDIA graphic cards
|
||||
* Use POSIX implementation to enumerate directory content on FreeBSD ([Wine Bug #35397](https://bugs.winehq.org/show_bug.cgi?id=35397))
|
||||
* Use actual program name if available to describe PulseAudio streams
|
||||
* Use manual relay for RunDLL_CallEntry16 in shell32 ([Wine Bug #23033](https://bugs.winehq.org/show_bug.cgi?id=23033))
|
||||
* Use video memory for rendering targets if possible ([Wine Bug #34906](https://bugs.winehq.org/show_bug.cgi?id=34906))
|
||||
* Voobly expects correct handling of WRITECOPY memory protection ([Wine Bug #29384](https://bugs.winehq.org/show_bug.cgi?id=29384))
|
||||
* Wine ignores IDF_CHECKFIRST flag in SetupPromptForDisk ([Wine Bug #20465](https://bugs.winehq.org/show_bug.cgi?id=20465))
|
||||
* Workaround for shlwapi URLs with relative paths
|
||||
|
940
debian/changelog
vendored
940
debian/changelog
vendored
File diff suppressed because it is too large
Load Diff
0
debian/conffiles
vendored
0
debian/conffiles
vendored
89
debian/control
vendored
89
debian/control
vendored
@@ -7,7 +7,6 @@ Build-Depends: autotools-dev,
|
||||
autoconf,
|
||||
bison,
|
||||
bsdmainutils,
|
||||
coreutils,
|
||||
debhelper (>= 7),
|
||||
docbook-to-man,
|
||||
docbook-utils,
|
||||
@@ -15,9 +14,8 @@ Build-Depends: autotools-dev,
|
||||
flex,
|
||||
fontforge,
|
||||
gawk,
|
||||
gcc-4.5 | gcc-4.7 | ubuntu-desktop (<< 1.207),
|
||||
gcc-4.5 | gcc-4.7 | gcc-4.9 | ubuntu-desktop (<< 1.207),
|
||||
gettext,
|
||||
gzip,
|
||||
libacl1-dev,
|
||||
libasound2-dev,
|
||||
libcapi20-dev,
|
||||
@@ -39,6 +37,7 @@ Build-Depends: autotools-dev,
|
||||
libmpg123-dev,
|
||||
libncurses5-dev | libncurses-dev,
|
||||
libopenal-dev (>= 1:1.12) | ubuntu-desktop (<< 1.207),
|
||||
libosmesa6-dev,
|
||||
libpcap-dev,
|
||||
libpng12-dev,
|
||||
libpulse-dev,
|
||||
@@ -63,12 +62,13 @@ Build-Depends: autotools-dev,
|
||||
libxxf86vm-dev,
|
||||
linux-kernel-headers,
|
||||
linux-libc-dev,
|
||||
patch,
|
||||
perl,
|
||||
prelink,
|
||||
quilt (>= 0.46-7~),
|
||||
sharutils,
|
||||
unixodbc-dev,
|
||||
x11proto-xinerama-dev
|
||||
Standards-Version: 3.9.2
|
||||
Standards-Version: 3.9.5
|
||||
|
||||
Package: wine-staging-i386
|
||||
Architecture: i386
|
||||
@@ -83,10 +83,7 @@ Recommends: libcapi20-3,
|
||||
libfontconfig1 | libfontconfig,
|
||||
libfreetype6,
|
||||
libgnutls26,
|
||||
libgphoto2-6 | libgphoto2-2 (>= 2.4.6),
|
||||
libgphoto2-port10 | libgphoto2-port0 (>= 2.4.6),
|
||||
libjpeg8,
|
||||
libopenal1 (>= 1:1.12),
|
||||
libosmesa6,
|
||||
libpcap0.8,
|
||||
libpng12-0,
|
||||
@@ -111,7 +108,8 @@ Recommends: libcapi20-3,
|
||||
libgsm1
|
||||
Section: otherosfs
|
||||
Priority: optional
|
||||
Description: The Staging Edition is a special build of the popular Wine software
|
||||
Description: special build of the popular Wine software
|
||||
The Staging Edition is a special build of the popular Wine software
|
||||
with patches representing my current staging tree for Wine.
|
||||
.
|
||||
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
|
||||
@@ -122,9 +120,9 @@ Description: The Staging Edition is a special build of the popular Wine software
|
||||
.
|
||||
This package provides support for loading 32-bit x86 Windows applications
|
||||
.
|
||||
This package is based on a recent Wine beta. While many more applications will
|
||||
work, there may be some loss of functionality compared with the stable release
|
||||
provided by the regular wine package.
|
||||
This package is based on a recent Wine beta. While many more applications
|
||||
will work, there may be some loss of functionality compared with the stable
|
||||
release provided by the regular wine package.
|
||||
|
||||
Package: wine-staging-amd64
|
||||
Architecture: amd64
|
||||
@@ -139,10 +137,7 @@ Recommends: libcapi20-3,
|
||||
libfontconfig1 | libfontconfig,
|
||||
libfreetype6,
|
||||
libgnutls26,
|
||||
libgphoto2-6 | libgphoto2-2 (>= 2.4.6),
|
||||
libgphoto2-port10 | libgphoto2-port0 (>= 2.4.6),
|
||||
libjpeg8,
|
||||
libopenal1 (>= 1:1.12),
|
||||
libosmesa6,
|
||||
libpcap0.8,
|
||||
libpng12-0,
|
||||
@@ -167,7 +162,8 @@ Recommends: libcapi20-3,
|
||||
libgsm1
|
||||
Section: otherosfs
|
||||
Priority: optional
|
||||
Description: The Staging Edition is a special build of the popular Wine software
|
||||
Description: special build of the popular Wine software
|
||||
The Staging Edition is a special build of the popular Wine software
|
||||
with patches representing my current staging tree for Wine.
|
||||
.
|
||||
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
|
||||
@@ -178,9 +174,9 @@ Description: The Staging Edition is a special build of the popular Wine software
|
||||
.
|
||||
This package provides support for loading 64-bit x86 Windows applications
|
||||
.
|
||||
This package is based on a recent Wine beta. While many more applications will
|
||||
work, there may be some loss of functionality compared with the stable release
|
||||
provided by the regular wine package.
|
||||
This package is based on a recent Wine beta. While many more applications
|
||||
will work, there may be some loss of functionality compared with the stable
|
||||
release provided by the regular wine package.
|
||||
|
||||
Package: wine-staging
|
||||
Architecture: i386 amd64
|
||||
@@ -191,7 +187,8 @@ Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
wine-staging-amd64 (= ${binary:Version}) [amd64],
|
||||
Section: otherosfs
|
||||
Priority: optional
|
||||
Description: The Staging Edition is a special build of the popular Wine software
|
||||
Description: special build of the popular Wine software
|
||||
The Staging Edition is a special build of the popular Wine software
|
||||
with patches representing my current staging tree for Wine.
|
||||
.
|
||||
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
|
||||
@@ -200,13 +197,13 @@ Description: The Staging Edition is a special build of the popular Wine software
|
||||
does not require Microsoft Windows, however it can use native system dll
|
||||
files in place of its own if they are available.
|
||||
.
|
||||
This package includes a program loader for running unmodified Windows executables
|
||||
as well as the Wine project's free version of the Windows API for running programs
|
||||
ported from Windows.
|
||||
This package includes a program loader for running unmodified Windows
|
||||
executables as well as the Wine project's free version of the Windows API
|
||||
for running programs ported from Windows.
|
||||
.
|
||||
This package is based on a recent Wine beta. While many more applications will
|
||||
work, there may be some loss of functionality compared with the stable release
|
||||
provided by the regular wine package.
|
||||
This package is based on a recent Wine beta. While many more applications
|
||||
will work, there may be some loss of functionality compared with the stable
|
||||
release provided by the regular wine package.
|
||||
|
||||
Package: wine-staging-dev
|
||||
Architecture: i386 amd64
|
||||
@@ -217,7 +214,8 @@ Depends: libc6-dev,
|
||||
wine-staging-amd64 (= ${binary:Version}) [amd64],
|
||||
Section: libdevel
|
||||
Priority: optional
|
||||
Description: The Staging Edition is a special build of the popular Wine software
|
||||
Description: special build of the popular Wine software
|
||||
The Staging Edition is a special build of the popular Wine software
|
||||
with patches representing my current staging tree for Wine.
|
||||
.
|
||||
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
|
||||
@@ -238,7 +236,8 @@ Depends: ${shlibs:Depends},
|
||||
wine-staging-amd64 (= ${binary:Version}) [amd64],
|
||||
Section: debug
|
||||
Priority: optional
|
||||
Description: The Staging Edition is a special build of the popular Wine software
|
||||
Description: special build of the popular Wine software
|
||||
The Staging Edition is a special build of the popular Wine software
|
||||
with patches representing my current staging tree for Wine.
|
||||
.
|
||||
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
|
||||
@@ -250,6 +249,40 @@ Description: The Staging Edition is a special build of the popular Wine software
|
||||
This package includes debugging symbols useful for reporting crashes and other
|
||||
failures.
|
||||
|
||||
Package: wine-staging-compat
|
||||
Architecture: i386 amd64
|
||||
Depends: wine-staging, ${misc:Depends}
|
||||
Section: otherosfs
|
||||
Priority: optional
|
||||
Replaces: wine, wine1.4, wine1.5, wine1.6, wine1.7, wine-i386, wine1.4-i386,
|
||||
wine1.5-i386, wine1.6-i386, wine1.7-i386, ine-amd64, wine1.4-amd64,
|
||||
wine1.5-amd64, wine1.6-amd64, wine1.7-amd64
|
||||
Conflicts: wine, wine-i386, wine-amd64
|
||||
Provides: wine, wine1.4, wine1.5, wine1.6, wine1.7, wine-i386, wine1.4-i386,
|
||||
wine1.5-i386, wine1.6-i386, wine1.7-i386, wine-amd64 [amd64],
|
||||
wine1.4-amd64 [amd64], wine1.5-amd64 [amd64], wine1.6-amd64 [amd64],
|
||||
wine1.7-amd64 [amd64]
|
||||
Description: special build of the popular Wine software
|
||||
The Staging Edition is a special build of the popular Wine software
|
||||
with patches representing our current staging tree for Wine.
|
||||
.
|
||||
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
|
||||
Wine is a compatibility layer for running Windows applications on Linux.
|
||||
Applications are run at full speed without the need of cpu emulation. Wine
|
||||
does not require Microsoft Windows, however it can use native system dll
|
||||
files in place of its own if they are available.
|
||||
.
|
||||
This package includes a program loader for running unmodified Windows
|
||||
executables as well as the Wine project's free version of the Windows API
|
||||
for running programs ported from Windows.
|
||||
.
|
||||
This package is based on a recent Wine beta. While many more applications
|
||||
will work, there may be some loss of functionality compared with the stable
|
||||
release provided by the regular wine package.
|
||||
.
|
||||
This compatibility package allows to use Wine Staging system-wide as
|
||||
the default Wine version.
|
||||
|
||||
Package: wine-compholio
|
||||
Architecture: i386 amd64
|
||||
Depends: wine-staging, ${misc:Depends}
|
||||
|
226
debian/copyright
vendored
Normal file
226
debian/copyright
vendored
Normal file
@@ -0,0 +1,226 @@
|
||||
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: Wine Staging
|
||||
Source: http://www.winehq.com/ and http://www.wine-staging.com/
|
||||
|
||||
Files: *
|
||||
Copyright: 1993-2015, the Wine project authors
|
||||
2014-2015, the Wine Staging project authors
|
||||
License: LGPL-2.1
|
||||
|
||||
Files: patches/fonts-Missing_Fonts/0001-fonts-Add-Liberation-Sans-as-an-Arial-replacement.patch
|
||||
Copyright: 2007, Red Hat
|
||||
License: LiberationFontLicense
|
||||
|
||||
Files: patches/fonts-Missing_Fonts/0002-fonts-Add-WenQuanYi-Micro-Hei-as-a-Microsoft-Yahei-r.patch
|
||||
Copyright: 2008-2009, WenQuanYi Board of Trustees
|
||||
2007, Google Corporation
|
||||
2003-2004, Electronic Font Open Laboratory
|
||||
1990-2003, Wada Laboratory, the University of Tokyo
|
||||
License: Apache-2 or GPL-3+ with font embedding exceptions
|
||||
|
||||
Files: patches/fonts-Missing_Fonts/0003-fonts-Add-Courier-Prime-as-a-Courier-New-replacement
|
||||
Copyright: 2013, Quote-Unquote Apps
|
||||
License: OFL1.1
|
||||
|
||||
License: LGPL-2.1
|
||||
This software is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
.
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
.
|
||||
On Debian systems, the complete text of the GNU Library General Public
|
||||
License can be found in /usr/share/common-licenses/LGPL-2.1 file.
|
||||
|
||||
License: LiberationFontLicense
|
||||
LICENSE AGREEMENT AND LIMITED PRODUCT WARRANTY
|
||||
LIBERATION FONT SOFTWARE
|
||||
.
|
||||
This agreement governs the use of the Software and any updates to the Software,
|
||||
regardless of the delivery mechanism. Subject to the following terms, Red Hat,
|
||||
Inc. ("Red Hat") grants to the user ("Client") a license to this work pursuant
|
||||
to the GNU General Public License v.2 with the exceptions set forth below and
|
||||
such other terms as our set forth in this End User License Agreement.
|
||||
.
|
||||
1.The Software and License Exception. LIBERATION font software (the "Software")
|
||||
consists of TrueType-OpenType formatted font software for rendering LIBERATION
|
||||
typefaces in sans serif, serif, and monospaced character styles. You are licensed
|
||||
to use, modify, copy, and distribute the Software pursuant to the GNU General
|
||||
Public License v.2 with the following exceptions:
|
||||
(a)As a special exception, if you create a document which uses this font, and
|
||||
embed this font or unaltered portions of this font into the document, this font
|
||||
does not by itself cause the resulting document to be covered by the GNU General
|
||||
Public License. This exception does not however invalidate any other reasons why
|
||||
the document might be covered by the GNU General Public License. If you modify
|
||||
this font, you may extend this exception to your version of the font, but you
|
||||
are not obligated to do so. If you do not wish to do so, delete this exception
|
||||
statement from your version.
|
||||
(b)As a further exception, any distribution of the object code of the Software
|
||||
in a physical product must provide you the right to access and modify the source
|
||||
code for the Software and to reinstall that modified version of the Software in
|
||||
object code form on the same physical product on which you received it.
|
||||
2.Intellectual Property Rights. The Software and each of its components,
|
||||
including the source code, documentation, appearance, structure and organization
|
||||
are owned by Red Hat and others and are protected under copyright and other laws.
|
||||
Title to the Software and any component, or to any copy, modification, or merged
|
||||
portion shall remain with the aforementioned, subject to the applicable license.
|
||||
The "LIBERATION" trademark is a trademark of Red Hat, Inc. in the U.S. and other
|
||||
countries. This agreement does not permit Client to distribute modified versions
|
||||
of the Software using Red Hat's trademarks. If Client makes a redistribution of
|
||||
a modified version of the Software, then Client must modify the files names to
|
||||
remove any reference to the Red Hat trademarks and must not use the Red Hat
|
||||
trademarks in any way to reference or promote the modified Software.
|
||||
3.Limited Warranty. To the maximum extent permitted under applicable law, the
|
||||
Software is provided and licensed "as is" without warranty of any kind,
|
||||
expressed or implied, including the implied warranties of merchantability,
|
||||
non-infringement or fitness for a particular purpose. Red Hat does not warrant
|
||||
that the functions contained in the Software will meet Client's requirements or
|
||||
that the operation of the Software will be entirely error free or appear
|
||||
precisely as described in the accompanying documentation.
|
||||
4.Limitation of Remedies and Liability. To the maximum extent permitted by
|
||||
applicable law, Red Hat or any Red Hat authorized dealer will not be liable to
|
||||
Client for any incidental or consequential damages, including lost profits or
|
||||
lost savings arising out of the use or inability to use the Software, even if
|
||||
Red Hat or such dealer has been advised of the possibility of such damages.
|
||||
5.General. If any provision of this agreement is held to be unenforceable, that
|
||||
shall not affect the enforceability of the remaining provisions. This agreement
|
||||
shall be governed by the laws of the State of North Carolina and of the United
|
||||
States, without regard to any conflict of laws provisions, except that the
|
||||
United Nations Convention on the International Sale of Goods shall not apply.
|
||||
Copyright © 2007 Red Hat, Inc. All rights reserved. LIBERATION is a trademark
|
||||
of Red Hat, Inc.
|
||||
|
||||
License: GPL-3+ with font embedding exceptions
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
.
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
.
|
||||
As a special exception, if you create a document which uses this font,
|
||||
and embed this font or unaltered portions of this font into the
|
||||
document, this font does not by itself cause the resulting document to
|
||||
be covered by the GNU General Public License. This exception does not
|
||||
however invalidate any other reasons why the document might be covered
|
||||
by the GNU General Public License. If you modify this font, you may
|
||||
extend this exception to your version of the font, but you are not
|
||||
obligated to do so. If you do not wish to do so, delete this exception
|
||||
statement from your version.
|
||||
.
|
||||
On Debian systems, the complete text of the GNU General Public License
|
||||
version 3 can be found in /usr/share/common-licenses/GPL-3 file.
|
||||
|
||||
License: OFL1.1
|
||||
Copyright (c) 2013, Quote-Unquote Apps (http://quoteunquoteapps.com),
|
||||
with Reserved Font Name Courier Prime.
|
||||
.
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
.
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
.
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
.
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
.
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
.
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
.
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
.
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
.
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
.
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
.
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
.
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
.
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
.
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
.
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
.
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
|
||||
License: Apache-2
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
.
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
.
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
.
|
||||
On Debian systems, the complete text of the Apache License 2.0 can be
|
||||
found in /usr/share/common-licenses/Apache-2.0 file.
|
14
debian/rules
vendored
14
debian/rules
vendored
@@ -1,11 +1,8 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
# Use gcc-4.5 if it's available
|
||||
ifeq ($(shell which gcc-4.5),)
|
||||
CC = gcc
|
||||
else
|
||||
CC = gcc-4.5
|
||||
endif
|
||||
# Prefer gcc-4.5, then 4.7, then 4.9 - otherwise fallback to gcc.
|
||||
export CC = $(shell for _cc in gcc-4.5 gcc-4.7 gcc-4.9 gcc false; do \
|
||||
if which "$$_cc" >/dev/null 2>&1; then echo "$$_cc"; break; fi; done)
|
||||
|
||||
%:
|
||||
dh $@ --parallel
|
||||
@@ -56,18 +53,23 @@ override_dh_install:
|
||||
|
||||
# Create compatibility symlinks
|
||||
mkdir -p debian/wine-compholio/opt/wine-compholio/bin
|
||||
mkdir -p debian/wine-staging-compat/usr/bin
|
||||
|
||||
for _file in $$(ls "debian/wine-staging/opt/wine-staging/bin"); do \
|
||||
ln -s "/opt/wine-staging/bin/$$_file" "debian/wine-compholio/opt/wine-compholio/bin/$$_file"; \
|
||||
ln -s "/opt/wine-staging/bin/$$_file" "debian/wine-staging-compat/usr/bin/$$_file"; \
|
||||
done
|
||||
|
||||
# Architecture specific compatibility symlinks
|
||||
ifeq ($(DEB_HOST_ARCH),amd64)
|
||||
for _file in wine wine-preloader wine64 wine64-preloader; do \
|
||||
ln -s "/opt/wine-staging/bin/$$_file" "debian/wine-compholio/opt/wine-compholio/bin/$$_file"; \
|
||||
ln -s "/opt/wine-staging/bin/$$_file" "debian/wine-staging-compat/usr/bin/$$_file"; \
|
||||
done
|
||||
else
|
||||
for _file in wine wine-preloader; do \
|
||||
ln -s "/opt/wine-staging/bin/$$_file" "debian/wine-compholio/opt/wine-compholio/bin/$$_file"; \
|
||||
ln -s "/opt/wine-staging/bin/$$_file" "debian/wine-staging-compat/usr/bin/$$_file"; \
|
||||
done
|
||||
endif
|
||||
|
||||
|
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
@@ -0,0 +1 @@
|
||||
3.0 (native)
|
70
debian/tools/Makefile.in
vendored
70
debian/tools/Makefile.in
vendored
@@ -1,70 +0,0 @@
|
||||
#
|
||||
# This file is automatically generated, DO NOT EDIT!
|
||||
#
|
||||
|
||||
.NOTPARALLEL:
|
||||
|
||||
CURDIR ?= ${{.CURDIR}}
|
||||
PATCH := $(CURDIR)/../debian/tools/gitapply.sh
|
||||
APPLY = (cd "$(DESTDIR)" && $(PATCH))
|
||||
APPLY_FILE = @echo "Applying $(1)"; $(APPLY) < "$(CURDIR)/$(1)"
|
||||
|
||||
#
|
||||
# This Makefile understands the following targets:
|
||||
#
|
||||
# install (default): apply patches to directory provided by DESTDIR
|
||||
# install-git: as above, but use 'git am' to apply the patches
|
||||
# series: create a 'series' file containing the patch order
|
||||
# clean: delete autogenerated and temporary files
|
||||
#
|
||||
|
||||
PATCHLIST := \
|
||||
{patchlist}
|
||||
|
||||
.PHONY: install
|
||||
install: $(PATCHLIST)
|
||||
cat *.ok | sort | $(CURDIR)/../debian/tools/patchlist.sh | $(APPLY)
|
||||
cd $(DESTDIR) && autoreconf -f
|
||||
cd $(DESTDIR) && ./tools/make_requests
|
||||
|
||||
.PHONY: install-git
|
||||
install-git: PATCH := git am
|
||||
install-git: install
|
||||
|
||||
series: APPLY_FILE = @echo "$(1)" >> series
|
||||
series: $(PATCHLIST)
|
||||
@cat *.ok | sort | $(CURDIR)/../debian/tools/patchlist.sh > patchlist.diff
|
||||
@echo "patchlist.diff" >> series
|
||||
@( \
|
||||
echo ""; \
|
||||
echo "The 'series' file was created in current directory. Please note that"; \
|
||||
echo "'patchlist.diff' is autogenerated based on your selection of patches and not"; \
|
||||
echo "included in this repository - keep in mind to update it on every release."; \
|
||||
echo ""; \
|
||||
echo "Moreover, depending on which patches you have selected, you will have to run"; \
|
||||
echo "'autoreconf -f' and/or './tools/make_requests' after applying them."; \
|
||||
echo ""; \
|
||||
binary=0; \
|
||||
while IFS= read -r line; do \
|
||||
if grep -q "^GIT binary patch" "$$line"; then \
|
||||
binary=1; break; \
|
||||
fi \
|
||||
done < series; \
|
||||
if [ "$$binary" -ne 0 ]; then \
|
||||
echo "The following files contain binary patches and cannot be applied with the"; \
|
||||
echo "regular 'patch' commandline tool:"; \
|
||||
echo ""; \
|
||||
while IFS= read -r line; do \
|
||||
grep -q "^GIT binary patch" "$$line" && echo "$$line"; \
|
||||
done < series; \
|
||||
echo ""; \
|
||||
echo "Please use 'git apply' or '../debian/tools/gitapply.sh' from this repository."; \
|
||||
echo ""; \
|
||||
fi \
|
||||
)
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f series patchlist.diff
|
||||
rm -f *.ok
|
||||
|
21
debian/tools/README.md.in
vendored
21
debian/tools/README.md.in
vendored
@@ -1,25 +1,26 @@
|
||||
What is Wine Staging?
|
||||
=====================
|
||||
---------------------
|
||||
|
||||
**Warning: Do not report bugs at bugs.winehq.org when using this version!
|
||||
Please take a look [here](http://bugs.wine-staging.com) for more information
|
||||
about how to report bugs.**
|
||||
|
||||
**Wine Staging** (formerly wine-compholio) is a special wine version containing
|
||||
bug fixes and features that are not yet available in regular wine versions. The
|
||||
idea behind Wine Staging is to provide new features faster to end users and to
|
||||
bug fixes and features, which are not yet available in regular wine versions.
|
||||
The idea of Wine Staging is to provide new features faster to end users and to
|
||||
give developers the possibility to discuss and improve their patches before
|
||||
they are sent upstream. We also intend to create a community of wine developers
|
||||
to share experience and to make it easier for beginners to start hacking on
|
||||
wine.
|
||||
wine. More information about Wine Staging can also be found on our website
|
||||
[wine-staging.com](http://wine-staging.com).
|
||||
|
||||
Although we are reviewing all patches before adding them, you may encounter
|
||||
additional bugs, which are not present in regular wine. Make sure to report
|
||||
such issues in our bug tracker instead of winehq.org so that we can try to
|
||||
solve them in future versions. Thanks!
|
||||
Although we are reviewing and testing all patches before adding them, you may
|
||||
encounter additional bugs, which are not present in vanilla wine. Make sure to
|
||||
report such issues in our bug tracker instead of winehq.org so that we can try
|
||||
to solve them in future versions. Thanks!
|
||||
|
||||
How to install and use Wine Staging
|
||||
===================================
|
||||
-----------------------------------
|
||||
|
||||
Ready-to-use packages for Wine Staging are available for a variety
|
||||
of different Linux distributions directly for download. Just follow the
|
||||
@@ -36,7 +37,7 @@ Wine. All those differences are also documented on the
|
||||
|
||||
|
||||
Included bug fixes and improvements
|
||||
===================================
|
||||
-----------------------------------
|
||||
|
||||
{fixes}
|
||||
|
||||
|
211
debian/tools/patchinstall.sh.in
vendored
211
debian/tools/patchinstall.sh.in
vendored
@@ -32,9 +32,11 @@ usage()
|
||||
echo "Configuration:"
|
||||
echo " DESTDIR=path Specify the path to the wine source tree"
|
||||
echo " --all Select all patches"
|
||||
echo " --force-autoconf Run autoreconf and tools/make_requests after each patch"
|
||||
echo " --help Display this help and exit"
|
||||
echo " --no-patchlist Do not apply patchlist (needed for 'wine --patches')"
|
||||
echo " --no-autoconf Do not run autoreconf and tools/make_requests"
|
||||
echo " --version Show version information"
|
||||
echo " -W patchset Exclude a specific patchset"
|
||||
echo ""
|
||||
echo "Backends:"
|
||||
@@ -46,6 +48,17 @@ usage()
|
||||
echo ""
|
||||
}}
|
||||
|
||||
# Show version information
|
||||
version()
|
||||
{{
|
||||
echo "Wine Staging {latest_staging_version}"
|
||||
echo "Copyright (C) 2014-2015 the Wine Staging project authors."
|
||||
echo ""
|
||||
echo "Patchset to be applied on upstream Wine:"
|
||||
echo " commit {latest_wine_commit}"
|
||||
echo ""
|
||||
}}
|
||||
|
||||
# Critical error, abort
|
||||
abort()
|
||||
{{
|
||||
@@ -63,11 +76,11 @@ warning()
|
||||
|
||||
# Default settings
|
||||
patch_enable_all 0
|
||||
category_enable_all 0
|
||||
enable_patchlist=1
|
||||
enable_autoconf=1
|
||||
patchlist="/dev/null"
|
||||
backend="patch"
|
||||
enable=1
|
||||
|
||||
# Find location of patches
|
||||
patchdir="$(dirname "$(readlink -f "$0")")"
|
||||
@@ -85,16 +98,6 @@ if test "$#" -eq 0; then
|
||||
fi
|
||||
|
||||
while test "$#" -gt 0; do
|
||||
if patch_enable "$1" "$enable"; then
|
||||
shift
|
||||
enable=1
|
||||
continue
|
||||
fi
|
||||
|
||||
if test "$enable" -ne 1; then
|
||||
abort "Wrong use of -W commandline argument, expected patchname."
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
DESTDIR=*)
|
||||
DESTDIR="${{1#*=}}"
|
||||
@@ -111,6 +114,11 @@ while test "$#" -gt 0; do
|
||||
shift
|
||||
;;
|
||||
|
||||
--force-autoconf)
|
||||
enable_autoconf=2
|
||||
shift
|
||||
;;
|
||||
|
||||
--help)
|
||||
usage
|
||||
exit 0
|
||||
@@ -126,21 +134,30 @@ while test "$#" -gt 0; do
|
||||
shift
|
||||
;;
|
||||
|
||||
--version)
|
||||
version
|
||||
exit 0
|
||||
;;
|
||||
|
||||
-W)
|
||||
enable=2
|
||||
# Disable patchset
|
||||
if ! patch_enable "$2" 2; then
|
||||
abort "Wrong usage of -W commandline argument, expected patchname."
|
||||
fi
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
|
||||
*)
|
||||
abort "Unknown commandline argument $1"
|
||||
exit 1
|
||||
# Enable patchset
|
||||
if ! patch_enable "$1" 1; then
|
||||
abort "Unknown commandline argument $1."
|
||||
fi
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test "$enable" -ne 1; then
|
||||
abort "Missing argument for -W, expected patchname."
|
||||
fi
|
||||
|
||||
# Determine DESTDIR if not explicitly specified
|
||||
if test -z "$DESTDIR" -a -f ./tools/make_requests; then
|
||||
DESTDIR="$(pwd)"
|
||||
@@ -154,6 +171,85 @@ if ! cd "$DESTDIR"; then
|
||||
abort "Unable to change directory to $DESTDIR."
|
||||
fi
|
||||
|
||||
# Helper to update configure / the wineserver protocol if required
|
||||
if ! command -v diff >/dev/null 2>&1 ||
|
||||
! command -v grep >/dev/null 2>&1 ||
|
||||
! command -v cmp >/dev/null 2>&1; then
|
||||
|
||||
update_configure()
|
||||
{{
|
||||
autoreconf -f
|
||||
}}
|
||||
|
||||
update_protocol()
|
||||
{{
|
||||
./tools/make_requests
|
||||
}}
|
||||
|
||||
else
|
||||
|
||||
update_configure()
|
||||
{{
|
||||
_file="./configure"
|
||||
|
||||
if ! cp -a "$_file" "$_file.old"; then
|
||||
abort "failed to create $_file.old"
|
||||
fi
|
||||
|
||||
if ! autoreconf -f; then
|
||||
rm "$_file.old"
|
||||
unset _file
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Shifting by 62 bits is undefined behaviour when off_t is 32-bit, see also
|
||||
# https://launchpad.net/ubuntu/+source/autoconf/2.69-6 - the bug is still
|
||||
# present in some other distros (including Archlinux).
|
||||
_large_off_old="^#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))$"
|
||||
_large_off_new="#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))"
|
||||
sed -i'' -e "s|$_large_off_old|$_large_off_new|g" "$_file"
|
||||
unset _large_off_old _large_off_new
|
||||
|
||||
# Restore original timestamp when nothing changed
|
||||
if ! cmp "$_file.old" "$_file" >/dev/null; then
|
||||
rm "$_file.old"
|
||||
else
|
||||
mv "$_file.old" "$_file"
|
||||
fi
|
||||
|
||||
unset _file
|
||||
return 0
|
||||
}}
|
||||
|
||||
update_protocol()
|
||||
{{
|
||||
_file="./include/wine/server_protocol.h"
|
||||
|
||||
if ! cp -a "$_file" "$_file.old"; then
|
||||
abort "failed to create $_file.old"
|
||||
fi
|
||||
|
||||
if ! ./tools/make_requests; then
|
||||
rm "$_file.old"
|
||||
unset _file
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Restore original timestamp when nothing changed
|
||||
if diff -u "$_file.old" "$_file" |
|
||||
grep -v "^[+-]#define SERVER_PROTOCOL_VERSION" |
|
||||
grep -v "^\(+++\|---\)" | grep -q "^[+-]"; then
|
||||
rm "$_file.old"
|
||||
else
|
||||
mv "$_file.old" "$_file"
|
||||
fi
|
||||
|
||||
unset _file
|
||||
return 0
|
||||
}}
|
||||
fi
|
||||
|
||||
|
||||
# Most backends will try to use git, either directly or indirectly.
|
||||
# Unfortunately this does not work when "$DESTDIR" points to a
|
||||
# subdirectory of a git tree, which has the effect that no patches
|
||||
@@ -172,10 +268,15 @@ if test "$backend" = "patch"; then
|
||||
gitapply_args=""
|
||||
fi
|
||||
|
||||
patch_apply_file ()
|
||||
if test "$enable_autoconf" -gt 1; then
|
||||
warning "Ignoring commandline argument --force-autoconf."
|
||||
enable_autoconf=1
|
||||
fi
|
||||
|
||||
patch_apply_file()
|
||||
{{
|
||||
echo "Applying $1"
|
||||
if ! "$patchdir/../debian/tools/gitapply.sh" $gitapply_args < "$1"; then
|
||||
if ! "$patchdir/gitapply.sh" $gitapply_args < "$1"; then
|
||||
abort "Failed to apply patch, aborting!"
|
||||
fi
|
||||
}}
|
||||
@@ -196,18 +297,25 @@ elif test "$backend" = "epatch"; then
|
||||
abort "Shell functions epatch/ebegin/eend not found. You have to source this script from your ebuild."
|
||||
fi
|
||||
|
||||
patch_apply_file ()
|
||||
if test "$enable_autoconf" -gt 1; then
|
||||
warning "Ignoring commandline argument --force-autoconf."
|
||||
enable_autoconf=1
|
||||
fi
|
||||
|
||||
patch_apply_file()
|
||||
{{
|
||||
shortname="$(basename "$1")"
|
||||
_shortname="$(basename "$1")"
|
||||
if grep -q "^GIT binary patch" "$1"; then
|
||||
ebegin "Applying $shortname"
|
||||
"$patchdir/../debian/tools/gitapply.sh" $gitapply_args < "$1" || \
|
||||
ebegin "Applying $_shortname"
|
||||
if ! "$patchdir/gitapply.sh" $gitapply_args < "$1"; then
|
||||
die "Failed Patch: $1!"
|
||||
fi
|
||||
eend
|
||||
|
||||
else
|
||||
epatch "$1" # epatch calls die upon failure
|
||||
fi
|
||||
unset _shortname
|
||||
}}
|
||||
|
||||
# GIT backend - apply patches using 'git am'
|
||||
@@ -217,12 +325,44 @@ elif test "$backend" = "git" -o "$backend" = "git-am"; then
|
||||
abort "Backend 'git-am' not possible when DESTDIR points to a git subdirectory."
|
||||
fi
|
||||
|
||||
patch_apply_file ()
|
||||
patch_apply_file()
|
||||
{{
|
||||
echo "Applying $1"
|
||||
if ! git am "$1"; then
|
||||
abort "Failed to apply patch, aborting!"
|
||||
fi
|
||||
if test "$enable_autoconf" -gt 1; then
|
||||
_do_commit=0
|
||||
|
||||
# Run 'autoreconf -f' if required
|
||||
if git show --pretty=format: --name-only | grep -q "^\(configure.ac\|aclocal.m4\)$"; then
|
||||
if ! update_configure; then
|
||||
abort "'autoreconf -f' failed."
|
||||
fi
|
||||
git add ./configure
|
||||
git add ./include/config.h.in
|
||||
_do_commit=1
|
||||
fi
|
||||
|
||||
# Run './tools/make_requests' if required
|
||||
if git show --pretty=format: --name-only | grep -q "^server/"; then
|
||||
if ! update_protocol; then
|
||||
abort "'./tools/make_requests' failed."
|
||||
fi
|
||||
git add ./include/wine/server_protocol.h
|
||||
git add ./server/trace.c
|
||||
git add ./server/request.h
|
||||
_do_commit=1
|
||||
fi
|
||||
|
||||
if test "$_do_commit" -ne 0; then
|
||||
if ! git commit --amend --reuse-message HEAD; then
|
||||
abort "Failed to include autogenerated changes in commit."
|
||||
fi
|
||||
fi
|
||||
|
||||
unset _do_commit
|
||||
fi
|
||||
}}
|
||||
|
||||
# Git apply backend
|
||||
@@ -232,7 +372,12 @@ elif test "$backend" = "git-apply"; then
|
||||
abort "Backend 'git-apply' not possible when DESTDIR points to a git subdirectory."
|
||||
fi
|
||||
|
||||
patch_apply_file ()
|
||||
if test "$enable_autoconf" -gt 1; then
|
||||
warning "Ignoring commandline argument --force-autoconf."
|
||||
enable_autoconf=1
|
||||
fi
|
||||
|
||||
patch_apply_file()
|
||||
{{
|
||||
echo "Applying $1"
|
||||
if ! git apply "$1"; then
|
||||
@@ -252,20 +397,21 @@ elif test "$backend" = "stg"; then
|
||||
enable_patchlist=0
|
||||
enable_autoconf=0
|
||||
|
||||
patch_apply_file ()
|
||||
patch_apply_file()
|
||||
{{
|
||||
echo "Applying $1"
|
||||
shortname="$(basename "$1")"
|
||||
if ! echo "staging/$shortname" | cat - "$1" | stg import; then
|
||||
_shortname="$(basename "$1")"
|
||||
if ! echo "staging/$_shortname" | cat - "$1" | stg import; then
|
||||
abort "Failed to apply patch, aborting!"
|
||||
fi
|
||||
unset _shortname
|
||||
}}
|
||||
|
||||
else
|
||||
abort "Selected backend $backend not supported."
|
||||
fi
|
||||
|
||||
patch_apply ()
|
||||
patch_apply()
|
||||
{{
|
||||
patch_apply_file "$patchdir/$1"
|
||||
}}
|
||||
@@ -337,13 +483,12 @@ EOF
|
||||
fi
|
||||
|
||||
if test "$enable_autoconf" -eq 1; then
|
||||
if ! autoreconf -f; then
|
||||
if ! update_configure; then
|
||||
abort "'autoreconf -f' failed."
|
||||
fi
|
||||
if ! ./tools/make_requests; then
|
||||
if ! update_protocol; then
|
||||
abort "'./tools/make_requests' failed."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Success
|
||||
exit 0
|
||||
|
193
debian/tools/patchupdate.py
vendored
193
debian/tools/patchupdate.py
vendored
@@ -43,10 +43,13 @@ import xml.dom.minidom
|
||||
_devnull = open(os.devnull, 'wb')
|
||||
|
||||
# Cached information to speed up patch dependency checks
|
||||
latest_wine_commit = None
|
||||
cached_patch_result = {}
|
||||
latest_wine_commit = None
|
||||
latest_staging_version = None
|
||||
cached_patch_result = {}
|
||||
|
||||
class config(object):
|
||||
path_cache = ".patchupdate.cache"
|
||||
|
||||
path_patches = "patches"
|
||||
path_changelog = "debian/changelog"
|
||||
path_wine = "debian/tools/wine"
|
||||
@@ -66,12 +69,14 @@ class PatchUpdaterError(RuntimeError):
|
||||
class PatchSet(object):
|
||||
def __init__(self, name, directory):
|
||||
self.name = name
|
||||
self.is_category = False
|
||||
self.variable = None
|
||||
self.directory = directory
|
||||
self.fixes = []
|
||||
self.changes = []
|
||||
self.disabled = False
|
||||
self.ifdefined = None
|
||||
self.categories = []
|
||||
|
||||
self.files = []
|
||||
self.patches = []
|
||||
@@ -115,8 +120,9 @@ def _load_dict(filename):
|
||||
|
||||
def _save_dict(filename, value):
|
||||
"""Save a Python dictionary object to a file."""
|
||||
with open(filename, "wb") as fp:
|
||||
with open("%s.new" % filename, "wb") as fp:
|
||||
pickle.dump(value, fp, pickle.HIGHEST_PROTOCOL)
|
||||
os.rename("%s.new" % filename, filename)
|
||||
|
||||
def _sha256(fp):
|
||||
"""Calculate sha256sum from a file descriptor."""
|
||||
@@ -173,11 +179,13 @@ def _read_changelog():
|
||||
r = re.match("^([a-zA-Z0-9][^(]*)\((.*)\) ([^;]*)", line)
|
||||
if r: yield (r.group(1).strip(), r.group(2).strip(), r.group(3).strip())
|
||||
|
||||
def _stable_compholio_version():
|
||||
def _latest_staging_version(only_stable=False):
|
||||
"""Get version number of the latest stable release."""
|
||||
for package, version, distro in _read_changelog():
|
||||
if distro.lower() != "unreleased":
|
||||
return version
|
||||
elif not only_stable:
|
||||
return "%s (unreleased)" % version
|
||||
|
||||
def _latest_wine_commit(commit=None):
|
||||
"""Get latest wine commit."""
|
||||
@@ -185,7 +193,7 @@ def _latest_wine_commit(commit=None):
|
||||
raise PatchUpdaterError("Please create a symlink to the wine repository in %s" % config.path_wine)
|
||||
if commit is None:
|
||||
commit = subprocess.check_output(["git", "rev-parse", "origin/master"], cwd=config.path_wine).strip()
|
||||
assert len(commit) == 40
|
||||
assert len(commit) == 40 and commit == commit.lower()
|
||||
return commit
|
||||
|
||||
def enum_directories(revision, path):
|
||||
@@ -227,6 +235,7 @@ def read_patchset(revision = None):
|
||||
all_patches = {}
|
||||
name_to_id = {}
|
||||
all_bugids = set()
|
||||
categories = {}
|
||||
|
||||
# Read in sorted order (to ensure created Makefile doesn't change too much)
|
||||
for name, directory in sorted(enum_directories(revision, config.path_patches)):
|
||||
@@ -291,6 +300,12 @@ def read_patchset(revision = None):
|
||||
if i != j and any([fnmatch.fnmatch(f, val) for f in other_patch.modified_files]):
|
||||
patch.auto_depends.add(j)
|
||||
|
||||
elif key == "category":
|
||||
val = "category-%s" % val
|
||||
if name_to_id.has_key(val):
|
||||
raise PatchUpdaterError("Category name in definition file %s collides with patchset %s" % (filename, val))
|
||||
patch.categories.append(val)
|
||||
|
||||
elif key == "fixes":
|
||||
r = re.match("^[0-9]+$", val)
|
||||
if r:
|
||||
@@ -315,12 +330,30 @@ def read_patchset(revision = None):
|
||||
elif revision is None:
|
||||
print "WARNING: Ignoring unknown command in definition file %s: %s" % (filename, line)
|
||||
|
||||
# If patch is not disabled then finally add it to the category
|
||||
if not patch.disabled:
|
||||
for category in patch.categories:
|
||||
if not categories.has_key(category):
|
||||
categories[category] = set()
|
||||
categories[category].add(i)
|
||||
|
||||
|
||||
# Add virtual targets for all the categories
|
||||
for category, indices in categories.iteritems():
|
||||
patch = PatchSet(category, directory)
|
||||
patch.is_category = True
|
||||
patch.depends = indices
|
||||
|
||||
i = next(unique_id)
|
||||
all_patches[i] = patch
|
||||
name_to_id[name] = i
|
||||
|
||||
# To simplify the task of keeping the bug list up-to-date, list all bugs
|
||||
# which might require attention.
|
||||
if revision is None:
|
||||
once = True
|
||||
for bugid, bug in sorted(_winebugs_query(all_bugids).items()):
|
||||
if bug['bug_status'] not in ["UNCONFIRMED", "NEW", "REOPENED"]:
|
||||
if bug['bug_status'] not in ["UNCONFIRMED", "NEW", "ASSIGNED", "REOPENED"]:
|
||||
if once:
|
||||
print ""
|
||||
print "WARNING: The following bugs might require attention:"
|
||||
@@ -364,7 +397,7 @@ def contains_binary_patch(all_patches, indices, filename):
|
||||
return False
|
||||
|
||||
def get_wine_file(filename):
|
||||
"""Return the hash and optionally the content of a file."""
|
||||
"""Return the content of a file."""
|
||||
entry = "%s:%s" % (latest_wine_commit, filename)
|
||||
result = tempfile.NamedTemporaryFile()
|
||||
try:
|
||||
@@ -501,6 +534,7 @@ def generate_script(all_patches):
|
||||
modified_files[f].append(i)
|
||||
|
||||
# Check dependencies
|
||||
dependency_cache = _load_dict(config.path_cache)
|
||||
pool = multiprocessing.pool.ThreadPool(processes=4)
|
||||
try:
|
||||
for filename, indices in modified_files.iteritems():
|
||||
@@ -513,47 +547,76 @@ def generate_script(all_patches):
|
||||
continue
|
||||
|
||||
original_content = get_wine_file(filename)
|
||||
original_hash = _sha256(original_content)
|
||||
selected_patches = select_patches(all_patches, indices, filename)
|
||||
|
||||
# Generate a unique id based on the original content, the selected patches
|
||||
# and the dependency information. Since this information only has to be compared
|
||||
# we can throw it into a single hash.
|
||||
m = hashlib.sha256()
|
||||
m.update(original_hash)
|
||||
for i in indices:
|
||||
m.update("P%s" % selected_patches[i][0])
|
||||
for j in indices:
|
||||
if causal_time_smaller(all_patches[j].verify_time, all_patches[i].verify_time):
|
||||
m.update("D%s" % selected_patches[j][0])
|
||||
unique_hash = m.digest()
|
||||
|
||||
# Skip checks if it matches the information from the cache
|
||||
try:
|
||||
if dependency_cache[filename] == unique_hash:
|
||||
continue
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
# Show a progress bar while applying the patches - this task might take some time
|
||||
chunk_size = 20
|
||||
with progressbar.ProgressBar(desc=filename, total=2 ** len(indices) / chunk_size) as progress:
|
||||
|
||||
def test_apply(bitstring):
|
||||
set_apply = [(i, all_patches[i]) for u, i in zip(bitstring, indices) if u]
|
||||
set_skip = [(i, all_patches[i]) for u, i in zip(bitstring, indices) if not u]
|
||||
def test_apply(current):
|
||||
set_apply = [(i, all_patches[i]) for i in current]
|
||||
set_skip = [(i, all_patches[i]) for i in indices if i not in current]
|
||||
|
||||
# Check if there is any patch2 which depends directly or indirectly on patch1.
|
||||
# If this is the case we found an impossible situation, we can be skipped in this test.
|
||||
for i, patch1 in set_apply:
|
||||
for j, patch2 in set_skip:
|
||||
if causal_time_smaller(patch2.verify_time, patch1.verify_time):
|
||||
return True # we can skip this test
|
||||
return None # we can skip this test
|
||||
|
||||
try:
|
||||
original = original_content
|
||||
for i, patch in set_apply:
|
||||
for i, _ in set_apply:
|
||||
original = patchutils.apply_patch(original, selected_patches[i][1], fuzz=0)
|
||||
except patchutils.PatchApplyError:
|
||||
return False
|
||||
return current
|
||||
|
||||
return True # everything is fine
|
||||
return None # everything is fine
|
||||
|
||||
def test_apply_seq(bitstrings):
|
||||
for bitstring in bitstrings:
|
||||
if not test_apply(bitstring):
|
||||
return False
|
||||
return True
|
||||
def test_apply_seq(current_list):
|
||||
for current in current_list:
|
||||
failed = test_apply(current)
|
||||
if failed is not None:
|
||||
return failed
|
||||
return None
|
||||
|
||||
it = _split_seq(itertools.product([0,1], repeat=len(indices)), chunk_size)
|
||||
for k, res in enumerate(pool.imap_unordered(test_apply_seq, it)):
|
||||
if not res:
|
||||
iterables = []
|
||||
for i in xrange(0, len(indices) + 1):
|
||||
iterables.append(itertools.combinations(indices, i))
|
||||
it = _split_seq(itertools.chain(*iterables), chunk_size)
|
||||
for k, failed in enumerate(pool.imap_unordered(test_apply_seq, it)):
|
||||
if failed is not None:
|
||||
progress.finish("<failed to apply>")
|
||||
raise PatchUpdaterError("Changes to file %s don't apply: %s" %
|
||||
(filename, ", ".join([all_patches[i].name for i in indices])))
|
||||
(filename, ", ".join([all_patches[i].name for i in failed])))
|
||||
progress.update(k)
|
||||
|
||||
# Update the dependency cache
|
||||
dependency_cache[filename] = unique_hash
|
||||
|
||||
finally:
|
||||
pool.close()
|
||||
_save_dict(config.path_cache, dependency_cache)
|
||||
|
||||
# Generate code for helper functions
|
||||
lines = []
|
||||
@@ -561,11 +624,23 @@ def generate_script(all_patches):
|
||||
lines.append("patch_enable_all ()\n")
|
||||
lines.append("{\n")
|
||||
for i, patch in sorted([(i, all_patches[i]) for i in resolved], key=lambda x:x[1].name):
|
||||
if patch.is_category: continue
|
||||
patch.variable = "enable_%s" % patch.name.replace("-","_").replace(".","_")
|
||||
lines.append("\t%s=\"$1\"\n" % patch.variable)
|
||||
lines.append("}\n")
|
||||
lines.append("\n")
|
||||
lines.append("# Enable or disable a specific patchset\n")
|
||||
|
||||
lines.append("# Enable or disable all categories\n")
|
||||
lines.append("category_enable_all ()\n")
|
||||
lines.append("{\n")
|
||||
for i, patch in sorted([(i, all_patches[i]) for i in resolved], key=lambda x:x[1].name):
|
||||
if not patch.is_category: continue
|
||||
patch.variable = "enable_%s" % patch.name.replace("-","_").replace(".","_")
|
||||
lines.append("\t%s=\"$1\"\n" % patch.variable)
|
||||
lines.append("}\n")
|
||||
lines.append("\n")
|
||||
|
||||
lines.append("# Enable or disable a specific patchset/category\n")
|
||||
lines.append("patch_enable ()\n")
|
||||
lines.append("{\n")
|
||||
lines.append("\tcase \"$1\" in\n")
|
||||
@@ -599,6 +674,11 @@ def generate_script(all_patches):
|
||||
# Generate code for applying all patchsets
|
||||
lines = []
|
||||
for i, patch in [(i, all_patches[i]) for i in resolved]:
|
||||
|
||||
# Categories do not have any files associated, so just skip over
|
||||
if len(patch.files) == 0:
|
||||
continue
|
||||
|
||||
lines.append("# Patchset %s\n" % patch.name)
|
||||
lines.append("# |\n")
|
||||
|
||||
@@ -629,14 +709,16 @@ def generate_script(all_patches):
|
||||
with open(config.path_template_script) as template_fp:
|
||||
template = template_fp.read()
|
||||
with open(config.path_script, "w") as fp:
|
||||
fp.write(template.format(patch_helpers="".join(lines_helpers).rstrip("\n"),
|
||||
fp.write(template.format(latest_staging_version=_latest_staging_version(),
|
||||
latest_wine_commit=latest_wine_commit,
|
||||
patch_helpers="".join(lines_helpers).rstrip("\n"),
|
||||
patch_resolver="".join(lines_resolver).rstrip("\n"),
|
||||
patch_apply="".join(lines_apply).rstrip("\n")))
|
||||
|
||||
# Add changes to git
|
||||
subprocess.call(["git", "add", config.path_script])
|
||||
|
||||
def generate_markdown(all_patches, stable_patches, stable_compholio_version):
|
||||
def generate_markdown(all_patches, stable_patches):
|
||||
"""Generate README.md including information about specific patches and bugfixes."""
|
||||
|
||||
def _format_bug(mode, bugid, bugname):
|
||||
@@ -656,11 +738,20 @@ def generate_markdown(all_patches, stable_patches, stable_compholio_version):
|
||||
# Compare with fixes for latest stable version
|
||||
for _, patch in stable_patches.iteritems():
|
||||
for bugid, bugname in patch.fixes:
|
||||
key = bugid if bugid is not None else bugname
|
||||
if all_fixes.has_key(key):
|
||||
all_fixes[key][0] = 0
|
||||
if bugid is not None and all_fixes.has_key(bugid):
|
||||
all_fixes[bugid][0] = 0
|
||||
elif all_fixes.has_key(bugname):
|
||||
all_fixes[bugname][0] = 0
|
||||
elif bugid is None:
|
||||
for k, v in all_fixes.iteritems():
|
||||
if v[2] != bugname: continue
|
||||
if v[1] is None: continue
|
||||
all_fixes[v[1]][0] = 0
|
||||
break
|
||||
else:
|
||||
all_fixes[bugname] = [-1, None, bugname]
|
||||
else:
|
||||
all_fixes[key] = [-1, bugid, bugname]
|
||||
all_fixes[bugid] = [-1, bugid, bugname]
|
||||
|
||||
# Generate lists for all new and old fixes
|
||||
new_fixes = [(mode, bugid, bugname) for dummy, (mode, bugid, bugname) in
|
||||
@@ -676,13 +767,20 @@ def generate_markdown(all_patches, stable_patches, stable_compholio_version):
|
||||
# Generate information for current version
|
||||
lines = []
|
||||
if len(new_fixes):
|
||||
lines.append("**Bugfixes and features included in the next upcoming release [%d]:**" % len(new_fixes))
|
||||
lines.append("**Bug fixes and features included in the next upcoming release [%d]:**" % len(new_fixes))
|
||||
lines.append("")
|
||||
for mode, bugid, bugname in sorted(new_fixes, key=lambda x: x[2]):
|
||||
lines.append(_format_bug(mode, bugid, bugname))
|
||||
lines.append("")
|
||||
lines.append("")
|
||||
lines.append("**Bugs fixed in Wine Staging %s [%d]:**" % (stable_compholio_version, len(old_fixes)))
|
||||
lines.append("**Bug fixes and features in Wine Staging %s [%d]:**" % (latest_staging_version, len(old_fixes)))
|
||||
lines.append("")
|
||||
lines.append("*Note: The following list only contains features and bug fixes which are not")
|
||||
lines.append("yet available in vanilla Wine. They are removed from the list as soon as they")
|
||||
lines.append("are included upstream. The list also includes features and fixes from previous")
|
||||
lines.append("releases, take a look at the")
|
||||
lines.append("[changelog](https://github.com/wine-compholio/wine-staging/blob/master/debian/changelog)")
|
||||
lines.append("for more details.*")
|
||||
lines.append("")
|
||||
for mode, bugid, bugname in sorted(old_fixes, key=lambda x: x[2]):
|
||||
lines.append(_format_bug(mode, bugid, bugname))
|
||||
@@ -696,6 +794,25 @@ def generate_markdown(all_patches, stable_patches, stable_compholio_version):
|
||||
# Add changes to git
|
||||
subprocess.call(["git", "add", config.path_README_md])
|
||||
|
||||
def wrap_changelog():
|
||||
|
||||
lines = []
|
||||
with open(config.path_changelog) as fp:
|
||||
for line in fp:
|
||||
if line.startswith(" *") and len(line.rstrip("\n")) > 80:
|
||||
wrapped = textwrap.wrap(line[3:].strip(), 80 - 4)
|
||||
lines.append(" * %s\n" % "\n ".join(wrapped))
|
||||
else:
|
||||
lines.append(line)
|
||||
|
||||
with open(config.path_changelog, "w") as fp:
|
||||
for line in lines:
|
||||
fp.write(line)
|
||||
|
||||
# Add changes to git
|
||||
subprocess.call(["git", "add", config.path_changelog])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
# Hack to avoid KeyboardInterrupts on different threads
|
||||
@@ -704,19 +821,23 @@ if __name__ == "__main__":
|
||||
raise RuntimeError("CTRL+C pressed")
|
||||
signal.signal(signal.SIGINT, _sig_int)
|
||||
|
||||
tools_directory = os.path.dirname(os.path.realpath(__file__))
|
||||
os.chdir(os.path.join(tools_directory, "./../.."))
|
||||
|
||||
try:
|
||||
|
||||
# Get information about Wine and Compholio version
|
||||
# Get information about Wine and Staging version
|
||||
latest_wine_commit = _latest_wine_commit(sys.argv[1] if len(sys.argv) >= 2 else None)
|
||||
stable_compholio_version = _stable_compholio_version()
|
||||
latest_staging_version = _latest_staging_version(only_stable=True)
|
||||
|
||||
# Read current and stable patches
|
||||
all_patches = read_patchset()
|
||||
stable_patches = read_patchset(revision="v%s" % stable_compholio_version)
|
||||
stable_patches = read_patchset(revision="v%s" % latest_staging_version)
|
||||
|
||||
generate_ifdefined(all_patches)
|
||||
generate_script(all_patches)
|
||||
generate_markdown(all_patches, stable_patches, stable_compholio_version)
|
||||
generate_markdown(all_patches, stable_patches)
|
||||
wrap_changelog()
|
||||
|
||||
except PatchUpdaterError as e:
|
||||
print ""
|
||||
|
2
debian/tools/patchutils.py
vendored
2
debian/tools/patchutils.py
vendored
@@ -305,6 +305,8 @@ def read_patch(filename):
|
||||
if r is not None: return "%s: %s" % (r.group(1), r.group(4)), int(r.group(3))
|
||||
r = re.match("^(.*) +%s$" % version, subject, re.IGNORECASE)
|
||||
if r is not None: return r.group(1).strip(), int(r.group(3))
|
||||
r = re.match("^(.*)\\(resend\\)$", subject, re.IGNORECASE)
|
||||
if r is not None: return r.group(1).strip(), 1
|
||||
return subject, 1
|
||||
|
||||
header = {}
|
||||
|
11
debian/tools/progressbar.py
vendored
11
debian/tools/progressbar.py
vendored
@@ -29,9 +29,14 @@ import termios
|
||||
def _sig_winch(signum=None, frame=None):
|
||||
"""Signal handler for SIGWINCH."""
|
||||
global _term_width
|
||||
h, w, hp, wp = struct.unpack('HHHH', fcntl.ioctl(sys.stdout.fileno(),
|
||||
termios.TIOCGWINSZ, struct.pack('HHHH', 0, 0, 0, 0)))
|
||||
_term_width = w
|
||||
try:
|
||||
h, w, hp, wp = struct.unpack('HHHH', fcntl.ioctl(sys.stdout.fileno(),
|
||||
termios.TIOCGWINSZ, struct.pack('HHHH', 0, 0, 0, 0)))
|
||||
_term_width = w
|
||||
except IOError:
|
||||
# ignore 'IOError: [Errno 25] Inappropriate ioctl for device',
|
||||
# which can occur when resizing the window while the output is redirected
|
||||
pass
|
||||
|
||||
try:
|
||||
_sig_winch()
|
||||
|
3
debian/wine-staging-amd64.lintian-overrides
vendored
Normal file
3
debian/wine-staging-amd64.lintian-overrides
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Wine preloader needs static linking to reserve memory and work properly, see
|
||||
# the comments at loader/preloader.c for a fuller explanation
|
||||
wine-staging-amd64 binary: statically-linked-binary opt/wine-staging/bin/wine64-preloader
|
3
debian/wine-staging-i386.lintian-overrides
vendored
Normal file
3
debian/wine-staging-i386.lintian-overrides
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Wine preloader needs static linking to reserve memory and work properly, see
|
||||
# the comments at loader/preloader.c for a fuller explanation
|
||||
wine-staging-i386 binary: statically-linked-binary opt/wine-staging/bin/wine-preloader
|
5
debian/wine-staging.docs
vendored
5
debian/wine-staging.docs
vendored
@@ -1,9 +1,4 @@
|
||||
documentation/README.*
|
||||
ANNOUNCE
|
||||
AUTHORS
|
||||
LICENSE
|
||||
COPYING.LIB
|
||||
COPYING.arial
|
||||
COPYING.cour
|
||||
COPYING.msyh
|
||||
README
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From aa76ae0448583e87dbe7f374101eb5b20d55dea8 Mon Sep 17 00:00:00 2001
|
||||
From 267583000e05b5ed8da1122df0830556fe7e69f6 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Fri, 8 Aug 2014 19:33:14 -0600
|
||||
Subject: Appease the blessed version of gcc (4.5) when -Werror is enabled.
|
||||
@@ -12,10 +12,10 @@ Subject: Appease the blessed version of gcc (4.5) when -Werror is enabled.
|
||||
5 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
|
||||
index 0c10ffa..2f35992 100644
|
||||
index f9cb71c..81f6131 100644
|
||||
--- a/dlls/d3d9/tests/visual.c
|
||||
+++ b/dlls/d3d9/tests/visual.c
|
||||
@@ -11161,7 +11161,7 @@ static void yuv_layout_test(void)
|
||||
@@ -11967,7 +11967,7 @@ static void yuv_layout_test(void)
|
||||
IDirect3D9 *d3d;
|
||||
D3DCOLOR color;
|
||||
DWORD ref_color;
|
||||
@@ -25,7 +25,7 @@ index 0c10ffa..2f35992 100644
|
||||
IDirect3DDevice9 *device;
|
||||
ULONG refcount;
|
||||
diff --git a/dlls/netapi32/netapi32.c b/dlls/netapi32/netapi32.c
|
||||
index d2a61fa..bb7ac1c 100644
|
||||
index 7a1d408..649c866 100644
|
||||
--- a/dlls/netapi32/netapi32.c
|
||||
+++ b/dlls/netapi32/netapi32.c
|
||||
@@ -779,7 +779,7 @@ static NET_API_STATUS share_info_to_samba( DWORD level, const BYTE *buf, unsigne
|
||||
@@ -38,7 +38,7 @@ index d2a61fa..bb7ac1c 100644
|
||||
|
||||
if (servername && !(server = strdup_unixcp( servername ))) return ERROR_OUTOFMEMORY;
|
||||
diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c
|
||||
index e32cb54..ddf972d 100644
|
||||
index 14eac39..ebff9f1 100644
|
||||
--- a/dlls/winealsa.drv/mmdevdrv.c
|
||||
+++ b/dlls/winealsa.drv/mmdevdrv.c
|
||||
@@ -359,7 +359,7 @@ static WCHAR *construct_device_id(EDataFlow flow, const WCHAR *chunk1, const cha
|
||||
@@ -51,18 +51,18 @@ index e32cb54..ddf972d 100644
|
||||
static const WCHAR dashW[] = {' ','-',' ',0};
|
||||
static const size_t dashW_len = (sizeof(dashW) / sizeof(*dashW)) - 1;
|
||||
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
index f3e921c..fa64436 100644
|
||||
index f69a2ce..00232a5 100644
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -5834,7 +5834,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
|
||||
@@ -6706,7 +6706,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
|
||||
GLuint vs_id = 0;
|
||||
GLuint gs_id = 0;
|
||||
GLuint ps_id = 0;
|
||||
- struct list *ps_list, *vs_list;
|
||||
+ struct list *ps_list = NULL, *vs_list = NULL;
|
||||
WORD attribs_map;
|
||||
struct wined3d_string_buffer *tmp_name;
|
||||
|
||||
if (!(context->shader_update_mask & (1 << WINED3D_SHADER_TYPE_VERTEX)))
|
||||
{
|
||||
diff --git a/tools/makedep.c b/tools/makedep.c
|
||||
index 54aab45..103422e 100644
|
||||
--- a/tools/makedep.c
|
||||
@@ -77,5 +77,5 @@ index 54aab45..103422e 100644
|
||||
expand = get_make_variable( make, name );
|
||||
if (!expand) return NULL;
|
||||
--
|
||||
2.2.1
|
||||
2.4.2
|
||||
|
1
patches/Compiler_Warnings/definition
Normal file
1
patches/Compiler_Warnings/definition
Normal file
@@ -0,0 +1 @@
|
||||
Category: stable
|
@@ -1,4 +1,4 @@
|
||||
From 948a8706d6045fb6f8f624072bfa6ab97e91dc16 Mon Sep 17 00:00:00 2001
|
||||
From 598daa857778080524e3de4a5668a834ab084564 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 2 Oct 2014 19:44:31 +0200
|
||||
Subject: kernel32: Add winediag message to show warning, that this isn't
|
||||
@@ -9,7 +9,7 @@ Subject: kernel32: Add winediag message to show warning, that this isn't
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
|
||||
index 0a087ab..1052a79 100644
|
||||
index 2c8074b..70b2579 100644
|
||||
--- a/dlls/kernel32/process.c
|
||||
+++ b/dlls/kernel32/process.c
|
||||
@@ -65,6 +65,7 @@
|
||||
@@ -27,15 +27,15 @@ index 0a087ab..1052a79 100644
|
||||
+ /* Wine developers don't like it, when bug are reported with Wine versions containing our patches. */
|
||||
+ if (CreateEventA(0, 0, 0, "__winestaging_warn_event") && GetLastError() != ERROR_ALREADY_EXISTS)
|
||||
+ {
|
||||
+ FIXME_(winediag)("Wine Staging is a testing version containing experimental patches.\n");
|
||||
+ FIXME_(winediag)("Wine Staging %s is a testing version containing experimental patches.\n", wine_get_version());
|
||||
+ FIXME_(winediag)("Please report bugs at http://bugs.wine-staging.com (instead of winehq.org).\n");
|
||||
+ }
|
||||
+ else
|
||||
+ WARN_(winediag)("Wine Staging is a testing version containing experimental patches.\n");
|
||||
+ WARN_(winediag)("Wine Staging %s is a testing version containing experimental patches.\n", wine_get_version());
|
||||
+
|
||||
SetLastError( 0 ); /* clear error code */
|
||||
if (peb->BeingDebugged) DbgBreakPoint();
|
||||
return call_process_entry( peb, entry );
|
||||
--
|
||||
2.1.3
|
||||
2.4.1
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user