Compare commits

...

355 Commits

Author SHA1 Message Date
Erich E. Hoover
18524f3386 Release 1.7.24. 2014-08-08 22:06:43 -06:00
Sebastian Lackner
b2db6dedde Added patches to implement ITextRange, ITextPara and ITextFont (by Jactry Zeng). 2014-08-09 05:53:37 +02:00
Sebastian Lackner
f837eb03f6 Remove unnecessary dependency for server-CreateProcess_ACLs patch. 2014-08-09 04:38:25 +02:00
Erich E. Hoover
6bd6d630b3 Update the CreateProcess ACLs patches. 2014-08-08 20:31:43 -06:00
Sebastian Lackner
9087dedefc patchupdate.py: Define $(APPLY) macro, rename $(APPLY_PATCH) -> $(APPLY_FILE). 2014-08-09 04:22:16 +02:00
Erich E. Hoover
944a550aeb Appease the blessed version of gcc (4.5) when -Werror is enabled. 2014-08-08 19:45:21 -06:00
Sebastian Lackner
ce013a8a78 patchupdate.py: Also switch to $(DESTDIR) before applying the patchlist. 2014-08-09 03:12:49 +02:00
Sebastian Lackner
8d276fcfe1 patchupdate.py: Always change directory before running $(PATCH), simplifies using other patch commands. 2014-08-09 03:05:27 +02:00
Sebastian Lackner
7573e09b4a Fix build failure with -Werror in kernel32-GetSystenTimes patchset. 2014-08-09 00:13:19 +02:00
Sebastian Lackner
e54f90dd30 Added patch to workaround programs leaking wndproc slots. 2014-08-08 23:46:26 +02:00
Sebastian Lackner
2403b551ea Added patch to fix comparison of punctuation characters in lstrcmp. 2014-08-08 23:30:59 +02:00
Erich E. Hoover
36fb39e545 Adjust SHCreateSessionKey 'fixes' entry to be similar to other patches. 2014-08-08 15:09:13 -06:00
Erich E. Hoover
18b484d778 Added patch to support setting file disposition information. 2014-08-08 14:39:42 -06:00
Erich E. Hoover
0ee71b2abe Updated empty ddraw hardware flags patches. 2014-08-08 09:52:59 -06:00
Erich E. Hoover
dea02ac53a Added patch to use a linear resampler when there a large number of dsound mixing buffers. 2014-08-07 17:32:39 -06:00
Sebastian Lackner
368f765134 patchupdate.py: Ensure patch commandline utility never assumes reversed patches. 2014-08-08 00:00:32 +02:00
Sebastian Lackner
ea59363fcb Remove windowscodecs/PropertyBag patch (accepted upstream). 2014-08-07 23:58:57 +02:00
Sebastian Lackner
c50689ab09 gitapply.sh: Use variables for awk scripts instead of inline code. 2014-08-07 17:02:37 +02:00
Sebastian Lackner
2b2a8fac9a gitapply.sh: Fix issue with parsing of delta type binary patches, some style improvements. 2014-08-07 17:01:56 +02:00
slackner
5748d714b1 Add missing linebreak to ok() message in LoadIconMetric patch. 2014-08-07 16:37:10 +02:00
Sebastian Lackner
7d225dbb57 gitapply.sh: Fix typo in comment. 2014-08-07 03:37:03 +02:00
Sebastian Lackner
5d5b230c5a gitapply.sh: Rewrite script to improve performance on huge font patches. 2014-08-07 03:26:33 +02:00
Michael MĂĽller
1ca9157daa Add fix for PropertyBag_GetPropertyInfo. 2014-08-07 02:44:50 +02:00
Michael MĂĽller
4b4ea9fd2e Add patches for LoadIconMetric. 2014-08-07 02:01:42 +02:00
Michael MĂĽller
3d62769912 Add patches for LoadIconMetric. 2014-08-07 02:00:57 +02:00
Erich E. Hoover
9b6f3ef459 Removed strmbase/quartz locking fix patches (accepted upstream). 2014-08-05 17:28:27 -06:00
Sebastian Lackner
e08596a770 Added patch to set ldr.EntryPoint for main executable (fixes wine bug 33034). 2014-08-06 00:19:57 +02:00
Sebastian Lackner
399f43a3f2 Update debian/changelog. 2014-08-06 00:14:55 +02:00
Michael MĂĽller
cd729384de Add RunDLL_CallEntry16 patch. 2014-08-05 00:57:45 +02:00
Sebastian Lackner
647f53b37e Remove patchset shell32-Register_Folders (accepted upstream), update changelog. 2014-08-04 22:55:46 +02:00
Michael MĂĽller
98334f6e19 Add patch for extra large and jumbo icons. 2014-08-03 03:33:13 +02:00
Michael MĂĽller
281bf873aa Improve GetSystemMetrics. 2014-08-02 05:37:29 +02:00
Erich E. Hoover
1ff09d87c5 Added patch to fix edge cases in TOOLTIPS_GetTipText. 2014-07-31 11:15:26 -06:00
Erich E. Hoover
f9cb758cdc Fix the unlock order in one of the strmbase/quartz race condition patches. 2014-07-31 06:51:27 -06:00
Erich E. Hoover
92ab0e4143 Added patch to return the appropriate connection time with SO_CONNECT_TIME. 2014-07-30 17:40:32 -06:00
Erich E. Hoover
8f48583742 Added patch to return empty D3D hardware flags for HEL device enumeration. 2014-07-30 17:03:13 -06:00
Erich E. Hoover
f84058ab42 Fix Arch README information in template file. 2014-07-30 10:50:09 -06:00
compholio
489ccc88e6 Update README with appropriate Arch command.
Fixes Bug #37.
2014-07-30 10:45:11 -06:00
Sebastian Lackner
196a06e3b6 README.md: Some minor fixes. 2014-07-30 16:21:38 +02:00
Sebastian Lackner
e599595153 patchupdate.py: Speed up lookup of bug short_desc by using an 'undocumented feature' to query all at the same time. 2014-07-30 16:10:05 +02:00
Sebastian Lackner
89e1de9267 LICENSE.md: Fix formulation of introduction text. 2014-07-30 06:13:56 +02:00
Sebastian Lackner
3e8756078d Wine-Compholio is a name, so it should start everywhere with captial letter W and C. 2014-07-30 04:31:51 +02:00
Sebastian Lackner
f15cf20757 Fix github markdown syntax. 2014-07-30 04:27:36 +02:00
Sebastian Lackner
4b63027ca0 Improve license file, rename licenses before packaging them. 2014-07-30 04:24:46 +02:00
Sebastian Lackner
1f2bb7be5e debian/rules: Cleanup of rules file. 2014-07-30 03:09:17 +02:00
Sebastian Lackner
bcf0e1d72d README.md: Fix typo in Mageia installation instructions. 2014-07-29 21:21:44 +02:00
Sebastian Lackner
4a5b0ad90a Install LICENSE.wine-compholio.md instead of multiple individual licenses. 2014-07-29 05:18:02 +02:00
Sebastian Lackner
644869d239 LICENSE.wine-compholio.md: Reorder some parts, fix typo. 2014-07-29 05:14:51 +02:00
Sebastian Lackner
1896b3cd3b LICENSE.wine-compholio.md: One more attempt to make it look a bit better... 2014-07-29 05:12:26 +02:00
Sebastian Lackner
04e56f5acd LICENSE.wine-compholio.md: Change headlines one more time, and add direct links to anchors within same file. 2014-07-29 05:05:55 +02:00
Sebastian Lackner
420a6e0ba6 LICENSE.wine-compholio.md: Use bigger headlines. 2014-07-29 04:59:35 +02:00
Sebastian Lackner
abc3892f41 LICENSE.wine-compholio.md: Another attempt to fix formatting issues. 2014-07-29 04:57:41 +02:00
Sebastian Lackner
c29548b4e2 LICENSE.wine-compholio.md: Some formatting fixes. 2014-07-29 04:52:52 +02:00
Sebastian Lackner
dc0ef2893b Add license for wine-compholio in markdown format. 2014-07-29 04:49:46 +02:00
Sebastian Lackner
202cf08f77 README.md: Fix numbering in enumeration. 2014-07-29 03:56:11 +02:00
Sebastian Lackner
18ee5a9427 README.md: Use fixed wordwrap of 80 characters. 2014-07-29 03:55:22 +02:00
Sebastian Lackner
5f47470e86 DEVELOPER.md: Use fixed wordwrap of 80 characters. 2014-07-29 03:41:16 +02:00
Sebastian Lackner
46f1e23363 DEVELOPER.md: Shorten title a bit. 2014-07-29 03:34:16 +02:00
Sebastian Lackner
8b72d74b6f Merge ATTRIBUTION.md into DEVELOPER.md. 2014-07-29 03:29:55 +02:00
Sebastian Lackner
b0daaa4b96 Move developer readme (DEVELOPER.md) into a separate file. 2014-07-29 02:33:30 +02:00
Sebastian Lackner
9017db8694 Revert patch "Use an empty buffer in DecryptMessage".
Reverts 26302e61a3
2014-07-28 20:21:40 +02:00
Sebastian Lackner
2059944f48 patchupdate.py: Incrase number of concurrent webrequests to 16. 2014-07-28 02:45:35 +02:00
Sebastian Lackner
73f8a0cbf5 patchupdate.py: Move all defined paths into a config class (to allow easier modification). (2/2) 2014-07-28 02:41:50 +02:00
Sebastian Lackner
4eb3d2d06c patchupdate.py: Some style improvements (1/2). 2014-07-28 02:32:13 +02:00
Sebastian Lackner
3fa9e6b400 patchupdate.py: Add additional cache to speed up lookup of git source files based on commit sha1. 2014-07-28 02:22:58 +02:00
Michael MĂĽller
c0f05edf66 Update patch to create additional profile directories. 2014-07-28 02:00:50 +02:00
Erich E. Hoover
26302e61a3 Added patch to use an empty buffer in DecryptMessage to return decrypted data. 2014-07-27 14:51:44 -06:00
Erich E. Hoover
ca15d9aed6 Fix TRACE message in GetSystemTimes patch. 2014-07-27 13:12:46 -06:00
Erich E. Hoover
ddfef57f82 Add a couple missing changelog entries. 2014-07-27 13:06:18 -06:00
Erich E. Hoover
c8a6c04975 Added patch to implement GetSystemTimes. 2014-07-27 12:54:01 -06:00
Erich E. Hoover
1be929fbf9 Added patch with stubs for [Get|Set]SystemFileCacheSize. 2014-07-27 10:37:31 -06:00
Sebastian Lackner
935854b8a4 README.md: Sort bugs alphabetically instead of by bugzilla bug number. 2014-07-27 18:10:04 +02:00
Sebastian Lackner
3b6dcb11c8 Add Wine bugzilla bug number for winepulse patches. 2014-07-27 18:05:12 +02:00
Sebastian Lackner
3f4ea42573 patchupdate.py: Remove ugly hack to remove *.ok files on failure, use .INTERMEDIATE instead. 2014-07-27 17:55:33 +02:00
Erich E. Hoover
1f2cf52167 Fix author in definition file for inet_pton patch. 2014-07-27 09:49:24 -06:00
Erich E. Hoover
98fb8a1c69 Added patch to implement inet_pton. 2014-07-27 09:42:14 -06:00
Sebastian Lackner
dd68855d30 README.md: Add better description for wine-compholio. 2014-07-27 16:24:19 +02:00
Sebastian Lackner
348f35a57e Merge branch 'master' of github.com:compholio/wine-compholio 2014-07-27 06:06:58 +02:00
Sebastian Lackner
bb0d97b635 README.md: No need to use the cdn links, github caches images anyway. 2014-07-27 06:06:31 +02:00
Michael MĂĽller
047f20598e Merge branch 'master' of https://github.com/compholio/wine-compholio-daily 2014-07-27 04:06:53 +02:00
Sebastian Lackner
3d582c05b6 README.md: Reorder ArchLinux instructions, to make them more similar to all other distros. 2014-07-27 04:04:48 +02:00
Michael MĂĽller
49eb3fb9f2 Add patch to allow special characters in pipe names 2014-07-27 04:02:05 +02:00
Sebastian Lackner
e9a8aa66ce Merge branch 'master' of github.com:compholio/wine-compholio 2014-07-27 03:53:18 +02:00
Sebastian Lackner
0b40eddf61 README.md: Add additional information about how to use wine-compholio. 2014-07-27 03:52:57 +02:00
Michael MĂĽller
283dd7e35c Add patch to create AppData\LocalLow directory 2014-07-27 03:02:59 +02:00
Sebastian Lackner
c3a2198919 README.md: Second attempt to fix image sizes. 2014-07-27 01:28:34 +02:00
Sebastian Lackner
8ca12a7d01 README.md: First attempt to fix image sizes. 2014-07-27 01:05:31 +02:00
Sebastian Lackner
81287a6b64 README.md: Add distro images to installation instructions.
(Hopefully githubs markdown parser will understand this syntax ...)
2014-07-27 00:57:32 +02:00
Sebastian Lackner
c28233c13e Merge branch 'master' of github.com:compholio/wine-compholio 2014-07-27 00:43:07 +02:00
Sebastian Lackner
379cb257ae README.md: Add instructions how to install prebuilt versions of wine-compholio. 2014-07-27 00:42:46 +02:00
Erich E. Hoover
9561788866 Fix authot in SHCreateSessionKey defintion file. 2014-07-26 15:55:56 -06:00
Erich E. Hoover
df56f3b7dd Added patch to implement SHCreateSessionKey. 2014-07-26 15:49:56 -06:00
Erich E. Hoover
bca05a6284 Added patch to store IOCS data in a property instead of GWLP_USERDATA. 2014-07-26 15:26:03 -06:00
Sebastian Lackner
9af0621843 patchupdate.py: Make more clear what the functions causal_time_relation* do. 2014-07-26 23:19:39 +02:00
Sebastian Lackner
7154d8ae74 Merge branch 'master' of github.com:compholio/wine-compholio 2014-07-26 23:13:38 +02:00
Sebastian Lackner
1e27c09f56 patchupdate.py: Fix issue in patch order dependency check (and remove unnecessary dependeny from Misc_ACL on Stored_ACLs). 2014-07-26 23:13:27 +02:00
Erich E. Hoover
9060622885 Add missing changelog entry. 2014-07-26 14:42:17 -06:00
Erich E. Hoover
d703791841 Added patch to fix ConnectNamedPort return value in overlapped mode. 2014-07-26 14:22:36 -06:00
Sebastian Lackner
ddf264985b Add missing file Makefile.in. 2014-07-26 22:21:07 +02:00
Sebastian Lackner
b6e1475678 patchupdate.py: Silence output of some Makefile code related to patchlist. 2014-07-26 21:33:17 +02:00
Sebastian Lackner
77ae2f5dfe Merge branch 'master' of github.com:compholio/wine-compholio 2014-07-26 21:30:00 +02:00
Sebastian Lackner
9a01f9973d patchupdate.py: Move static part of generated Makefile into Makefile.in. 2014-07-26 21:29:46 +02:00
Erich E. Hoover
5ea2e4b5e2 Add missing comment to AllocateAndGetTcpExTableFromStack patch. 2014-07-26 13:15:00 -06:00
Erich E. Hoover
9032f33a16 Up the version number for next release (whoops). 2014-07-26 13:11:11 -06:00
Erich E. Hoover
afe4658dfc Add a markdown document about attribution. 2014-07-26 13:09:56 -06:00
Erich E. Hoover
13cf73babe Added patch to implement AllocateAndGetTcpExTableFromStack. 2014-07-26 12:42:06 -06:00
Erich E. Hoover
7efae8dc63 Remove unused variable in IMediaSeeking patches. 2014-07-25 21:23:43 -06:00
Erich E. Hoover
59a227fea5 Release 1.7.23. 2014-07-25 21:15:11 -06:00
Sebastian Lackner
7b41f47a27 patchupdate.py: Ensure that patchlist data is properly escaped. 2014-07-26 04:39:21 +02:00
Erich E. Hoover
2f48baf75b Add additional author on font patch definition file. 2014-07-25 20:03:43 -06:00
Sebastian Lackner
cdaf968aa6 Add LICENSE.GPLv3 to debian/wine-compholio.docs (and sort alphabetically). 2014-07-26 04:02:11 +02:00
Sebastian Lackner
f91056bdc2 Merge branch 'master' of github.com:compholio/wine-compholio 2014-07-26 03:56:22 +02:00
Sebastian Lackner
ee4b0b868e Merge branch 'master' of github.com:compholio/wine-compholio 2014-07-26 03:53:36 +02:00
Erich E. Hoover
46d3dece11 Have git ignore pre-compiled python files. 2014-07-25 19:53:27 -06:00
Sebastian Lackner
6e017c65e2 Pull in latest version of winepulse patches (rebase only). 2014-07-26 03:53:13 +02:00
Erich E. Hoover
d018c5bad9 Added WenQuanYi Micro Hei (GPLv3) as a Microsoft Yahei replacement. 2014-07-25 19:49:49 -06:00
Sebastian Lackner
6431b62348 Update changelog for HKEY_DYN_DATA patches. 2014-07-26 03:45:02 +02:00
Sebastian Lackner
600d6d0b87 Attempt to escape quotation marks in generated README.md. 2014-07-26 03:41:47 +02:00
Sebastian Lackner
145e5212b3 Merge branch 'master' of github.com:compholio/wine-compholio 2014-07-26 03:31:30 +02:00
Sebastian Lackner
799eed7336 patchupdate.py: Move README.md template to separate file. 2014-07-26 03:31:08 +02:00
Michael MĂĽller
b04636aa97 Add patch to populate HKEY_DYN_DATA. 2014-07-26 03:22:25 +02:00
Sebastian Lackner
d270fde97f Update path to Missing_Fonts patch. 2014-07-26 03:19:27 +02:00
Sebastian Lackner
f609f42eed Merge branch 'master' of github.com:compholio/wine-compholio 2014-07-26 03:14:57 +02:00
Sebastian Lackner
d39a62b810 Add debian/tools/wine to .gitignore. 2014-07-26 03:14:21 +02:00
Erich E. Hoover
8486f8265b Update README entry for default folder ACLs. 2014-07-25 19:01:05 -06:00
Erich E. Hoover
f03602bcfd Move 98-Miscellaneous to Miscellaneous. 2014-07-25 18:58:53 -06:00
Erich E. Hoover
20d1c91c29 Move 97-Pipelight to Pipelight. 2014-07-25 18:58:38 -06:00
Erich E. Hoover
e6cf192b7b Move 13-Misc_ACL to server-Misc_ACL. 2014-07-25 18:58:12 -06:00
Erich E. Hoover
9d339630bb Move 16-server-CreateProcess_ACLs to server-CreateProcess_ACLs. 2014-07-25 18:51:15 -06:00
Erich E. Hoover
a8de052a24 Move 15-wtsapi32 to wtsapi32-EnumerateProcesses. 2014-07-25 18:50:48 -06:00
Erich E. Hoover
846b29671f Move 19-ntdll-Dynamic_DST to ntdll-Dynamic_DST. 2014-07-25 18:50:14 -06:00
Erich E. Hoover
55e0e0ed4e Move 18-quartz-MediaSeeking_Positions to quartz-MediaSeeking_Positions. 2014-07-25 18:49:52 -06:00
Erich E. Hoover
020dc88b37 Move 17-strmbase-Lock_Race_Conditions to strmbase-Lock_Race_Conditions. 2014-07-25 18:49:34 -06:00
Erich E. Hoover
eb1e664c31 Move 14-UrlCombineW to shlwapi-UrlCombine. 2014-07-25 18:46:04 -06:00
Erich E. Hoover
77a19f836f Move 12-FD_Cache to ntdll-FD_Cache. 2014-07-25 18:40:38 -06:00
Erich E. Hoover
3a74d5cccc Move 10-Missing_Fonts to fonts-Missing_Fonts. 2014-07-25 18:40:06 -06:00
Erich E. Hoover
10354d4cb5 Move 09-TransmitFile to ws2_32-TransmitFile. 2014-07-25 18:39:43 -06:00
Erich E. Hoover
fe7b83a384 Move 08-Junction_Points to ntdll-Junction_Points. 2014-07-25 18:39:20 -06:00
Erich E. Hoover
ad021f5462 Move 07-GetVolumePathName to kernel32-GetVolumePathName. 2014-07-25 18:38:39 -06:00
Erich E. Hoover
e800cac340 Move 06-winepulse to winepulse-PulseAudio_Support. 2014-07-25 18:38:06 -06:00
Erich E. Hoover
91cd19237f Move 04-XEMBED to winex11-XEMBED. 2014-07-25 18:37:27 -06:00
Erich E. Hoover
1e0e9de2b0 Move 05-Named_Pipe to kernel32-Named_Pipe. 2014-07-25 18:36:21 -06:00
Erich E. Hoover
802ebcbb91 Move 00-Commandline to loader-Cmdline_Diagnostics. 2014-07-25 18:34:36 -06:00
Erich E. Hoover
2c3efe2faa Split 02-ACL_Extended_Attributes into server-Stored_ACLs, server-Inherited_ACLs, shell32-Default_Folder_ACLs, and server-ACL_Compat. 2014-07-25 18:33:58 -06:00
Erich E. Hoover
2a3d9afece Move 01-Address_Change_Notification to server-Address_Change_Notification. 2014-07-25 18:33:48 -06:00
Sebastian Lackner
1c6691895b Updated changelog for Dynamic DST patch. 2014-07-26 00:57:56 +02:00
Sebastian Lackner
4dea282c90 Add Dynamic DST patches to fix issues with Israel timezone. 2014-07-26 00:55:23 +02:00
Erich E. Hoover
845a4dd675 Update README to indicate that Wine's SetTimer value is now 10 ms. 2014-07-25 15:46:12 -06:00
Sebastian Lackner
5bfc96a6a5 README.md: Add instructions how to specify a list of patches when calling the Makefile. 2014-07-25 22:52:11 +02:00
Sebastian Lackner
b8ab34f8d6 Update README.md with recent changes to the patch system. 2014-07-25 22:37:29 +02:00
Sebastian Lackner
eccde841d5 Fix typo in README.md. 2014-07-25 22:17:51 +02:00
Sebastian Lackner
22f1f858b1 Fix typo in debian/changelog. 2014-07-25 22:09:08 +02:00
Sebastian Lackner
ef427399da Rewrite of patch system to simplify mainting large patchsets. 2014-07-25 22:08:08 +02:00
Sebastian Lackner
208b3c1d25 patchupdate.py: Small code style improvement. 2014-07-25 21:59:34 +02:00
Sebastian Lackner
60632bb522 patchutils.py: Silence output of patch commandline utility. 2014-07-25 21:57:46 +02:00
Sebastian Lackner
707a96d35a patchupdate.py: Improve output in case of errors. 2014-07-25 21:54:58 +02:00
Sebastian Lackner
aa54f206eb gitupdate.py: Add license header and some code cleanup. 2014-07-25 21:34:03 +02:00
Sebastian Lackner
6db9cf0e65 patchutils.py: Add license header, remove unnecessary variables. 2014-07-25 20:50:16 +02:00
Sebastian Lackner
8727d25f6f gitapply.sh: Move gitsha1 algorithm into separate function. 2014-07-25 20:19:35 +02:00
Sebastian Lackner
02f52948f5 gitapply.sh: More regular expression replacements. 2014-07-25 20:14:48 +02:00
Sebastian Lackner
3f9af9fb49 gitapply.sh: Replace regular expression with with bash substring at some places. 2014-07-25 20:00:24 +02:00
Sebastian Lackner
e99ff32949 gitapply.sh: Add license, check for dependencies before proceeding, several smaller improvements. 2014-07-25 19:49:56 +02:00
Sebastian Lackner
1f95d8181d patchupdate.py: Improve generated Makefile and delete *.ok files on error. 2014-07-25 17:52:08 +02:00
Sebastian Lackner
e827cc078f patchupdate.py: Improve patch system and remove dependencies, when the order of patches doesn't matter. 2014-07-25 16:39:08 +02:00
Sebastian Lackner
80e51dcad6 patchutils.py: Remove unused functions min_{source,dest}_size. 2014-07-25 04:03:28 +02:00
Sebastian Lackner
10d9fda5f9 Merged with master. 2014-07-25 03:45:20 +02:00
Sebastian Lackner
f69c6a545c Use patchutils.py to parse patch files and split them into individual changes. 2014-07-25 03:32:01 +02:00
Erich E. Hoover
a4d6e77557 Remove relative Junction Point linking for now (breaks tests). 2014-07-22 21:30:16 -06:00
Erich E. Hoover
5b691be2cc Fix failing Junction Point test. 2014-07-22 21:28:01 -06:00
Erich E. Hoover
02eae9d5a0 Add missing definition file for Arial replacement. 2014-07-22 19:22:20 -06:00
Erich E. Hoover
a4dbc11aff Add missing license file for Arial replacement. 2014-07-22 19:21:23 -06:00
Erich E. Hoover
f1121e3a1a Merge branch 'tkurbad-fontsmoothing' 2014-07-22 18:36:31 -06:00
Torsten Kurbad
ac83718ba8 Downgraded Arial replacement font to Liberation Sans v1.07.3. 2014-07-22 18:24:15 -06:00
Erich E. Hoover
603d7ca80e Make sure LICENSE files are included in the Debian packages. 2014-07-22 17:51:37 -06:00
Erich E. Hoover
6b2cc4c58f Return correct IMediaSeeking stream positions in quartz. 2014-07-22 08:38:10 -06:00
Michael MĂĽller
a3d2b4b9e0 Fix fuzz in patches. 2014-07-20 22:36:08 +02:00
Erich E. Hoover
95bee0aa1e Fix race condition between EndOfStream and Pause. 2014-07-18 10:58:54 -06:00
Erich E. Hoover
bc6f854478 Fix possible race conditions in strmbase/quartz. 2014-07-17 10:54:33 -06:00
Sebastian Lackner
0b33c39275 patchupdate.py: Use abort() function instead of hardcoded call to exit. 2014-07-13 04:53:20 +02:00
Sebastian Lackner
fce29b88da Improve patchupdate.py to detect changes even when regular diff files without git header are used. 2014-07-13 04:46:11 +02:00
Sebastian Lackner
f6dd1f3d0d Add instructions how to exclude patches in README.md. 2014-07-13 03:29:56 +02:00
Sebastian Lackner
49bbdc5bf2 Add .NOTPARALLEL to generated Makefile.
We don't want to add unnatural dependencies for patches, if for example both
patch A and B modify the same file, but the order of applying the patches doesn't
matter. Adding a dependency would cause trouble when excluding patches.
2014-07-13 02:47:34 +02:00
Sebastian Lackner
df034abacb Strip configure changes from winepulse patches.
These changes will be done automatically by autoreconf, keeping them in increases
chances to get conflicts.
2014-07-13 02:17:09 +02:00
Sebastian Lackner
d49ca49848 Update wine-pulse patches (extracted from version 1.7.21). 2014-07-13 02:07:52 +02:00
Sebastian Lackner
79843648fb Include list of affected files for each set of patches. 2014-07-13 01:51:15 +02:00
Sebastian Lackner
63e82e5cd2 Replace custom templating system with Python format() in patchupdate.py. 2014-07-13 01:46:08 +02:00
Sebastian Lackner
7e3381c7a3 Fix formatting issues for README.md. 2014-07-13 01:33:28 +02:00
Sebastian Lackner
cffa29b1ae Precommit script should trigger even if just the changelog was updated. 2014-07-13 01:32:09 +02:00
Sebastian Lackner
dc95c57c20 Automatically generate installation instructions based on template whenever updating patches / version. 2014-07-13 01:30:44 +02:00
Sebastian Lackner
a0a5084f55 Minor code cleanup in patchupdate.py. 2014-07-12 01:33:04 +02:00
Sebastian Lackner
386a2ce3ba Pulled changes from master. 2014-07-11 23:18:27 +02:00
Sebastian Lackner
86e6d52971 Add a missing short name for 13-Misc_ACL patches. 2014-07-11 21:29:45 +02:00
Sebastian Lackner
f7014738a8 Display short name instead of full bug report title in README.md. 2014-07-11 21:25:18 +02:00
Erich E. Hoover
4b95841bdb Release 1.7.22. 2014-07-11 13:00:13 -06:00
Erich E. Hoover
180fa60a17 Implement passing ACLs to CreateProcess. 2014-07-11 12:57:10 -06:00
Sebastian Lackner
32a0e9cc9e Use Python multiprocessing to speed up querying bug information from Wine bugzilla. 2014-07-11 20:35:39 +02:00
Sebastian Lackner
79861c20f1 Show bug numbers in README.md after the description. 2014-07-11 19:44:07 +02:00
Sebastian Lackner
bb0cece9a9 Sort entries for autogenerated README.md file. 2014-07-11 19:38:38 +02:00
Sebastian Lackner
32148424bd Fix generation of URLs in README.md. 2014-07-11 19:36:31 +02:00
Sebastian Lackner
5c72aff53e Add fixed bug numbers to each patchset, autogenerate README.md with patch information. 2014-07-11 19:34:33 +02:00
Sebastian Lackner
42afbafa33 Initial version of new dependency based patch system. 2014-07-11 18:51:03 +02:00
Sebastian Lackner
9d3369d7a6 gitapply.sh: Make sure that all error output is redirected to stderr, sort commandline options. 2014-07-11 00:31:33 +02:00
Sebastian Lackner
2bb1b96f06 Removed several patches (accepted upstream). 2014-07-09 21:47:48 +02:00
Erich E. Hoover
2bfe73c2b7 Updated main extended attributes patch to include BSD support. 2014-07-08 14:32:58 -06:00
Erich E. Hoover
8e2ab550d8 Updated main extended attributes patch to include additional data checks. 2014-07-08 14:32:06 -06:00
Erich E. Hoover
7f5e6044ee Reformat the display of the Wine bug number in the README. 2014-07-08 13:19:19 -06:00
Erich E. Hoover
db0464c6f2 Update repository name and description in README. 2014-07-08 12:39:31 -06:00
Sebastian Lackner
80455f2b22 Rebase patch to silence resource_check_usage FIXME. 2014-07-08 01:03:49 +02:00
Sebastian Lackner
ce40587ef4 Return NULL-terminated list of arguments in CommandLineToArgvW. 2014-07-07 23:43:30 +02:00
Sebastian Lackner
4ad4f948c3 Fix incorrect scaling for DECIMAL values in VarDecAdd. 2014-07-07 22:19:53 +02:00
Sebastian Lackner
1fbebd0a1a Add patch for implementation of wtsapi32.WTSEnumerateProcessesW. 2014-07-06 23:55:09 +02:00
Sebastian Lackner
1761c9534e Move UrlCombineW patches in a separate directory. 2014-07-06 23:47:00 +02:00
Sebastian Lackner
b500367ff7 Remove patch '0001-quartz-tests-Add-tests-for-IVMRMonitorConfig-and-IVMRM.patch'. 2014-07-06 23:40:17 +02:00
Erich E. Hoover
5721ee15c9 Removed RegSetKeySecurity patch (accepted upstream). 2014-07-04 13:18:59 -06:00
Erich E. Hoover
56264645ad Updated RegSetKeySecurity patch to work with special root keys. 2014-07-04 10:14:57 -06:00
Erich E. Hoover
113b554090 Retitle RegSetKeySecurity component (advapi -> advapi32). 2014-07-01 20:34:44 -06:00
Erich E. Hoover
24c6b554c9 Implement RegSetKeySecurity on top of NtSetSecurityObject. 2014-07-01 19:26:01 -06:00
Erich E. Hoover
b861c5731d Added NT4 support to the process ACL tests. 2014-07-01 18:32:31 -06:00
Erich E. Hoover
5d354c9b2a Release 1.7.21 2014-06-27 23:09:39 -06:00
Sebastian Lackner
e8fee88c50 Remove several patches (accepted upstream). 2014-06-22 20:40:51 +02:00
Sebastian Lackner
c2e8167d6d Release 1.7.20. 2014-06-14 19:46:09 +02:00
Sebastian Lackner
907d56238e Fix warning during compilation for unused variable. 2014-06-14 10:37:54 +02:00
Sebastian Lackner
674b998176 Add patch to fix issues with Obsidium copy protection (add missing exception in OutputDebugStringA). 2014-06-14 09:45:49 +02:00
Erich E. Hoover
882b560d0d Added patches for default security descriptor ownership and DACLs for processes. 2014-06-13 15:29:17 -06:00
Erich E. Hoover
8df335170a Updated changelog with recent changes. 2014-06-13 15:29:16 -06:00
Sebastian Lackner
2241ffdf4b Disable gstreamer (broken with glib >= 2.32.0).
See http://bugs.winehq.org/show_bug.cgi?id=30557 for more details.
2014-06-13 23:22:54 +02:00
Sebastian Lackner
dff7b6b562 Update winepulse patches to latest revision (extracted from 1.7.19). 2014-06-13 22:47:13 +02:00
Sebastian Lackner
cdb00a9e7a Update README.md. 2014-06-13 22:02:13 +02:00
Sebastian Lackner
f7541123b5 Add patch to avoid race-condition when unloading modules while hook is active. 2014-06-13 21:49:49 +02:00
Sebastian Lackner
6578707ac2 Remove several patches (accepted upstream). 2014-06-13 20:07:34 +02:00
Michael MĂĽller
719c65ebb0 Fix recommendation for odbc and add libgsm1. 2014-06-07 14:55:29 +02:00
Erich E. Hoover
ddefcb372a Force autoreconf even when timestamp seems to indicate that it is not necessary. 2014-06-05 15:38:43 -06:00
Michael MĂĽller
c594bca17a Error out in git apply script on *BSD. 2014-06-05 21:20:54 +02:00
Sebastian Lackner
3c33a592f6 Make generate-patchlist.sh compatible with FreeBSD. 2014-06-05 22:17:55 +02:00
Sebastian Lackner
4476d8af38 Update changelog for release 1.7.19-1. 2014-06-02 23:55:55 +02:00
Sebastian Lackner
b216cdce2c Update FD cache patch to allow complication with -DNDEBUG. 2014-06-02 20:57:19 +02:00
Sebastian Lackner
fc086bb2bc Add additional check to ensure wineserver doesn't crash if mem_alloc fails. 2014-06-02 01:42:23 +02:00
Sebastian Lackner
772dfd9f5a Work around compiler signed <-> unsigned casting issues. 2014-06-02 01:38:40 +02:00
Michael MĂĽller
b4d53a7344 Add support for xattr/ACLs on FreeBSD 2014-06-01 22:10:22 +02:00
Sebastian Lackner
e5c7fe8c18 Merge branch 'master' of github.com:compholio/wine-compholio-daily 2014-06-01 23:48:40 +02:00
Sebastian Lackner
fdc24226bf 02-ACL_Extended_Attributes: Add additional patch to prevent crashes in case of invalid extended attributes. 2014-06-01 23:47:53 +02:00
Michael MĂĽller
3886ee9fae Add patch to detect direct rendering in Wine applications. 2014-06-01 22:55:11 +02:00
Sebastian Lackner
229eb9bba5 Update fd cache patches (use slightly slower interlocked commands, which should also work well on less usual processor architectures). 2014-05-31 22:10:09 +02:00
Sebastian Lackner
1800d1f853 Fixed possible race-condition in FD cache patches. 2014-05-31 18:38:40 +02:00
Sebastian Lackner
24d682fd91 Add patch to fix exception test failures on x86_64. 2014-05-31 14:12:22 +02:00
Sebastian Lackner
979900f060 Add lockfree implementation for get_cached_fd to ntdll. 2014-05-31 04:02:40 +02:00
Michael MĂĽller
d094743650 Fix patchlist. 2014-05-31 03:46:10 +02:00
Michael MĂĽller
2c9d2d8f64 Merge branch 'master' of https://github.com/compholio/wine-compholio-daily 2014-05-31 03:42:29 +02:00
Michael MĂĽller
457c0bf7e1 Add patches to fix current Unity3D webplayer. 2014-05-31 03:42:21 +02:00
Sebastian Lackner
d2209c6ee0 Add additional patch for --check-libs commandline option. 2014-05-30 01:26:10 +02:00
Sebastian Lackner
84997e39ab Separate patchlist into patch-list.patch (containing the autogenerated list) and 00-Commandline for the commandline option changes. 2014-05-30 01:04:27 +02:00
Torsten Kurbad
ec9af72c77 Replaced Liberation Sans 2.01 bei 1.07.3 2014-05-27 11:56:11 +02:00
Michael MĂĽller
01be545e92 Replace strict draw ordering patch with a different approach. 2014-05-27 03:03:03 +02:00
Erich E. Hoover
bfb7d535af Updated SIO_ADDRESS_LIST_CHANGE patches. 2014-05-16 13:32:52 -06:00
Sebastian Lackner
94813ecf3c Update changelog for release 1.7.18-1. 2014-05-13 20:49:41 +02:00
Sebastian Lackner
b09ed0f3d2 Rebase 02-ACL_Extended_Attributes patches. 2014-05-04 01:32:57 +02:00
Sebastian Lackner
807da03757 Add additional patch to silence repeated wined3d_swapchain_present FIXMEs. 2014-05-04 00:55:43 +02:00
Sebastian Lackner
af447c6cfd Simplify patch to silence repeated resource_check_usage FIXMEs. 2014-05-04 00:43:52 +02:00
Sebastian Lackner
aac5a0da53 Add additional patch to silence repeated CompareStringEx FIXME messages. 2014-05-04 00:29:57 +02:00
Michael Mueller
7fede3cd56 Fix gitapply on BSD systems 2014-05-03 02:31:56 +02:00
Michael Mueller
43b781b453 Fix problem with CURDIR on BSD systems 2014-05-03 02:19:22 +02:00
Erich E. Hoover
d989770f24 Update changelog for release 1.7.18. 2014-05-02 13:05:45 -06:00
Michael MĂĽller
036250b6da Update timer patch 2014-05-02 20:50:58 +02:00
Erich E. Hoover
d787be6d20 Update changelog for release 1.7.17. 2014-04-18 16:04:47 -06:00
Erich E. Hoover
c35db80eae Split the storage of the ownership information into a separate patch. 2014-04-18 15:48:33 -06:00
Erich E. Hoover
4328f2e964 Update ACL patches to store user/group data instead of replacing it on the retrieval side. 2014-04-18 15:29:56 -06:00
Erich E. Hoover
eecf7c4a68 ACL data is now stored in binary instead of converting it to ASCII. 2014-04-17 16:53:10 -06:00
compholio
4d01de8fcd Update README.md with linguistic casing removal 2014-04-17 13:03:11 -06:00
Erich E. Hoover
f5ef032c89 Removed linguistic casing patches (accepted upstream). 2014-04-17 12:56:29 -06:00
Erich E. Hoover
f9eebd5599 Removed dynamic unwind patches (accepted upstream). 2014-04-16 16:52:37 -06:00
Erich E. Hoover
48bbae3fb7 Fix strndup move not being properly rebased. 2014-04-15 15:30:37 -06:00
Michael MĂĽller
fdbc47e09e Merge branch 'master' of https://github.com/compholio/wine-compholio-daily 2014-04-15 23:19:39 +02:00
Michael MĂĽller
2b4093a0ea Remove recommendation for gettext and libgif 2014-04-15 23:18:52 +02:00
Erich E. Hoover
580ff7c1c5 Move strndup call inside of file_get_parent_sd. 2014-04-15 15:14:15 -06:00
Erich E. Hoover
454c09ddbe Remove old test code for adding extra ACLs. 2014-04-15 15:08:23 -06:00
Erich E. Hoover
810202432b Ensure ACL buffers are NULL terminated for all string processing. 2014-04-15 15:05:36 -06:00
Erich E. Hoover
737eb1005a Add bounds checking on SubAuthorityCount. 2014-04-15 14:56:44 -06:00
Erich E. Hoover
58eeb19b3e Rebase security attribute retrieval patch. 2014-04-15 14:32:21 -06:00
Erich E. Hoover
c8be20f3cf Remove unnecessary check for INHERIT_ONLY_ACE. 2014-04-15 14:28:42 -06:00
Erich E. Hoover
b6d34ea7d2 Do not unnecessarily move 'struct stat st;'. 2014-04-15 14:20:06 -06:00
slackner
f6d14c47ec Merge pull request #3 from anish/patch-1
Update gitapply.sh (Turn off whitespace warnings)
2014-04-10 04:08:07 +02:00
Anish Bhatt
78d6102645 Update gitapply.sh
Turn off whitespace warnings
2014-04-09 19:03:06 -07:00
Erich E. Hoover
b862f600f5 Start putting changelog entries in prior to releases. 2014-04-05 17:46:37 -06:00
Erich E. Hoover
e0b037b82a Update the linguistic casing patches to print a FIXME that the flags are not fully supported. 2014-04-05 14:28:26 -06:00
Erich E. Hoover
69b0f7ebd7 Split Arial replacement into two patches. 2014-04-05 13:29:29 -06:00
Erich E. Hoover
7c95fad661 Dropped liblcms2-dev dependency for old Ubuntu versions. 2014-04-04 19:52:26 -06:00
Sebastian Lackner
67cc61ffca Update changelog. 2014-04-05 03:49:35 +02:00
Sebastian Lackner
0df720506a Fix build failure caused by dynamic unwind patches on 32-bit. 2014-04-05 03:47:22 +02:00
Sebastian Lackner
68c91b3113 Merge branch 'master' of github.com:compholio/wine-compholio-daily 2014-04-05 02:03:52 +02:00
Sebastian Lackner
ac36f88de1 11-Dynamic_Unwind: Add forward from kernel32 to ntdll. 2014-04-05 02:03:07 +02:00
Erich E. Hoover
9fcd7e7113 Fix date in changelog. 2014-04-04 17:28:07 -06:00
Erich E. Hoover
903a8e54d4 Update changelog for release 1.7.16. 2014-04-04 17:25:15 -06:00
Sebastian Lackner
3de6b17d8a Update dynamic unwind patches and add test. 2014-04-05 01:24:13 +02:00
Sebastian Lackner
74bd451363 11-Dynamic_Unwind: Explicitly declare unwind table callback as CDECL. 2014-04-04 19:56:20 +02:00
Sebastian Lackner
22a1e1ff59 Add proper implementation for dynamic unwind functions, removed stub implementation. 2014-04-04 19:47:11 +02:00
Sebastian Lackner
c781d177e1 Removed first set of DXVA2 patches (accepted upstream). 2014-04-04 19:44:11 +02:00
Erich E. Hoover
f13c0f3cd8 Further split out the SIO_ADDRESS_LIST_CHANGE patches. 2014-04-04 11:34:29 -06:00
Michael MĂĽller
9ebbbcfc9f Add stub for RtlInstallFunctionTableCallback 2014-04-04 07:15:16 +02:00
Sebastian Lackner
d886426f50 Updated DXVA2 stub and header patches. 2014-04-04 07:06:47 +02:00
Erich E. Hoover
d30bfe1a41 Add patch to silence repeated resource_check_usage FIXME. 2014-04-03 21:39:17 -06:00
Erich E. Hoover
30825c59a9 SetWaitableTimerEx FIXME patch accepted upstream. 2014-04-03 21:37:49 -06:00
Sebastian Lackner
7d03df647f Fix lcms dependency (wine requires lcms2 instead of lcms1), add build dependency to libsane-dev. 2014-04-03 19:50:14 +02:00
Sebastian Lackner
a046f03792 Add patch to silence SetWaitableTimerEx fixme message (heavily used by Adobe Flash). 2014-04-03 05:31:09 +02:00
Erich E. Hoover
b744f3d37b Use 'Multi-Arch: foreign' flag for wine-compholio package. 2014-04-02 20:28:54 -06:00
Michael MĂĽller
c52df465c1 Merge branch 'wine64' 2014-04-02 23:59:54 +02:00
Sebastian Lackner
09bfdcb009 Update DXVA2 patches, remove last work-in-progress part. 2014-03-29 06:53:54 +01:00
Erich E. Hoover
2f449562d1 First SIO_ADDRESS_LIST_CHANGE patch accepted upstream. 2014-03-28 15:58:51 -06:00
Sebastian Lackner
3c6c730333 Remove previous dxva2 patch (accepted upstream), added additional dxva2 implementation patches. 2014-03-26 22:28:10 +01:00
Michael MĂĽller
809ee539f3 Fix version number in Replaces/Breaks. 2014-03-25 17:08:07 +01:00
Michael MĂĽller
339892ffe6 Try to fix upgrading from old versions. 2014-03-25 15:58:12 +01:00
Michael MĂĽller
2e7f83fbf8 Add changelog entry. 2014-03-25 06:09:09 +01:00
Michael MĂĽller
9043eadbcb Fix search path for dh_shlibdeps. 2014-03-25 04:50:06 +01:00
Michael MĂĽller
5386c7843d Update dependencies and make them 64 bit ready. 2014-03-25 02:04:35 +01:00
Michael MĂĽller
0675620019 Pass CONFFLAGS to ./configure. 2014-03-25 01:02:13 +01:00
Michael MĂĽller
552b6acf97 Initial work to make wine-compholio 64 bit ready. 2014-03-25 00:52:10 +01:00
Sebastian Lackner
86c9842e64 Fix bug in generate-patchlist.sh. 2014-03-24 18:48:08 +01:00
Michael MĂĽller
d0e9447fb6 dxva2: Added stub dll 2014-03-24 00:17:29 +01:00
Erich E. Hoover
47ddb3a6d1 Update changelog for release 1.7.15. 2014-03-23 12:54:12 +01:00
Sebastian Lackner
5a4ba9a546 Fix build dependencies for Debian Sid. 2014-03-22 00:03:02 +01:00
Erich E. Hoover
b51c16c86a Fix free() of a const variable (Bug #1). 2014-03-11 11:10:23 -06:00
Sebastian Lackner
c1edf8d5c4 Remove 'register user administrative tools shell folder' patch (accepted upstream). 2014-03-10 21:22:56 +01:00
Sebastian Lackner
ebf2fb3d7d Updated patch 02-ACL/0002 to be compatible with -Werror compile flag. 2014-03-08 02:22:13 +01:00
Sebastian Lackner
ca1e83ef3f Update changelog. 2014-03-08 01:15:11 +01:00
Sebastian Lackner
054930fd52 Add additional patch to register user administrative tools shell folder (required for GoToMeeting). 2014-03-08 01:13:52 +01:00
Erich E. Hoover
56fd91825e Update changelog for release 1.7.14. 2014-03-07 13:59:51 -07:00
Erich E. Hoover
a6b295029c Remove sha1sum dependency, it is part of coreutils. 2014-03-05 17:22:34 -07:00
Sebastian Lackner
ddf6dd7f6a gitapply.sh: Improve a few comments. 2014-03-05 22:53:11 +01:00
Sebastian Lackner
524c64dd2a Fix build dependencies for binary patching script. 2014-03-05 22:47:17 +01:00
Erich E. Hoover
e470b33f7c Update the build dependencies to work with the binary patching script. 2014-03-05 12:38:21 -07:00
Sebastian Lackner
556aa9335e Fallback to 'git apply' if available to speed up applying the patches. 2014-03-05 01:13:32 +01:00
Sebastian Lackner
0817bd1a57 Use gitapply.sh to apply all the patches 2014-03-05 01:00:27 +01:00
Sebastian Lackner
2f7523bffe Move generate-patchlist.sh script into folder debian/tools, integrate patch-list-template.diff into the shell script 2014-03-05 00:02:01 +01:00
Erich E. Hoover
9fd0a6eb9d Manually install the Arial replacement font when make install is run. 2014-02-26 13:01:53 -07:00
Erich E. Hoover
f5f50d333c Add Liberation Sans (SIL Open Font License) as an Arial replacement. 2014-02-25 17:49:46 -07:00
Erich E. Hoover
2d3f9334f8 Improve the readability of the user shell folder ACL patch. 2014-02-25 12:59:27 -07:00
Erich E. Hoover
9466f14d52 Fix a memory leak in ACL inheritance. 2014-02-25 12:58:07 -07:00
Erich E. Hoover
79c4f4391e Update changelog. 2014-02-21 09:00:15 -07:00
Erich E. Hoover
820cc2e861 Fix a typo in the configure check for extended attributes. 2014-02-21 08:58:55 -07:00
Sebastian Lackner
29d69db459 Abort if patching the source files fails. 2014-02-21 04:54:31 +01:00
Erich E. Hoover
7642c422ed Updated the changelog for release 1.7.13. 2014-02-20 18:48:44 -07:00
Erich E. Hoover
d56138d8ec Allow Makefile DESTDIR to contain a relative path. 2014-02-17 10:09:44 -07:00
Erich E. Hoover
b5687dc502 Explicitly run configure with '--with-xattr' when building debian packages. 2014-02-16 09:30:22 -07:00
Erich E. Hoover
7a15599a3a Auto-update the patch list when 'make DESTDIR=dest_dir install' is run. 2014-02-15 18:38:28 -07:00
Erich E. Hoover
7e5038e76c Fail on configure when '--with-xattr' is passed and xattr.h cannot be found. 2014-02-15 18:21:54 -07:00
Erich E. Hoover
30f3d023d5 Further separate the file ACL patches. 2014-02-15 18:18:22 -07:00
compholio
a7a1f83013 Update README.md with pipe access patch removal 2014-02-14 22:35:16 -07:00
Erich E. Hoover
53053927fd Update the SIO_ADDRESS_LIST_CHANGE patch to properly return the number of bytes in WSAIoctl. 2014-02-12 14:58:45 -07:00
Erich E. Hoover
35cab4ef93 Update linguistic casing patches to include tests. 2014-02-12 13:29:06 -07:00
Erich E. Hoover
43b0d84ae9 Remove the named pipe security access patch (accepted upstream). 2014-02-10 20:37:09 -07:00
Erich E. Hoover
825145217c Updated the patch list template to be compatible with 'git am'. 2014-02-07 21:31:59 -07:00
Erich E. Hoover
99c6fe660f Provide a Makefile option to change the patching tool. 2014-02-07 21:31:56 -07:00
Erich E. Hoover
4a69f63a78 Output the progress of the patching process. 2014-02-07 20:51:20 -07:00
Erich E. Hoover
39fa530c33 Add an uninstall rule to the patch Makefile. 2014-02-07 20:43:37 -07:00
Erich E. Hoover
564f8aeafc Move the patching code out of the debian rules into a Makefile. 2014-02-07 20:37:54 -07:00
Erich E. Hoover
e77f05ee52 Add support for inherited file ACLs. 2014-02-07 20:20:32 -07:00
218 changed files with 1483437 additions and 3092 deletions

5
.gitignore vendored Normal file
View File

@@ -0,0 +1,5 @@
debian/tools/wine
.depcache
.srccache
*.ok
*.pyc

152
DEVELOPER.md Normal file
View File

@@ -0,0 +1,152 @@
Developers and maintainers guide
================================
This document will provide some information targeted at developers, who
either want to build/package Wine-Compholio for their distribution, but also
for developers who would like to contribute their patches to Wine-Compholio,
to get them included in future releases.
Compiling Wine-Compholio
========================
**Warning:** Please note that starting with Wine-Compholio 1.7.23 it is
deprecated to manually apply patches without using the Makefile. To avoid
typical pitfalls for package maintainers (like trying to use the patch
commandline utility for binary patches or not updating the patchlist) it is
highly recommended to use the Makefile in order to apply all patches. This
ensures that the the correct patch utility is used, that the list of patches
is updated appropriately, and so on. Please note that it is still possible
to exclude patches if desired, take a look at the end of this document for
more details.
Instructions
------------
The following instructions (based on the [Gentoo
Wiki](https://wiki.gentoo.org/wiki/Netflix/Pipelight#Compiling_manually))
will give a short overview how to compile Wine-Compholio, but of course not
explain all details. Make sure to install all required Wine dependencies
before proceeding.
As the first step please grab the latest Wine source:
```bash
wget http://prdownloads.sourceforge.net/wine/wine-1.7.24.tar.bz2
wget https://github.com/compholio/wine-compholio-daily/archive/v1.7.24.tar.gz
```
Extract the archives:
```bash
tar xvjf wine-1*.tar.bz2
cd wine-1*
tar xvzf ../v1.7.24.tar.gz --strip-components 1
```
And apply the patches:
```bash
make -C ./patches DESTDIR=$(pwd) install
```
Afterwards run configure (you can also specify a prefix if you don't want to install
Wine-Compholio system-wide):
```bash
./configure --with-xattr
```
Before you continue you should make sure that `./configure` doesn't show any
warnings (look at the end of the output). If there are any warnings, this
most likely means that you're missing some important header files. Install
them and repeat the `./configure` step until all problems are fixed.
Afterwards compile it (and grab a cup of coffee):
```bash
make
```
And install it (you only need sudo for a system-wide installation):
```bash
sudo make install
```
Excluding patches
-----------------
It is also possible to apply only a subset of the patches, for example if
you're compiling for a distribution where PulseAudio is not installed, or
if you just don't like a specific patchset. Please note that some patchsets
depend on each other, and requesting an impossible situation might result
in a failure to apply all patches.
Lets assume you want to exclude the patchset in directory `DIRNAME`, then
just invoke the Makefile like this:
```bash
make -C ./patches DESTDIR=$(pwd) install -W DIRNAME.ok
```
Using the same method its also possible to exclude multiple patchsets. If you
want to exclude a very large number of patches, it is easier to do specify
a list of patches which should be included instead. To apply for example
only the patchsets in directory `DIRNAME1` and `DIRNAME2`, you can use:
```bash
make -C ./patches DESTDIR=$(pwd) PATCHLIST="DIRNAME1.ok DIRNAME2.ok" install
```
Contributing to Wine-Compholio
==============================
Please note that Wine-Compholio is not just an arbitrary collection of Wine
patches. We see Wine-Compholio as a **testing version** in preparation for
patches to be submitted to upstream Wine. This implies that all patches should
at least have a minimum standard quality. Unlike some other PPAs/AURs which
provide heavily patched Wine versions, we will not accept hacks for very
specific games. Such hacks often break compatibility with other applications,
which means we probably don't want to include them, sorry.
If you think your patches are indeed a proper implementation, then feel free
to contribute them. Please note that to allow possible later inclusion
into upstream Wine, we will require you to pay attention to the same
[rules](http://wiki.winehq.org/SubmittingPatches). Please be patient and
give us up to about a week to review them - we're a very small team, so
it might take some time, and we want to make sure that the implementation
doesn't contain any critical errors, which could cause regressions. If you
want to contribute huge sets of patches, we would really like you to *stay
contributing* in the future. Even if we accepted your patches, this doesn't
necessary mean we understand all of it, and if you cannot or don't want
to maintain them (especially in case of errors, or difficult rebasing),
we will probably end up removing them again.
You can also suggest adding patches written by other people - in this case
your request should include who wrote the patch. Anonymous patches which
don't include the author information aren't welcome, similar to the rules
for upstream Wine.
Attribution guidelines
----------------------
The Wine "Compholio" Edition repository expects all patches to conform to
Wine's (undocumented) attribution guidelines. There are a variety of ways
to attribute patches, but they all involve an additional line to the patch
subject:
```
commit 0000000000000000000000000000000000000000
Author: Example Author <example.email@email-provider.com>
Date: Sat Jul 26 12:31:50 2014 -0600
Name of patch.
TYPE-OF-ATTRIBUTION.
```
TYPE-OF-ATTRIBUTION can be any of the following:
`Found/Spotted by FINDER.`: The resolved issue was found by FINDER, they
should receive appropriate credit for finding the problem - even though
their patch was not used in the final implementation.
`Based on patch by AUTHOR.`: The patch created by AUTHOR was a starting point
for the patch, some modifications were made to their patch - but they should
receive credit since the original implementation was theirs.

1302
LICENSE.md Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

386
README.md
View File

@@ -1,18 +1,374 @@
wine-compholio-daily
What is Wine-Compholio?
=======================
The **Wine "Compholio" Edition** is a special patched version of Wine that
includes both patches written by our team directly and specific patches by
third party developers that we consider good enough for inclusion. This can
be seen as a testing version in preparation for patches to be submitted
to upstream Wine - don't be surprised if you encounter additional bugs,
which are not present in regular wine, and always report such issues to us
(via github), so we can improve our fixes even further. Thanks!
Included bugfixes and improvements
----------------------------------
Wine-Compholio contains fixes for the following Wine bugs:
* ATL IOCS data should not be stored in GWLP_USERDATA ([Wine Bug #21767](http://bugs.winehq.org/show_bug.cgi?id=21767 "JLC's Internet TV crashes on startup"))
* Add Dynamic DST exceptions for Israel Standard Time ([Wine Bug #36374](http://bugs.winehq.org/show_bug.cgi?id=36374 "Israel timezone handled incorrectly"))
* Add implementation of WTSEnumerateProcessesW ([Wine Bug #29903](http://bugs.winehq.org/show_bug.cgi?id=29903 "Some Microsoft debuggers fail to enumerate processes due to wtsapi32.WTSEnumerateProcessesW() being a stub (Microsoft Visual Studio 2005, DbgCLR from .NET 2.0 SDK)"))
* Add support for extra large and jumbo icon lists in shell32 ([Wine Bug #24721](http://bugs.winehq.org/show_bug.cgi?id=24721 "Explorer++ crashes when choosing to view large icons or extra large icons"))
* Allow special characters in pipe names ([Wine Bug #28995](http://bugs.winehq.org/show_bug.cgi?id=28995 "Unable to use named pipes with \">\" character in the name"))
* Audio stuttering and performance drops in multiple applications ([Wine Bug #30639](http://bugs.winehq.org/show_bug.cgi?id=30639 "Audio stuttering and performance drops in Star Wolves 3"))
* Fix comparison of punctuation characters in lstrcmp ([Wine Bug #10767](http://bugs.winehq.org/show_bug.cgi?id=10767 "lstrcmp and others do not compare punctuation characters correctly"))
* Fix for ConnectNamedPort return value in overlapped mode ([Wine Bug #16550](http://bugs.winehq.org/show_bug.cgi?id=16550 "ConnectNamedPort should never return OK in overlapped mode (affects chromium ui_tests.exe)"))
* Fix for programs leaking wndproc slots ([Wine Bug #32451](http://bugs.winehq.org/show_bug.cgi?id=32451 "Multiple GOG.com installer bundles show a broken/unresponsive dialog window during installation (installer process running out of wndproc slots)"))
* GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](http://bugs.winehq.org/show_bug.cgi?id=15980 "Rhapsody 2 crashes on startup (GetSecurityInfo returns NULL DACL for process object)"))
* Implement ITextDocument_fnRange function ([Wine Bug #12458](http://bugs.winehq.org/show_bug.cgi?id=12458 "Multiple apps fail due to RichEdit ITextDocument_fnRange stub (MySQL Workbench, BlitzMaxDemo137)"))
* Implement LoadIconMetric function ([Wine Bug #35375](http://bugs.winehq.org/show_bug.cgi?id=35375 "Multiple applications need Vista+ API COMCTL32.dll.380 a.k.a. 'LoadIconMetric' (Solidworks 2013 systray monitor, Microsoft One/SkyDrive)"))
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](http://bugs.winehq.org/show_bug.cgi?id=13829 "Wine does not have CJK fonts"))
* Implement an Arial replacement font ([Wine Bug #32323](http://bugs.winehq.org/show_bug.cgi?id=32323 "Netflix (Silverlight 4.x) and several .NET Framework 3.x/4.0 WPF apps require either Arial or Verdana to be installed"))
* Make it possible to change media center / tablet pc status ([Wine Bug #18732](http://bugs.winehq.org/show_bug.cgi?id=18732 "Microsoft Experience Pack for Tablet PC 1 refuses to install"))
* Need for Speed 3 installer requires devices in HKEY_DYN_DATA ([Wine Bug #7115](http://bugs.winehq.org/show_bug.cgi?id=7115 "Need for Speed III installer fails in Win9X mode, reporting \"Could not get 'HardWareKey' value\" (active PnP device keys in 'HKEY_DYN_DATA\\\\Config Manager\\\\Enum' missing)"))
* Old games cannot locate software-only renderer ([Wine Bug #32581](http://bugs.winehq.org/show_bug.cgi?id=32581 "Invalid dwFlags of reference rasterizer's HAL D3DDEVICEDESC"))
* Return correct IMediaSeeking stream positions in quartz ([Wine Bug #23174](http://bugs.winehq.org/show_bug.cgi?id=23174 "Fallout 3: Diologue and Video/sound issues"))
* Set ldr.EntryPoint for main executable ([Wine Bug #33034](http://bugs.winehq.org/show_bug.cgi?id=33034 "Many GFWL (Games For Windows Live) 1.x/2.x/3.x games crash or exit silently on startup (DiRT 2/3, GTA IV Steam)"))
* Support for AllocateAndGetTcpExTableFromStack ([Wine Bug #34372](http://bugs.winehq.org/show_bug.cgi?id=34372 "Add missing function AllocateAndGetTcpExTableFromStack() to iphlpapi.dll"))
* Support for GetSystemTimes ([Wine Bug #19813](http://bugs.winehq.org/show_bug.cgi?id=19813 "Voddler needs GetSystemTimes to run"))
* Support for ITextRange, ITextFont and ITextPara ([Wine Bug #18303](http://bugs.winehq.org/show_bug.cgi?id=18303 "Adobe Acrobat Pro 7: Crashes when selecting the \"edit\" menu while having a file open."))
* Support for Junction Points ([Wine Bug #12401](http://bugs.winehq.org/show_bug.cgi?id=12401 "Support junction points, i.e. DeviceIoCtl(FSCTL_SET_REPARSE_POINT/FSCTL_GET_REPARSE_POINT)"))
* Support for NtSetInformationFile class FileDispositionInformation ([Wine Bug #30397](http://bugs.winehq.org/show_bug.cgi?id=30397 "Multiple applications need support for NtSetInformationFile class FileDispositionInformation (Cygwin installer, Stylizer 5.x Visual CSS editor, Spoon Studio 2011 (ex Xenocode) application sandboxing scheme)"))
* Support for PulseAudio backend for audio ([Wine Bug #10495](http://bugs.winehq.org/show_bug.cgi?id=10495 "Wine should support PulseAudio"))
* Support for SHCreateSessionKey ([Wine Bug #35630](http://bugs.winehq.org/show_bug.cgi?id=35630 "SHCreateSessionKey is unimplemented"))
* Support for TOOLTIPS_GetTipText edge cases ([Wine Bug #30648](http://bugs.winehq.org/show_bug.cgi?id=30648 "SEGA Genesis / Mega Drive Classic Collection (Steam) crashes on startup"))
* Support for TransmitFile ([Wine Bug #5048](http://bugs.winehq.org/show_bug.cgi?id=5048 "Multiple applications and games need support for ws2_32 SIO_GET_EXTENSION_FUNCTION_POINTER TransmitFile (WSAID_TRANSMITFILE)"))
* Support for [Get|Set]SystemFileCacheSize ([Wine Bug #35886](http://bugs.winehq.org/show_bug.cgi?id=35886 "Lotus Notes 9 'cacheset.exe' utility needs KERNEL32.dll.SetSystemFileCacheSize"))
* Support for inherited file ACLs ([Wine Bug #34406](http://bugs.winehq.org/show_bug.cgi?id=34406 "Finale Notepad 2012 doesn't copy/create user files on program start"))
* Support for interface change notifications ([Wine Bug #32328](http://bugs.winehq.org/show_bug.cgi?id=32328 "Many .NET and Silverlight applications require SIO_ADDRESS_LIST_CHANGE for interface change notifications"))
* Support for process ACLs ([Wine Bug #22006](http://bugs.winehq.org/show_bug.cgi?id=22006 "OpenProcess does not enforce ACL"))
* Support for stored file ACLs ([Wine Bug #31858](http://bugs.winehq.org/show_bug.cgi?id=31858 "Netflix on Firefox fails with Internet Connection Problem when loading bar is at 99%"))
* Support for ws2_32.inet_pton ([Wine Bug #36713](http://bugs.winehq.org/show_bug.cgi?id=36713 "Watch_Dogs requires ws2_32.inet_pton"))
* Use manual relay for RunDLL_CallEntry16 in shell32 ([Wine Bug #23033](http://bugs.winehq.org/show_bug.cgi?id=23033 "Tages Protection v5.x: games report \"DLL not found shell.dll16.dll\" (Runaway 2: The Dream Of The Turtle, ...)"))
* Workaround for TransactNamedPipe not being supported ([Wine Bug #17273](http://bugs.winehq.org/show_bug.cgi?id=17273 "Many apps and games need SetNamedPipeHandleState implementation (support for named pipe message mode)(FireFox+Flash, Win8/NET 4.x SDK/vcrun2012, WiX installers)"))
Besides that the following additional changes are included:
* Add default ACLs for user shell folders
* Add support for Dynamic DST (daylight saving time) information in registry
* Lockfree algorithm for filedescriptor cache (improves file access speed)
* Other Pipelight specific enhancements
* Reduced SetTimer minimum value from 10 ms to 5 ms (improves Silverlight framerates)
* SO_CONNECT_TIME returns the appropriate time
* Support for GetVolumePathName
* Workaround for shlwapi URLs with relative paths
* XEMBED support for embedding Wine windows inside Linux applications
How to install Wine-Compholio
=============================
Ready-to-use packages for Wine-Compholio are available for a variety
of different Linux distributions directly for download. Just follow the
instructions below to install it (and all required dependencies). After the
installation, please take a look at the next section for instructions how
to use it in order to run your desired application.
**Important:** If you already have installed 'pipelight' on your system, there
is a good chance that you already have Wine-Compholio. Take a look at the
next section on how to find out if this is the case.
If your distribution is not listed below, feel free to add a feature request -
if the demand is high enough we might consider packaging it for additional
distributions.
![alt text](http://repos.fds-team.de/misc/images/ubuntu.png) Ubuntu / Linux Mint
--------------------------------------------------------------------------------
Please run the following commands from a terminal, one line after each other.
```bash
sudo add-apt-repository ppa:pipelight/stable
sudo apt-get update
sudo apt-get install --install-recommends wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/arch.png) Arch Linux
---------------------------------------------------------------------
As a first step you have to import the key for our repository, and set the
trust level to trusted:
```bash
sudo pacman-key -r E49CC0415DC2D5CA
sudo pacman-key --lsign-key E49CC0415DC2D5CA
```
Afterwards you have to add the following lines to `/etc/pacman.conf`:
```
[compholio]
Server = http://cdn.fds-team.de/stable/arch/$arch
```
Now you can install Wine-Compholio directly using `pacman`:
```bash
sudo pacman -Syu wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/debian.png) Debian Jessie/Sid
------------------------------------------------------------------------------
*(Instructions for Debian Wheezy can be found below)*
In order to install i386 packages on a 64-bit system, you have to run the
following command as a first step:
```bash
sudo dpkg --add-architecture i386
```
Afterwards import the key for our repository:
```bash
wget http://repos.fds-team.de/Release.key
sudo apt-key add Release.key
```
And add our repository at the end of your `/etc/apt/sources.list` file:
```
# For Debian Jessie add the following line:
deb http://cdn.fds-team.de/stable/debian/ jessie main
# For Debian Sid this one:
deb http://cdn.fds-team.de/stable/debian/ sid main
```
Afterwards update the package cache and install it:
```bash
sudo apt-get update
sudo apt-get install wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/debian.png) Debian Wheezy
--------------------------------------------------------------------------
In order to install i386 packages on a 64-bit system, you have to run the
following command as a first step:
```bash
sudo dpkg --add-architecture i386
```
Afterwards import the key for our repository:
```bash
wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/Release.key
sudo apt-key add Release.key
```
And add our repository at the end of your `/etc/apt/sources.list` file:
```
# For Debian Wheezy add the following line:
deb http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/ ./
```
Afterwards update the package cache and install it:
```bash
sudo apt-get update
sudo apt-get install wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/opensuse.png) OpenSUSE
-----------------------------------------------------------------------
All the following steps have to be executed as root user. As a first step
you have to add the repository - this step depends on the openSUSE version
you're using.
| openSUSE version | Path component |
| ------------------- | ----------------------- |
| openSUSE 12.2 | `/openSUSE_12.2/` |
| openSUSE 12.3 | `/openSUSE_12.3/` |
| openSUSE 13.1 | `/openSUSE_13.1/` |
| openSUSE Factory | `/openSUSE_Factory/` |
| openSUSE Tumbleweed | `/openSUSE_Tumbleweed/` |
The following commandline is an example for openSUSE 13.1, for a different
version just replace the path component according to the table above:
```bash
zypper ar --refresh http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/openSUSE_13.1/home:DarkPlayer:Pipelight.repo
```
Afterwards just run the following commands to install it:
```bash
zypper ref
zypper install wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/fedora.png) Fedora
-------------------------------------------------------------------
**Warning:** In contrary to other distributions, its not possible to have both
a regular wine version and Wine-Compholio installed at the same time - using
the instructions below will replace your regular version. Moreover it will
be installed to `/usr/bin/wine` in contrary to `/opt/wine-compholio/bin/wine`.
As a first step you have to add the repository - this step depends on the
Fedora version you're using.
| Fedora version | Patch component |
| --------------- | --------------- |
| Fedora 18 | `/Fedora_18/` |
| Fedora 19 | `/Fedora_19/` |
| Fedora 20 | `/Fedora_20/` |
The following commandline is an example for Fedora 19, for a different version
just replace the path component according to the table above:
```bash
sudo wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Fedora_19/home:DarkPlayer:Pipelight.repo -O /etc/yum.repos.d/pipelight.repo
```
Afterwards run the following command to install the package:
```bash
sudo yum install wine-compholio
```
Please note that you might run into trouble if the official Fedora package
(without compholio patches) is newer than the one from the repository above,
so if something doesn't work, always make sure that you have installed
our version. To do that just run:
```bash
/usr/bin/wine --patches
```
When you're using Wine-Compholio this will show to a list of all patches
included, for an unpatched version this command will fail.
![alt text](http://repos.fds-team.de/misc/images/mageia.png) Mageia 4
---------------------------------------------------------------------
As a first step please add the key for our repository
```bash
wget http://repos.fds-team.de/Release.key
rpm --import Release.key
```
If you're using a 32-bit version of Mageia just add the repository
for 32-bit packages:
```bash
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
```
For a 64-bit version of Mageia you'll need both the 32-bit and the
64-bit repository:
```bash
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
sudo urpmi.addmedia "Compholio 64-bit" http://cdn.fds-team.de/stable/mageia/4/x86_64/
```
Afterwards run the following commands to install the package:
```bash
sudo urpmi.update -a
sudo urpmi wine-compholio
```
Using Wine-Compholio
====================
Daily updates for the Wine "Compholio" Edition.
Since we don't want to duplicate a lot of information here, we recommend
to take a look at the [official Wine FAQ](http://wiki.winehq.org/FAQ) for
general information about how to use Wine. The following part will mainly
concentrate on the differences between wine and Wine-Compholio.
Current patches include:
* Support for interface change notifications (http://bugs.winehq.org/show_bug.cgi?id=32328)
* Support for stored file ACLs (http://bugs.winehq.org/show_bug.cgi?id=31858)
* Support for Junction Points (http://bugs.winehq.org/show_bug.cgi?id=12401)
* Support for TransmitFile (http://bugs.winehq.org/show_bug.cgi?id=5048)
* Support for access security with named pipes (http://bugs.winehq.org/show_bug.cgi?id=34098)
* Support for GetVolumePathName
* Allow CompareStringEx flag NORM_LINGUISTIC_CASING (http://bugs.winehq.org/show_bug.cgi?id=34269)
* Workaround for TransactNamedPipe not being supported (http://bugs.winehq.org/show_bug.cgi?id=17273)
* XEMBED support for embedding Wine windows inside Linux applications
* Reduced SetTimer minimum value from 15 ms to 5 ms (improves Silverlight framerates)
* Workaround for shlwapi URLs with relative paths
* Support for PulseAudio backend for audio
Running Wine-Compholio
----------------------
**Using multiple Wine versions:** Unless you specify a special `WINEPREFIX`
environment variable, Wine-Compholio will use the same wineprefix `~/.wine`
(in your home directory) like regular wine. This allows you to use your
already installed programs directly, without much effort or reinstalling
them. Often you have both regular wine and Wine-Compholio installed at the
same time, which is *absolutely no problem* - by typing in either `wine`
(=regular wine) or `/opt/wine-compholio/bin/wine` you can decide, which
wine version you want to run. You can switch between versions as often as
you like - just make sure that all Windows programs have terminated before
starting them with a different version.
To run Wine-Compholio always type `/opt/wine-compholio/bin/wine`, for example:
```bash
cd ~/.wine/drive_c/<your path>/
/opt/wine-compholio/bin/wine game.exe
```
You also have to add `/opt/wine-compholio/bin/` when running other wine
related programs, here are some additional example:
```bash
# Initialize the wine prefix
/opt/wine-compholio/bin/wineboot
# Open the wine configuration
/opt/wine-compholio/bin/winecfg
# Run winepath to convert paths
/opt/wine-compholio/bin/winepath --unix 'c:\Windows'
# Kill the running wineserver instance
/opt/wine-compholio/bin/wineserver -k
...
```
If you're an experienced user, and always want to use Wine-Compholio, you
can also add `/opt/wine-compholio/bin` to your bash profile. We will not
go into detail here, because such a setup has the big disadvantage, that
it hides which version you're using - which is very important for getting
support or reporting bugs.
Submitting bugs
---------------
**Warning: Do not submit bug reports at bugs.winehq.org when using this
version!**
If you encounter any issues, the first thing you should do is to try it with
regular wine. We're only a very small developer team, and although we would
like to do that, we probably cannot really solve all your Wine bugs. When
it turns out that the official Wine version also doesn't work, you can file
a bugreport at the official [Wine bugtracker](http://bugs.winehq.org/).
Feel free to mention that you also tested with Wine-Compholio, but all
bugreport related information (logs, crashdumps, ...) should concentrate
only on upstream wine.
If it turns out, that it works with upstream wine, but not with Wine-Compholio,
then it might be a regression caused by our patches. We would like you to
report this issue to us, so we can fix it in future versions. You can also
report issues, when testing with upstream Wine is impossible or it crashes
with a different error (for example much earlier).
When submitting a application related bug here on github, please make sure to
include at least the following information. Generally its always a good idea
to provide as much information as possible, since this will significantly
increase chances to provide support and to fix it.
1. **Which application triggers the bug**
* Application name and version number
* How to obtain it (download URL + checksum if public available)
2. **What exactly doesn't work**
* Log of the terminal output of the application
* For visual issues please additionally attach a screenshot, and describe
what it should look like
* *Optionally:* If you already know whats going wrong, please attach
appropriate `WINEDEBUG` logs or excerpts showing the issue.
3. **Details about your WINEPREFIX**
* *Recommended:* Test it in a new wine prefix, and report if this works
* Did you install any overrides? (for examples by using `winetricks`)
* Did you change any settings by running `winecfg`?
4. **Information about your Wine-Compholio version**
* *Recommended:* Test with regular wine, and report if this works
* Version number (`/opt/wine-compholio/bin/wine --version`)
* Patches in your build (`/opt/wine-compholio/bin/wine --patches`)
* Installed optional libraries (`/opt/wine-compholio/bin/wine --check-libs`)

152
debian/changelog vendored
View File

@@ -1,3 +1,155 @@
wine-compholio (1.7.24) unstable; urgency=low
* Various further improvements to the patch system.
* Added patch to implement inet_pton.
* Added patch to implement GetSystemTimes.
* Added patch to implement SHCreateSessionKey.
* Added patch to create directory available on Vista and later.
* Added patch to fix edge cases in TOOLTIPS_GetTipText.
* Added patch to allow special characters in pipe names.
* Added patch with stubs for [Get|Set]SystemFileCacheSize.
* Added patch to implement AllocateAndGetTcpExTableFromStack.
* Added patch to support setting file disposition information.
* Added patch to fix ConnectNamedPort return value in overlapped mode.
* Added patch to store IOCS data in a property instead of GWLP_USERDATA.
* Added patch to return empty D3D hardware flags for HEL device enumeration.
* Added patch to return the appropriate connection time with SO_CONNECT_TIME.
* Added patch to support extra large and jumbo icons.
* Added patch to allow setting tablet / media center status via registry.
* Added patch to use manual redirection for RunDLL_CallEntry16.
* Added patch to set ldr.EntryPoint for main executable.
* Added patch to fix invalid memory access in windowscodecs/PropertyBag.
* Added patch to use a linear resampler when there a large number of dsound mixing buffers.
* Added patch to fix comparison of punctuation characters in lstrcmp.
* Added patch to workaround programs leaking wndproc splots.
* Added patch to implement ITextRange, ITextFont and ITextPara.
* Removed patch to create Vista directories (accepted upstream).
* Removed strmbase/quartz locking fix patches (accepted upstream).
* Removed windowscodecs/PropertyBag patch (accepted upstream).
-- Erich E. Hoover <erich.e.hoover@gmail.com> Fri, 08 Aug 2014 22:06:07 -0600
wine-compholio (1.7.23) unstable; urgency=low
* Rewrite of patch system to simplify maintaining large patchsets.
* Fix failing Junction Point test.
* Fix possible race conditions in strmbase/quartz.
* Fix race condition between EndOfStream and Pause.
* Fix issues with Israel Standard Time timezone.
* Add support for Dynamic DST (daylight saving time) information.
* Add some generic hardware in HKEY_DYN_DATA\Config Manager\Enum.
* Return correct IMediaSeeking stream positions in quartz.
* Make sure LICENSE files are included in the Debian packages.
* Downgraded Arial replacement font to Liberation Sans v1.07.3.
* Remove relative Junction Point linking for now (breaks tests).
* Added WenQuanYi Micro Hei (GPLv3) as a Microsoft Yahei replacement.
-- Erich E. Hoover <erich.e.hoover@gmail.com> Fri, 25 Jul 2014 21:12:42 -0600
wine-compholio (1.7.22) unstable; urgency=low
* Implement passing ACLs to CreateProcess.
* Removed several patches (accepted upstream).
* Added NT4 support to the process ACL tests.
* Implement RegSetKeySecurity on top of NtSetSecurityObject.
* Updated RegSetKeySecurity patch to work with special root keys.
* Add patch for wtsapi32.WTSEnumerateProcessesW function.
* Fix incorrect scaling for DECIMAL values in VarDecAdd.
* Updated main extended attributes patch to include BSD support.
* Return NULL-terminated list of arguments in CommandLineToArgvW.
* Updated main extended attributes patch to include additional data checks.
-- Erich E. Hoover <erich.e.hoover@gmail.com> Fri, 11 Jul 2014 13:00:03 -0600
wine-compholio (1.7.21) unstable; urgency=low
* Remove several patches (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Fri, 27 Jun 2014 23:08:48 -0600
wine-compholio (1.7.20) unstable; urgency=low
* Remove several patches (accepted upstream).
* Fix recommendation for odbc and add libgsm1.
* Disabled gstreamer (broken with glib >= 2.32.0).
* Updated scripts to be compatible with BSD systems.
* Update winepulse patches to latest revision (extracted from 1.7.19).
* Force autoreconf even when timestamp seems to indicate that it is not necessary.
* Added patches for default security descriptor ownership and DACLs for processes.
* Added a patch to avoid a race-condition when unloading modules while a hook is active.
* Add patch to fix issues with Obsidium copy protection.
-- Erich E. Hoover <erich.e.hoover@gmail.com> Sat, 14 Jun 2014 18:15:12 +0200
wine-compholio (1.7.19-1) unstable; urgency=low
* Added a patch to fix return value for FSCTL_PIPE_WAIT (required for Unity3D).
* Added a patch to stub TokenAppContainerSid in NtQueryInformationToken (required for Unity3D).
* Added a patch to optimize the file descriptor cache by using lockfree algorithms.
* Add additional checks in XATTR patch to ensure wineserver doesn't crash if data is corrupted.
* Add support for extended attributes on FreeBSD systems.
* Added a patch to fix ntdll/exception test failures on x86_64.
* Allow to change 'strict draw ordering' at runtime.
* Add ability to test if all dynamic libraries are installed with "wine --check-libs".
* Added a patch to query if direct rendering is enabled via GLX extension.
-- Sebastian Lackner <sebastian@fds-team.de> Mon, 02 Jun 2014 23:50:23 +0200
wine-compholio (1.7.19) unstable; urgency=low
* Updated SIO_ADDRESS_LIST_CHANGE patches.
-- Erich E. Hoover <erich.e.hoover@gmail.com> Tue, 06 May 2014 15:42:32 -0600
wine-compholio (1.7.18-1) unstable; urgency=low
* Fix some issues on BSD systems.
* Add additional patches to silence a few FIXMEs.
* Rebase 02-ACL_Extended_Attributes patches.
-- Sebastian Lackner <sebastian@fds-team.de> Tue, 13 May 2014 20:47:23 +0200
wine-compholio (1.7.18) unstable; urgency=low
* Updated SetTimer patch (10 ms accepted upstream).
-- Erich E. Hoover <erich.e.hoover@gmail.com> Fri, 02 May 2014 13:05:13 -0600
wine-compholio (1.7.17) unstable; urgency=low
* Split Arial replacement into two patches.
* Removed dynamic unwind patches (accepted upstream).
* Removed linguistic casing patches (accepted upstream).
* ACL data is now stored in binary instead of converting it to ASCII.
-- Erich E. Hoover <erich.e.hoover@gmail.com> Fri, 18 Apr 2014 16:03:57 -0600
wine-compholio (1.7.16-1) unstable; urgency=low
* Fix build failure caused by dynamic unwind functions.
* Dropped liblcms2-dev dependency for old Ubuntu versions.
-- Sebastian Lackner <sebastian@fds-team.de> Sat, 05 Apr 2014 03:48:25 +0200
wine-compholio (1.7.16) unstable; urgency=low
* Add stub for RtlInstallFunctionTableCallback.
* Further split out the SIO_ADDRESS_LIST_CHANGE patches.
* Add proper implementation for dynamic unwind functions, removed stub implementation.
* Fix lcms dependency (Wine requires lcms2 instead of lcms1), add build dependency to libsane-dev.
-- Erich E. Hoover <erich.e.hoover@gmail.com> Fri, 04 Apr 2014 17:27:52 -0600
wine-compholio (1.7.15-1) unstable; urgency=low
* Build 64 bit version of Wine.
* First SIO_ADDRESS_LIST_CHANGE patch accepted upstream.
* Added stub dll for DirectX Video Acceleration (dxva2.dll).
* Update DXVA2 patches (additional implementation details, parts accepted upstream).
-- Erich E. Hoover <erich.e.hoover@gmail.com> Tue, 25 Mar 2014 06:08:01 +0100
wine-compholio (1.7.15) unstable; urgency=low
* Fixed build dependencies for Debian Sid.
* Fixed free() of a const variable (Bug #1).
* Removed get_dir_unix_fd (no longer used, fixes compiling with "-Werror").
* Removed 'register user administrative tools shell folder' patch (accepted upstream).
-- Erich E. Hoover <erich.e.hoover@gmail.com> Sun, 23 Mar 2014 12:53:32 +0100
wine-compholio (1.7.14) unstable; urgency=low
* Minor updates to the ACL patches.
* Added Liberation Sans (SIL Open Font License) as an Arial replacement.
-- Erich E. Hoover <erich.e.hoover@gmail.com> Fri, 07 Mar 2014 13:59:11 -0700
wine-compholio (1.7.13-1) unstable; urgency=low
* Fixed a typo in the configure check for extended attributes.
-- Erich E. Hoover <erich.e.hoover@gmail.com> Fri, 21 Feb 2014 09:00:00 -0700
wine-compholio (1.7.13) unstable; urgency=low
* Added support for inherited file ACLs.
* Further separated the file ACL patches.
* Updated linguistic casing patches to include tests.
* Updated the patch list template to be compatible with 'git am'.
* Moved the patching code out of the debian rules into a Makefile.
* Removed the named pipe security access patch (accepted upstream).
* Explicitly run configure with '--with-xattr' when building debian packages.
* Will now fail on configure when '--with-xattr' is passed and xattr.h cannot be found.
-- Erich E. Hoover <erich.e.hoover@gmail.com> Thu, 20 Feb 2014 18:48:03 -0700
wine-compholio (1.7.12-1) unstable; urgency=low
* Fixed PulseAudio patches to apply with 'git am'.
* Fixed PulseAudio driver configure file for upstream Wine 1.7.12.

187
debian/control vendored
View File

@@ -5,27 +5,21 @@ Maintainer: Erich E. Hoover <ehoover@mines.edu>
XSBC-Original-Maintainer: Scott Ritchie <scottritchie@ubuntu.com>
Build-Depends: autotools-dev,
autoconf,
bind9-host,
bison,
bsdmainutils,
coreutils,
debhelper (>= 7),
docbook-to-man,
docbook-utils,
docbook-xsl,
flex,
fontforge,
gawk,
gcc-4.5 | gcc-4.7 | ubuntu-desktop (<< 1.207),
gcc-4.5-multilib [amd64] | ubuntu-desktop (<< 1.207) [amd64],
gcc-multilib [amd64],
gettext,
ia32-libs [amd64],
ia32-libs-dev [amd64] | ubuntu-desktop (<< 1.267) [amd64],
ia32-libs-multiarch [amd64] | ubuntu-desktop (<< 1.267) [amd64],
lib32asound2-dev [amd64],
lib32ncurses5-dev [amd64],
lib32z1-dev [amd64],
gzip,
libacl1-dev,
libasound2-dev [i386 lpia],
libc6-dev-i386 [amd64],
libasound2-dev,
libcapi20-dev,
libcups2-dev,
libdbus-1-dev,
@@ -33,28 +27,25 @@ Build-Depends: autotools-dev,
libesd0-dev,
libfontconfig1-dev | libfontconfig-dev,
libfreetype6-dev,
libgif-dev | libungif4-dev,
libgl1-mesa-dev | nvidia-glx-dev | fglrx-driver-dev | libgl-dev,
libglu1-mesa-dev | libglu-dev,
libgnutls-dev,
libgphoto2-dev | libgphoto2-6-dev | libgphoto2-2-dev (>= 2.4.6),
libgphoto2port-dev | ubuntu-desktop (>= 1.245) | debian-edu-config,
libgsm1-dev,
libgstreamer-plugins-base0.10-dev,
libgstreamer0.10-dev,
libice-dev,
libjpeg-dev,
liblcms1-dev, liblcms-dev,
liblcms2-dev | ubuntu-desktop (<< 1.267),
libldap2-dev, libldap-dev,
libmpg123-dev,
libncurses5-dev [i386] | libncurses-dev [i386],
libncurses5-dev | libncurses-dev,
libopenal-dev (>= 1:1.12) | ubuntu-desktop (<< 1.207),
libpng12-dev,
libpulse-dev,
libsane-dev,
libssl-dev,
libstdc++6-4.5-dev | libstdc++-dev,
libtiff4-dev,
libv4l-dev [i386],
libtiff5-dev | libtiff4-dev | libtiff-dev,
libv4l-dev,
libx11-dev,
libxcomposite-dev,
libxcursor-dev,
@@ -69,30 +60,28 @@ Build-Depends: autotools-dev,
libxxf86vm-dev,
linux-kernel-headers,
linux-libc-dev,
prelink [i386 amd64],
prelink,
quilt (>= 0.46-7~),
sharutils,
unixodbc-dev,
x11proto-xinerama-dev
Standards-Version: 3.9.2
Package: wine-compholio
Package: wine-compholio-i386
Architecture: i386
Multi-Arch: foreign
Pre-Depends: dpkg (>= 1.14.12ubuntu3), ${misc:Pre-Depends}
Depends: ${shlibs:Depends},
libasound2-plugins,
libncurses5
Recommends: gettext,
libcapi20-3,
Recommends: libcapi20-3,
libcups2,
libdbus-1-3,
libfontconfig1 | libfontconfig,
libfreetype6,
libgif4,
libgnutls26,
libgphoto2-6 | libgphoto2-2 (>= 2.4.6),
libgphoto2-port0 (>= 2.4.6),
libgphoto2-port10 | libgphoto2-port0 (>= 2.4.6),
libjpeg8,
libopenal1 (>= 1:1.12),
libosmesa6,
@@ -100,7 +89,7 @@ Recommends: gettext,
libpulse0,
libsane,
libssl1.0.0,
libtiff4,
libtiff5 | libtiff4,
libv4l-0,
libxcomposite1,
libxcursor1,
@@ -111,8 +100,96 @@ Recommends: gettext,
libxslt1.1,
libxt6,
libxxf86vm1,
unixodbc
Provides: wine-compholio
libodbc1,
libgsm1
Section: otherosfs
Priority: optional
Replaces: wine-compholio (<< 1.7.15-1~)
Breaks: wine-compholio (<< 1.7.15-1~)
Description: The Compholio Edition is a special build of the popular Wine software
with patches representing my current staging tree for Wine.
Currently these patches fix:
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
at 99% (Bug 31858).
.
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 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.
Package: wine-compholio-amd64
Architecture: amd64
Multi-Arch: foreign
Pre-Depends: dpkg (>= 1.14.12ubuntu3), ${misc:Pre-Depends}
Depends: ${shlibs:Depends},
libasound2-plugins,
libncurses5
Recommends: libcapi20-3,
libcups2,
libdbus-1-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,
libpng12-0,
libpulse0,
libsane,
libssl1.0.0,
libtiff5 | libtiff4,
libv4l-0,
libxcomposite1,
libxcursor1,
libxi6,
libxinerama1,
libxrandr2,
libxrender1,
libxslt1.1,
libxt6,
libxxf86vm1,
libodbc1,
libgsm1
Section: otherosfs
Priority: optional
Replaces: wine-compholio (<< 1.7.15-1~)
Breaks: wine-compholio (<< 1.7.15-1~)
Description: The Compholio Edition is a special build of the popular Wine software
with patches representing my current staging tree for Wine.
Currently these patches fix:
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
at 99% (Bug 31858).
.
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 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.
Package: wine-compholio
Architecture: i386 amd64
Multi-Arch: foreign
Pre-Depends: dpkg (>= 1.14.12ubuntu3), ${misc:Pre-Depends}
Depends: ${misc:Depends}, ${shlibs:Depends},
wine-compholio-i386 (= ${binary:Version}) [i386 amd64],
wine-compholio-amd64 (= ${binary:Version}) [amd64],
Section: otherosfs
Priority: optional
Description: The Compholio Edition is a special build of the popular Wine software
@@ -135,3 +212,57 @@ Description: The Compholio Edition is a special build of the popular Wine softwa
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-compholio-dev
Architecture: i386 amd64
Pre-Depends: dpkg (>= 1.14.12ubuntu3), ${misc:Pre-Depends}
Depends: libc6-dev,
${shlibs:Depends},
wine-compholio-i386 (= ${binary:Version}) [i386 amd64],
wine-compholio-amd64 (= ${binary:Version}) [amd64],
Section: libdevel
Priority: optional
Replaces: wine-compholio (<< 1.7.15-1~)
Breaks: wine-compholio (<< 1.7.15-1~)
Description: The Compholio Edition is a special build of the popular Wine software
with patches representing my current staging tree for Wine.
Currently these patches fix:
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
at 99% (Bug 31858).
.
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 consists of the development files needed to compile programs
using wine's free version of the Microsoft Windows API.
Package: wine-compholio-dbg
Architecture: i386 amd64
Multi-Arch: same
Pre-Depends: dpkg (>= 1.14.12ubuntu3), ${misc:Pre-Depends}
Depends: ${shlibs:Depends},
wine-compholio-i386 (= ${binary:Version}) [i386 amd64],
wine-compholio-amd64 (= ${binary:Version}) [amd64],
Section: debug
Priority: optional
Replaces: wine-compholio (<< 1.7.15-1~)
Breaks: wine-compholio (<< 1.7.15-1~)
Description: The Compholio Edition is a special build of the popular Wine software
with patches representing my current staging tree for Wine.
Currently these patches fix:
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
at 99% (Bug 31858).
.
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 debugging symbols useful for reporting crashes and other
failures.

192
debian/rules vendored
View File

@@ -1,36 +1,4 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
else
CROSS= --build $(DEB_BUILD_GNU_TYPE)
endif
# Apparently it's important to have an empty LDFLAGS, see:
# http://www.winehq.org/pipermail/wine-bugs/2007-July/062505.html
# For Wine 1.1.44 it's also important not to compile at -O0
LDFLAGS =
CFLAGS = -Wall -g -O2
# On amd64 the 32-bit libraries are in lib32 instead of lib
ifeq ($(DEB_BUILD_ARCH), amd64)
CONFFLAGS += --libdir=\$${prefix}/lib32
endif
# Use gcc-4.5 if it's available
ifeq ($(shell which gcc-4.5),)
@@ -39,116 +7,66 @@ else
CC = gcc-4.5
endif
# Support passing of parallel=<n> in build options
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
MAKEFLAGS += -j$(NUMJOBS)
endif
%:
dh $@ --parallel
configure:
# Unpack the original Wine version
tar -xjvf wine-*.tar.bz2
mv wine-*/* .
rm wine-*/.* || true
rm wine-*.tar.bz2
rmdir wine-*
config.status: configure
dh_testdir
# Add here commands to configure the package.
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
cp -f /usr/share/misc/config.sub config.sub
endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
cp -f /usr/share/misc/config.guess config.guess
endif
override_dh_auto_configure:
# Apply our patches to Wine
for DIR in $$(find $(CURDIR)/patches/ -type d | sort); do \
for FILE in $$(ls $$DIR | sort | grep '\.patch$$'); do \
patch -N -p0 --strip=1 < $$DIR/$$FILE || exit 1; \
done \
done
# Apply our patches, reconfigure, and update the wineserver protocol request data
make -C "$(CURDIR)/patches/" DESTDIR="$(CURDIR)" install
# Update the configure script
autoreconf
# Configure
CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/opt/wine-compholio --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info $(CONFFLAGS)
# Update the wineserver protocol request data
./tools/make_requests
build: build-stamp
build-stamp: config.status
dh_testdir
# Add here commands to compile the package.
$(MAKE) depend
$(MAKE) $(MAKEFLAGS)
#docbook-to-man debian/wine-compholio.sgml > wine-compholio.1
touch $@
clean:
dh_testdir
dh_testroot
rm -f build-stamp
# Add here commands to clean up after the build process.
[ ! -f Makefile ] || $(MAKE) distclean
rm -f config.sub config.guess
dh_clean
install: build
dh_testdir
dh_testroot
dh_prep
dh_installdirs
# Add here commands to install the package into debian/wine-compholio.
$(MAKE) DESTDIR=$(CURDIR)/debian/wine-compholio install
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
# dh_installchangelogs ChangeLog
# dh_installdocs
dh_installexamples
# dh_install
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_python
# dh_installinit
# dh_installcron
# dh_installinfo
dh_installman
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_perl
dh_makeshlibs
dh_installdeb
# Run configure
ifeq ($(DEB_BUILD_ARCH), amd64)
dh_gencontrol -- -V"shlibs:Depends= ia32-libs (>= 1.6), lib32asound2 (>> 1.0.14), libc6-i386 (>= 2.6-1), lib32nss-mdns (>= 0.10-3)"
./configure --prefix=/opt/wine-compholio \
--libdir=\$${prefix}/lib64 \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--enable-win64 \
--without-gstreamer \
--with-xattr \
$(CONFFLAGS)
else
LD_LIBRARY_PATH="$(CURDIR)/debian/wine-compholio/opt/wine-compholio/lib:${LD_LIBRARY_PATH}" dh_shlibdeps -L wine-compholio -l debian/wine-compholio/opt/wine-compholio/lib
dh_gencontrol
./configure --prefix=/opt/wine-compholio \
--libdir=\$${prefix}/lib \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--without-gstreamer \
--with-xattr \
$(CONFFLAGS)
endif
dh_md5sums
dh_builddeb -- -Z lzma
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
override_dh_auto_test:
# Wine's test suite does not pass on build daemons, skip it for now
override_dh_installdocs:
# Create copies of license files
cp "$(CURDIR)/LICENSE" "$(CURDIR)/LICENSE.wine"
cp "$(CURDIR)/LICENSE.md" "$(CURDIR)/LICENSE.wine-compholio"
dh_installdocs --link-doc=wine-compholio
override_dh_install:
dh_install --fail-missing
# These files will end up in multiple packages otherwise
rm -f debian/wine-compholio/opt/wine-compholio/bin/wine
rm -f debian/wine-compholio/opt/wine-compholio/bin/wine-preloader
rm -f debian/wine-compholio/opt/wine-compholio/bin/wine64
rm -f debian/wine-compholio/opt/wine-compholio/bin/wine64-preloader
override_dh_strip:
dh_strip -Xwine-pthread -Xwine-kthread --dbg-package=wine-compholio-dbg
override_dh_shlibdeps:
ifeq ($(DEB_HOST_ARCH),amd64)
dh_shlibdeps -l $(CURDIR)/debian/tmp/opt/wine-compholio/lib64/
else
dh_shlibdeps -l $(CURDIR)/debian/tmp/opt/wine-compholio/lib/
endif

152
debian/tools/DEVELOPER.md.in vendored Normal file
View File

@@ -0,0 +1,152 @@
Developers and maintainers guide
================================
This document will provide some information targeted at developers, who
either want to build/package Wine-Compholio for their distribution, but also
for developers who would like to contribute their patches to Wine-Compholio,
to get them included in future releases.
Compiling Wine-Compholio
========================
**Warning:** Please note that starting with Wine-Compholio 1.7.23 it is
deprecated to manually apply patches without using the Makefile. To avoid
typical pitfalls for package maintainers (like trying to use the patch
commandline utility for binary patches or not updating the patchlist) it is
highly recommended to use the Makefile in order to apply all patches. This
ensures that the the correct patch utility is used, that the list of patches
is updated appropriately, and so on. Please note that it is still possible
to exclude patches if desired, take a look at the end of this document for
more details.
Instructions
------------
The following instructions (based on the [Gentoo
Wiki](https://wiki.gentoo.org/wiki/Netflix/Pipelight#Compiling_manually))
will give a short overview how to compile Wine-Compholio, but of course not
explain all details. Make sure to install all required Wine dependencies
before proceeding.
As the first step please grab the latest Wine source:
```bash
wget http://prdownloads.sourceforge.net/wine/wine-{version}.tar.bz2
wget https://github.com/compholio/wine-compholio-daily/archive/v{version}.tar.gz
```
Extract the archives:
```bash
tar xvjf wine-1*.tar.bz2
cd wine-1*
tar xvzf ../v{version}.tar.gz --strip-components 1
```
And apply the patches:
```bash
make -C ./patches DESTDIR=$(pwd) install
```
Afterwards run configure (you can also specify a prefix if you don't want to install
Wine-Compholio system-wide):
```bash
./configure --with-xattr
```
Before you continue you should make sure that `./configure` doesn't show any
warnings (look at the end of the output). If there are any warnings, this
most likely means that you're missing some important header files. Install
them and repeat the `./configure` step until all problems are fixed.
Afterwards compile it (and grab a cup of coffee):
```bash
make
```
And install it (you only need sudo for a system-wide installation):
```bash
sudo make install
```
Excluding patches
-----------------
It is also possible to apply only a subset of the patches, for example if
you're compiling for a distribution where PulseAudio is not installed, or
if you just don't like a specific patchset. Please note that some patchsets
depend on each other, and requesting an impossible situation might result
in a failure to apply all patches.
Lets assume you want to exclude the patchset in directory `DIRNAME`, then
just invoke the Makefile like this:
```bash
make -C ./patches DESTDIR=$(pwd) install -W DIRNAME.ok
```
Using the same method its also possible to exclude multiple patchsets. If you
want to exclude a very large number of patches, it is easier to do specify
a list of patches which should be included instead. To apply for example
only the patchsets in directory `DIRNAME1` and `DIRNAME2`, you can use:
```bash
make -C ./patches DESTDIR=$(pwd) PATCHLIST="DIRNAME1.ok DIRNAME2.ok" install
```
Contributing to Wine-Compholio
==============================
Please note that Wine-Compholio is not just an arbitrary collection of Wine
patches. We see Wine-Compholio as a **testing version** in preparation for
patches to be submitted to upstream Wine. This implies that all patches should
at least have a minimum standard quality. Unlike some other PPAs/AURs which
provide heavily patched Wine versions, we will not accept hacks for very
specific games. Such hacks often break compatibility with other applications,
which means we probably don't want to include them, sorry.
If you think your patches are indeed a proper implementation, then feel free
to contribute them. Please note that to allow possible later inclusion
into upstream Wine, we will require you to pay attention to the same
[rules](http://wiki.winehq.org/SubmittingPatches). Please be patient and
give us up to about a week to review them - we're a very small team, so
it might take some time, and we want to make sure that the implementation
doesn't contain any critical errors, which could cause regressions. If you
want to contribute huge sets of patches, we would really like you to *stay
contributing* in the future. Even if we accepted your patches, this doesn't
necessary mean we understand all of it, and if you cannot or don't want
to maintain them (especially in case of errors, or difficult rebasing),
we will probably end up removing them again.
You can also suggest adding patches written by other people - in this case
your request should include who wrote the patch. Anonymous patches which
don't include the author information aren't welcome, similar to the rules
for upstream Wine.
Attribution guidelines
----------------------
The Wine "Compholio" Edition repository expects all patches to conform to
Wine's (undocumented) attribution guidelines. There are a variety of ways
to attribute patches, but they all involve an additional line to the patch
subject:
```
commit 0000000000000000000000000000000000000000
Author: Example Author <example.email@email-provider.com>
Date: Sat Jul 26 12:31:50 2014 -0600
Name of patch.
TYPE-OF-ATTRIBUTION.
```
TYPE-OF-ATTRIBUTION can be any of the following:
`Found/Spotted by FINDER.`: The resolved issue was found by FINDER, they
should receive appropriate credit for finding the problem - even though
their patch was not used in the final implementation.
`Based on patch by AUTHOR.`: The patch created by AUTHOR was a starting point
for the patch, some modifications were made to their patch - but they should
receive credit since the original implementation was theirs.

24
debian/tools/Makefile.in vendored Normal file
View File

@@ -0,0 +1,24 @@
#
# This file is automatically generated, DO NOT EDIT!
#
CURDIR ?= ${{.CURDIR}}
PATCH := $(CURDIR)/../debian/tools/gitapply.sh
APPLY := (cd $(DESTDIR) && $(PATCH))
APPLY_FILE = @echo "Applying $(1)"; $(APPLY) < $(CURDIR)/$(1)
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: clean
clean:
rm -f *.ok
.NOTPARALLEL:

331
debian/tools/README.md.in vendored Normal file
View File

@@ -0,0 +1,331 @@
What is Wine-Compholio?
=======================
The **Wine "Compholio" Edition** is a special patched version of Wine that
includes both patches written by our team directly and specific patches by
third party developers that we consider good enough for inclusion. This can
be seen as a testing version in preparation for patches to be submitted
to upstream Wine - don't be surprised if you encounter additional bugs,
which are not present in regular wine, and always report such issues to us
(via github), so we can improve our fixes even further. Thanks!
Included bugfixes and improvements
----------------------------------
Wine-Compholio contains fixes for the following Wine bugs:
{bugs}
Besides that the following additional changes are included:
{fixes}
How to install Wine-Compholio
=============================
Ready-to-use packages for Wine-Compholio are available for a variety
of different Linux distributions directly for download. Just follow the
instructions below to install it (and all required dependencies). After the
installation, please take a look at the next section for instructions how
to use it in order to run your desired application.
**Important:** If you already have installed 'pipelight' on your system, there
is a good chance that you already have Wine-Compholio. Take a look at the
next section on how to find out if this is the case.
If your distribution is not listed below, feel free to add a feature request -
if the demand is high enough we might consider packaging it for additional
distributions.
![alt text](http://repos.fds-team.de/misc/images/ubuntu.png) Ubuntu / Linux Mint
--------------------------------------------------------------------------------
Please run the following commands from a terminal, one line after each other.
```bash
sudo add-apt-repository ppa:pipelight/stable
sudo apt-get update
sudo apt-get install --install-recommends wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/arch.png) Arch Linux
---------------------------------------------------------------------
As a first step you have to import the key for our repository, and set the
trust level to trusted:
```bash
sudo pacman-key -r E49CC0415DC2D5CA
sudo pacman-key --lsign-key E49CC0415DC2D5CA
```
Afterwards you have to add the following lines to `/etc/pacman.conf`:
```
[compholio]
Server = http://cdn.fds-team.de/stable/arch/$arch
```
Now you can install Wine-Compholio directly using `pacman`:
```bash
sudo pacman -Syu wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/debian.png) Debian Jessie/Sid
------------------------------------------------------------------------------
*(Instructions for Debian Wheezy can be found below)*
In order to install i386 packages on a 64-bit system, you have to run the
following command as a first step:
```bash
sudo dpkg --add-architecture i386
```
Afterwards import the key for our repository:
```bash
wget http://repos.fds-team.de/Release.key
sudo apt-key add Release.key
```
And add our repository at the end of your `/etc/apt/sources.list` file:
```
# For Debian Jessie add the following line:
deb http://cdn.fds-team.de/stable/debian/ jessie main
# For Debian Sid this one:
deb http://cdn.fds-team.de/stable/debian/ sid main
```
Afterwards update the package cache and install it:
```bash
sudo apt-get update
sudo apt-get install wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/debian.png) Debian Wheezy
--------------------------------------------------------------------------
In order to install i386 packages on a 64-bit system, you have to run the
following command as a first step:
```bash
sudo dpkg --add-architecture i386
```
Afterwards import the key for our repository:
```bash
wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/Release.key
sudo apt-key add Release.key
```
And add our repository at the end of your `/etc/apt/sources.list` file:
```
# For Debian Wheezy add the following line:
deb http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/ ./
```
Afterwards update the package cache and install it:
```bash
sudo apt-get update
sudo apt-get install wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/opensuse.png) OpenSUSE
-----------------------------------------------------------------------
All the following steps have to be executed as root user. As a first step
you have to add the repository - this step depends on the openSUSE version
you're using.
| openSUSE version | Path component |
| ------------------- | ----------------------- |
| openSUSE 12.2 | `/openSUSE_12.2/` |
| openSUSE 12.3 | `/openSUSE_12.3/` |
| openSUSE 13.1 | `/openSUSE_13.1/` |
| openSUSE Factory | `/openSUSE_Factory/` |
| openSUSE Tumbleweed | `/openSUSE_Tumbleweed/` |
The following commandline is an example for openSUSE 13.1, for a different
version just replace the path component according to the table above:
```bash
zypper ar --refresh http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/openSUSE_13.1/home:DarkPlayer:Pipelight.repo
```
Afterwards just run the following commands to install it:
```bash
zypper ref
zypper install wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/fedora.png) Fedora
-------------------------------------------------------------------
**Warning:** In contrary to other distributions, its not possible to have both
a regular wine version and Wine-Compholio installed at the same time - using
the instructions below will replace your regular version. Moreover it will
be installed to `/usr/bin/wine` in contrary to `/opt/wine-compholio/bin/wine`.
As a first step you have to add the repository - this step depends on the
Fedora version you're using.
| Fedora version | Patch component |
| --------------- | --------------- |
| Fedora 18 | `/Fedora_18/` |
| Fedora 19 | `/Fedora_19/` |
| Fedora 20 | `/Fedora_20/` |
The following commandline is an example for Fedora 19, for a different version
just replace the path component according to the table above:
```bash
sudo wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Fedora_19/home:DarkPlayer:Pipelight.repo -O /etc/yum.repos.d/pipelight.repo
```
Afterwards run the following command to install the package:
```bash
sudo yum install wine-compholio
```
Please note that you might run into trouble if the official Fedora package
(without compholio patches) is newer than the one from the repository above,
so if something doesn't work, always make sure that you have installed
our version. To do that just run:
```bash
/usr/bin/wine --patches
```
When you're using Wine-Compholio this will show to a list of all patches
included, for an unpatched version this command will fail.
![alt text](http://repos.fds-team.de/misc/images/mageia.png) Mageia 4
---------------------------------------------------------------------
As a first step please add the key for our repository
```bash
wget http://repos.fds-team.de/Release.key
rpm --import Release.key
```
If you're using a 32-bit version of Mageia just add the repository
for 32-bit packages:
```bash
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
```
For a 64-bit version of Mageia you'll need both the 32-bit and the
64-bit repository:
```bash
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
sudo urpmi.addmedia "Compholio 64-bit" http://cdn.fds-team.de/stable/mageia/4/x86_64/
```
Afterwards run the following commands to install the package:
```bash
sudo urpmi.update -a
sudo urpmi wine-compholio
```
Using Wine-Compholio
====================
Since we don't want to duplicate a lot of information here, we recommend
to take a look at the [official Wine FAQ](http://wiki.winehq.org/FAQ) for
general information about how to use Wine. The following part will mainly
concentrate on the differences between wine and Wine-Compholio.
Running Wine-Compholio
----------------------
**Using multiple Wine versions:** Unless you specify a special `WINEPREFIX`
environment variable, Wine-Compholio will use the same wineprefix `~/.wine`
(in your home directory) like regular wine. This allows you to use your
already installed programs directly, without much effort or reinstalling
them. Often you have both regular wine and Wine-Compholio installed at the
same time, which is *absolutely no problem* - by typing in either `wine`
(=regular wine) or `/opt/wine-compholio/bin/wine` you can decide, which
wine version you want to run. You can switch between versions as often as
you like - just make sure that all Windows programs have terminated before
starting them with a different version.
To run Wine-Compholio always type `/opt/wine-compholio/bin/wine`, for example:
```bash
cd ~/.wine/drive_c/<your path>/
/opt/wine-compholio/bin/wine game.exe
```
You also have to add `/opt/wine-compholio/bin/` when running other wine
related programs, here are some additional example:
```bash
# Initialize the wine prefix
/opt/wine-compholio/bin/wineboot
# Open the wine configuration
/opt/wine-compholio/bin/winecfg
# Run winepath to convert paths
/opt/wine-compholio/bin/winepath --unix 'c:\Windows'
# Kill the running wineserver instance
/opt/wine-compholio/bin/wineserver -k
...
```
If you're an experienced user, and always want to use Wine-Compholio, you
can also add `/opt/wine-compholio/bin` to your bash profile. We will not
go into detail here, because such a setup has the big disadvantage, that
it hides which version you're using - which is very important for getting
support or reporting bugs.
Submitting bugs
---------------
**Warning: Do not submit bug reports at bugs.winehq.org when using this
version!**
If you encounter any issues, the first thing you should do is to try it with
regular wine. We're only a very small developer team, and although we would
like to do that, we probably cannot really solve all your Wine bugs. When
it turns out that the official Wine version also doesn't work, you can file
a bugreport at the official [Wine bugtracker](http://bugs.winehq.org/).
Feel free to mention that you also tested with Wine-Compholio, but all
bugreport related information (logs, crashdumps, ...) should concentrate
only on upstream wine.
If it turns out, that it works with upstream wine, but not with Wine-Compholio,
then it might be a regression caused by our patches. We would like you to
report this issue to us, so we can fix it in future versions. You can also
report issues, when testing with upstream Wine is impossible or it crashes
with a different error (for example much earlier).
When submitting a application related bug here on github, please make sure to
include at least the following information. Generally its always a good idea
to provide as much information as possible, since this will significantly
increase chances to provide support and to fix it.
1. **Which application triggers the bug**
* Application name and version number
* How to obtain it (download URL + checksum if public available)
2. **What exactly doesn't work**
* Log of the terminal output of the application
* For visual issues please additionally attach a screenshot, and describe
what it should look like
* *Optionally:* If you already know whats going wrong, please attach
appropriate `WINEDEBUG` logs or excerpts showing the issue.
3. **Details about your WINEPREFIX**
* *Recommended:* Test it in a new wine prefix, and report if this works
* Did you install any overrides? (for examples by using `winetricks`)
* Did you change any settings by running `winecfg`?
4. **Information about your Wine-Compholio version**
* *Recommended:* Test with regular wine, and report if this works
* Version number (`/opt/wine-compholio/bin/wine --version`)
* Patches in your build (`/opt/wine-compholio/bin/wine --patches`)
* Installed optional libraries (`/opt/wine-compholio/bin/wine --check-libs`)

469
debian/tools/gitapply.sh vendored Executable file
View File

@@ -0,0 +1,469 @@
#!/usr/bin/env bash
#
# Wrapper to apply binary patches without git.
#
# Copyright (C) 2014 Sebastian Lackner
#
# This library 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 library 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.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
#
nogit=0
tmpfile=""
# Show usage information about gitapply script
usage()
{
echo ""
echo "Usage: ./gitapply.sh [--nogit] [-d DIRECTORY]"
echo ""
echo "Reads patch data from stdin and applies the patch to the current"
echo "directory or the directory given via commandline."
echo ""
echo "The patch file can contain both unified text patches as well as"
echo "git binary patches."
echo ""
}
# Critical error, abort
abort()
{
if [ ! -z "$tmpfile" ]; then
rm "$tmpfile"
tmpfile=""
fi
echo "[PATCH] ERR: $1" >&2
exit 1
}
# Show a warning
warning()
{
echo "[PATCH] WRN: $1" >&2
}
# Calculate git sha1 hash
gitsha1()
{
if [ -f "$1" ]; then
echo -en "blob $(du -b "$1" | cut -f1)\x00" | cat - "$1" | sha1sum | cut -d' ' -f1
else
echo "0000000000000000000000000000000000000000"
fi
}
# Determine size of a file (or zero, if it doesn't exist)
filesize()
{
local size=$(du -b "$1" | cut -f1)
if [ -z "$size" ]; then
size="0"
fi
echo "$size"
}
# Parse environment variables
while [[ $# > 0 ]]; do
cmd="$1"; shift
case "$cmd" in
--nogit)
nogit=1
;;
-v)
;;
--directory=*)
cd "${cmd#*=}"
;;
-d)
cd "$1"; shift
;;
-R)
abort "Reverse applying patches not supported yet with this tool."
;;
--help)
usage
exit 0
;;
*)
warning "Unknown argument $cmd."
;;
esac
done
# Redirect to git apply if available
if [ "$nogit" -eq 0 ] && command -v git >/dev/null 2>&1; then
exec git apply --whitespace=nowarn "$@"
exit 1
fi
# Detect BSD - we check this first to error out as early as possible
if gzip -V 2>&1 | grep "BSD" &> /dev/null; then
echo "This script is not compatible with *BSD utilities. Please install git," >&2
echo "which provides the same functionality and will be used instead." >&2
exit 1
fi
# Check for missing depdencies
for dependency in awk cut dd du grep gzip hexdump patch sha1sum; do
if ! command -v "$dependency" >/dev/null 2>&1; then
echo "Missing dependency: $dependency - please install this program and try again." >&2
exit 1
fi
done
# Decode base85 git data, prepend with a gzip header
awk_decode_b85='
BEGIN{
git="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
b85="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~";
printf("\x1f\x8b\x08\x00\x00\x00\x00\x00");
while (getline > 0){
l = index(git, substr($0, 1, 1));
if (l == 0){ exit 1; }
p=2;
while (l > 0 && p <= length($0)){
a = index(b85, substr($0, p++, 1));
b = index(b85, substr($0, p++, 1));
c = index(b85, substr($0, p++, 1));
d = index(b85, substr($0, p++, 1));
e = index(b85, substr($0, p++, 1));
if (a-- == 0 || b-- == 0 || c-- == 0 || d-- == 0 || e-- == 0){ exit 1; }
n = (((a * 85 + b) * 85 + c) * 85 + d) * 85 + e;
if (n > 4294967295){ exit 1; }
a = n % 256; n /= 256;
b = n % 256; n /= 256;
c = n % 256; n /= 256;
d = n % 256;
if (l-- > 0) printf("%c", d);
if (l-- > 0) printf("%c", c);
if (l-- > 0) printf("%c", b);
if (l-- > 0) printf("%c", a);
}
if (p != length($0) + 1 || l != 0){ exit 1; }
}
}'
# Decodes the information from a git delta patch passed in as hex encoded
awk_decode_binarypatch='
function get_byte(a, b){ # usage: get_byte()
if (length(__buffer) == 0){ if(getline __buffer <= 0){ exit 1; } }
a = index(hex, substr(__buffer, 1, 1));
b = index(hex, substr(__buffer, 2, 1));
if (a-- == 0 || b-- == 0){ exit 1; }
__buffer = substr(__buffer, 3); __pos++;
return a * 16 + b;
}
function skip_bytes(n, m){ # usage: skip_bytes(n)
if (length(__buffer) == 0){ if(getline __buffer <= 0){ exit 1; } }
while (n >= (length(__buffer) / 2)){
m = length(__buffer) / 2; n -= m; __pos += m;
if(getline __buffer <= 0){ exit 1; }
}
if (n > 0){ __buffer = substr(__buffer, 1 + 2 * n); __pos += n; }
}
function get_delta_hdr_size(){ # usage: get_delta_hdr_size()
cmd = get_byte(); size = and(cmd, 0x7f); i = 7;
while (and(cmd, 0x80)){
cmd = get_byte(); size += lshift(and(cmd, 0x7f), i); i += 7;
}
return size;
}
BEGIN{
hex="0123456789ABCDEF"
src_size = get_delta_hdr_size(); dst_size = get_delta_hdr_size();
printf("S %d %d\n", src_size, dst_size);
while (dst_size > 0){
cmd = get_byte();
if (and(cmd, 0x80)){
cp_offs = 0; cp_size = 0;
if (and(cmd, 0x01)){ cp_offs = get_byte(); }
if (and(cmd, 0x02)){ cp_offs += lshift(get_byte(), 8); }
if (and(cmd, 0x04)){ cp_offs += lshift(get_byte(), 16); }
if (and(cmd, 0x08)){ cp_offs += lshift(get_byte(), 24); }
if (and(cmd, 0x10)){ cp_size = get_byte(); }
if (and(cmd, 0x20)){ cp_size += lshift(get_byte(), 8); }
if (and(cmd, 0x40)){ cp_size += lshift(get_byte(), 16); }
if (cp_size == 0){ cp_size = 0x10000; }
if (cp_offs + cp_size > src_size || cp_size > dst_size){ exit 1; }
printf("1 %d %d\n", cp_offs, cp_size);
dst_size -= cp_size;
}else if (cmd){
if (cmd > dst_size){ exit 1; }
printf("2 %d %d\n", __pos, cmd);
skip_bytes(cmd);
dst_size -= cmd;
}else{ exit 1; }
}
printf("E 0 0\n");
}'
# Find end of patch header
awk_eof_header='
BEGIN{
ofs=1;
}
!/^(--- |\+\+\+ |old |new |copy |rename |similarity |index |GIT |literal |delta )/{
ofs=0; exit 0;
}
END{
print FNR+ofs;
}'
# Find end of text patch
awk_eof_textpatch='
BEGIN{
ofs=1;
}
!/^(@| |+|-|\\)/{
ofs=0; exit 0;
}
END{
print FNR+ofs;
}'
# Find end of git binary patch
awk_eof_binarypatch='
BEGIN{
ofs=1;
}
!/^[A-Za-z]/{
ofs=0; exit 0;
}
END{
print FNR+ofs;
}'
# Create a temporary file containing the patch - NOTE: even if the user
# provided a filename it still makes sense to work with a temporary file,
# to avoid changes of the content while this script is active.
tmpfile=$(mktemp)
if [ ! -f "$tmpfile" ]; then
tmpfile=""
abort "Unable to create temporary file for patch."
elif ! cat > "$tmpfile"; then
abort "Patch truncated."
fi
# Go through the different patch sections
lastoffset=1
for offset in $(awk '/^diff --git /{ print FNR; }' "$tmpfile"); do
# Check part between end of last patch and start of current patch
if [ "$lastoffset" -gt "$offset" ]; then
abort "Unable to split patch. Is this a proper git patch?"
elif [ "$lastoffset" -lt "$offset" ]; then
tmpoffset=$((offset - 1))
if sed -n "$lastoffset,$tmpoffset p" "$tmpfile" | grep -q '^\(@@ -\|--- \|+++ \)'; then
abort "Patch corrupted or not created with git."
fi
fi
# Find out the size of the patch header
tmpoffset=$((offset + 1))
tmpoffset=$(sed -n "$tmpoffset,\$ p" "$tmpfile" | awk "$awk_eof_header")
hdroffset=$((offset + tmpoffset))
# Parse all important fields of the header
patch_oldname=""
patch_newname=""
patch_oldsha1=""
patch_newsha1=""
patch_is_binary=0
patch_binary_type=""
patch_binary_size=""
tmpoffset=$((hdroffset - 1))
while IFS= read -r line; do
if [ "$line" == "GIT binary patch" ]; then
patch_is_binary=1
elif [[ "$line" =~ ^diff\ --git\ ([^ ]*)\ ([^ ]*)$ ]]; then
patch_oldname="${BASH_REMATCH[1]}"
patch_newname="${BASH_REMATCH[2]}"
elif [[ "$line" =~ ^---\ (.*)$ ]]; then
patch_oldname="${BASH_REMATCH[1]}"
elif [[ "$line" =~ ^\+\+\+\ (.*)$ ]]; then
patch_newname="${BASH_REMATCH[1]}"
elif [[ "$line" =~ ^index\ ([a-fA-F0-9]*)\.\.([a-fA-F0-9]*) ]]; then
patch_oldsha1="${BASH_REMATCH[1]}"
patch_newsha1="${BASH_REMATCH[2]}"
elif [[ "$line" =~ ^(literal|delta)\ ([0-9]+)$ ]]; then
patch_binary_type="${BASH_REMATCH[1]}"
patch_binary_size="${BASH_REMATCH[2]}"
fi
done < <(sed -n "$offset,$tmpoffset p" "$tmpfile")
# Remove first path components, which are always a/ and b/ for git patches
if [[ "$patch_oldname" =~ ^a/(.*)$ ]]; then
patch_oldname="${BASH_REMATCH[1]}"
elif [ "$patch_oldname" != "/dev/null" ]; then
abort "Old name doesn't start with a/."
fi
if [[ "$patch_newname" =~ ^b/(.*)$ ]]; then
patch_newname="${BASH_REMATCH[1]}"
elif [ "$patch_newname" != "/dev/null" ]; then
abort "New name doesn't start with b/."
fi
# Short progress message
echo "patching $patch_newname"
# If its a textual patch, then use 'patch' to apply it.
if [ "$patch_is_binary" -eq 0 ]; then
# Find end of textual patch
tmpoffset=$(sed -n "$hdroffset,\$ p" "$tmpfile" | awk "$awk_eof_textpatch")
lastoffset=$((hdroffset + tmpoffset - 1))
# Apply textual patch
tmpoffset=$((lastoffset - 1))
if ! sed -n "$offset,$tmpoffset p" "$tmpfile" | patch -p1 -s -f; then
abort "Textual patch did not apply, aborting."
fi
continue
fi
# It is a binary patch - check that requirements are fulfilled
if [ "$patch_binary_type" != "literal" ] && [ "$patch_binary_type" != "delta" ]; then
abort "Unknown binary patch type."
elif [ -z "$patch_oldsha1" ] || [ -z "$patch_newsha1" ]; then
abort "Missing index header, sha1 sums required for binary patch."
elif [ "$patch_oldname" != "$patch_newname" ]; then
abort "Stripped old and new name doesn't match for binary patch."
fi
# Ensure that checksum of old file matches
sha=$(gitsha1 "$patch_oldname")
if [ "$patch_oldsha1" != "$sha" ]; then
abort "Checksum mismatch for $patch_oldname (expected $patch_oldsha1, got $sha)."
fi
# Find end of binary patch
tmpoffset=$(sed -n "$hdroffset,\$ p" "$tmpfile" | awk "$awk_eof_binarypatch")
lastoffset=$((hdroffset + tmpoffset - 1))
# Special case - deleting the whole file
if [ "$patch_newsha1" == "0000000000000000000000000000000000000000" ] &&
[ "$patch_binary_size" -eq 0 ] && [ "$patch_binary_type" == "literal" ]; then
# Applying the patch just means deleting the file
if [ -f "$patch_oldname" ] && ! rm "$patch_oldname"; then
abort "Unable to delete file $patch_oldname."
fi
continue
fi
# Create temporary file for literal patch
literal_tmpfile=$(mktemp)
if [ ! -f "$literal_tmpfile" ]; then
abort "Unable to create temporary file for binary patch."
fi
# Decode base85 and gzip compression
tmpoffset=$((lastoffset - 1))
sed -n "$hdroffset,$tmpoffset p" "$tmpfile" | awk "$awk_decode_b85" | gzip -dc > "$literal_tmpfile" 2>/dev/null
if [ "$patch_binary_size" -ne "$(filesize "$literal_tmpfile")" ]; then
rm "$literal_tmpfile"
abort "Uncompressed binary patch has wrong size."
fi
# Convert delta to literal patch
if [ "$patch_binary_type" == "delta" ]; then
# Create new temporary file for literal patch
delta_tmpfile="$literal_tmpfile"
literal_tmpfile=$(mktemp)
if [ ! -f "$literal_tmpfile" ]; then
rm "$delta_tmpfile"
abort "Unable to create temporary file for binary patch."
fi
patch_binary_complete=0
patch_binary_destsize=0
while read cmd arg1 arg2; do
if [ "$cmd" == "S" ]; then
[ "$arg1" -eq "$(filesize "$patch_oldname")" ] || break
patch_binary_destsize="$arg2"
elif [ "$cmd" == "1" ]; then
dd if="$patch_oldname" bs=1 skip="$arg1" count="$arg2" >> "$literal_tmpfile" 2>/dev/null || break
elif [ "$cmd" == "2" ]; then
dd if="$delta_tmpfile" bs=1 skip="$arg1" count="$arg2" >> "$literal_tmpfile" 2>/dev/null || break
elif [ "$cmd" == "E" ]; then
patch_binary_complete=1
else break; fi
done < <(hexdump -v -e '32/1 "%02X" "\n"' "$delta_tmpfile" | awk "$awk_decode_binarypatch")
rm "$delta_tmpfile"
if [ "$patch_binary_complete" -eq 0 ]; then
rm "$literal_tmpfile"
abort "Unable to parse full patch."
elif [ "$patch_binary_destsize" -ne "$(filesize "$literal_tmpfile")" ]; then
rm "$literal_tmpfile"
abort "Unpacked delta patch has wrong size."
fi
fi
# Ensure that checksum of literal patch matches
sha=$(gitsha1 "$literal_tmpfile")
if [ "$patch_newsha1" != "$sha" ]; then
rm "$literal_tmpfile"
abort "Checksum mismatch for patched $patch_newname (expected $patch_newsha1, got $sha)."
fi
# Apply the patch - copy literal patch to destination path
if ! cp "$literal_tmpfile" "$patch_newname"; then
rm "$literal_tmpfile"
abort "Unable to replace $patch_newname with patched file."
fi
rm "$literal_tmpfile"
done
# Check last remaining part for unparsed patches
if sed -n "$lastoffset,\$ p" "$tmpfile" | grep -q '^\(@@ -\|--- \|+++ \)'; then
abort "Patch corrupted or not created with git."
fi
# Delete temp file (if any)
if [ ! -z "$tmpfile" ]; then
rm "$tmpfile"
tmpfile=""
fi
# Success
exit 0

73
debian/tools/patchlist.sh vendored Executable file
View File

@@ -0,0 +1,73 @@
#!/bin/sh
PATCH_DATA=$(cat);
PATCH_LINES=$(echo "${PATCH_DATA}" | wc -l);
PATCH_LINES=$((${PATCH_LINES}+20));
cat <<EOF
From: "FDS-Team" <webmaster@fds-team.de>
Subject: Autogenerated patch list.
---
diff --git a/libs/wine/config.c b/libs/wine/config.c
index a273502..5fa0cd5 100644
--- a/libs/wine/config.c
+++ b/libs/wine/config.c
@@ -478,6 +478,${PATCH_LINES} @@ const char *wine_get_version(void)
return PACKAGE_VERSION;
}
+struct wine_patch {
+ const char *hash;
+ const char *author;
+ const char *title;
+} wine_patch_data[] = {
${PATCH_DATA}
+ { NULL, NULL, NULL }
+};
+
+/* return the applied non-standard patches */
+const void * wine_get_patches(void)
+{
+ return &wine_patch_data[0];
+}
+
/* return the build id string */
const char *wine_get_build_id(void)
{
diff --git a/libs/wine/wine.def b/libs/wine/wine.def
index ed315bd..5b42029 100644
--- a/libs/wine/wine.def
+++ b/libs/wine/wine.def
@@ -83,6 +83,7 @@ EXPORTS
wine_get_sortkey
wine_get_user_name
wine_get_version
+ wine_get_patches
wine_init
wine_init_argv0_path
wine_is_dbcs_leadbyte
diff --git a/libs/wine/wine.map b/libs/wine/wine.map
index 2159fac..7cb2918 100644
--- a/libs/wine/wine.map
+++ b/libs/wine/wine.map
@@ -90,6 +90,7 @@ WINE_1.0
wine_get_ss;
wine_get_user_name;
wine_get_version;
+ wine_get_patches;
wine_init;
wine_init_argv0_path;
wine_is_dbcs_leadbyte;
diff --git a/include/wine/library.h b/include/wine/library.h
index 242bb69..aa9e585 100644
--- a/include/wine/library.h
+++ b/include/wine/library.h
@@ -43,6 +43,7 @@ extern const char *wine_get_data_dir(void);
extern const char *wine_get_server_dir(void);
extern const char *wine_get_user_name(void);
extern const char *wine_get_version(void);
+extern const void *wine_get_patches(void);
extern const char *wine_get_build_id(void);
extern void wine_init_argv0_path( const char *argv0 );
extern void wine_exec_wine_binary( const char *name, char **argv, const char *env_var );
EOF

546
debian/tools/patchupdate.py vendored Executable file

File diff suppressed because it is too large Load Diff

320
debian/tools/patchutils.py vendored Normal file
View File

@@ -0,0 +1,320 @@
#!/usr/bin/python
#
# Python functions to read, split and apply patches.
#
# Copyright (C) 2014 Sebastian Lackner
#
# This library 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 library 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.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
#
import collections
import difflib
import hashlib
import itertools
import os
import re
import subprocess
import tempfile
class PatchParserError(RuntimeError):
"""Unable to parse patch file - either an unimplemented feature, or corrupted patch."""
pass
class PatchApplyError(RuntimeError):
"""Failed to apply/merge patch."""
pass
class PatchObject(object):
def __init__(self, filename):
self.extracted_patch = None
self.unique_hash = None
self.filename = filename
self.offset_begin = None
self.offset_end = None
self.isbinary = False
self.oldname = None
self.newname = None
self.modified_file = None
self.oldsha1 = None
self.newsha1 = None
self.newmode = None
def is_binary(self):
return self.isbinary
def read_chunks(self):
"""Iterates over arbitrary sized chunks of this patch."""
assert self.offset_end >= self.offset_begin
with open(self.filename) as fp:
fp.seek(self.offset_begin)
i = self.offset_end - self.offset_begin
while i > 0:
buf = fp.read(4096 if i > 4096 else i)
if buf == "": raise IOError("Unable to extract patch.")
yield buf
i -= len(buf)
def extract(self):
"""Create a temporary file containing the extracted patch."""
if not self.extracted_patch:
self.extracted_patch = tempfile.NamedTemporaryFile()
for chunk in self.read_chunks():
self.extracted_patch.write(chunk)
self.extracted_patch.flush()
return self.extracted_patch
def hash(self):
"""Hash the content of the patch."""
if not self.unique_hash:
m = hashlib.sha256()
for chunk in self.read_chunks():
m.update(chunk)
self.unique_hash = m.digest()
return self.unique_hash
def read_patch(filename):
"""Iterates over all patches contained in a file, and returns PatchObject objects."""
class _FileReader(object):
def __init__(self, filename):
self.filename = filename
self.fp = open(self.filename)
self.peeked = None
def close(self):
self.fp.close()
def __enter__(self):
return self
def __exit__(self, type, value, traceback):
self.close()
def seek(self, pos):
"""Change the file cursor position."""
self.fp.seek(pos)
self.peeked = None
def tell(self):
"""Return the current file cursor position."""
if self.peeked is None:
return self.fp.tell()
return self.peeked[0]
def peek(self):
"""Read one line without changing the file cursor."""
if self.peeked is None:
pos = self.fp.tell()
tmp = self.fp.readline()
if len(tmp) == 0: return None
self.peeked = (pos, tmp)
return self.peeked[1]
def read(self):
"""Read one line from the file, and move the file cursor to the next line."""
if self.peeked is None:
tmp = self.fp.readline()
if len(tmp) == 0: return None
return tmp
tmp, self.peeked = self.peeked, None
return tmp[1]
def _read_single_patch(fp, oldname=None, newname=None):
"""Internal function to read a single patch from a file."""
patch = PatchObject(fp.filename)
patch.offset_begin = fp.tell()
patch.oldname = oldname
patch.newname = newname
# Skip over initial diff --git header
line = fp.peek()
if line.startswith("diff --git "):
assert fp.read() == line
# Read header
while True:
line = fp.peek()
if line is None:
break
elif line.startswith("--- "):
patch.oldname = line[4:].strip()
elif line.startswith("+++ "):
patch.newname = line[4:].strip()
elif line.startswith("old mode") or line.startswith("deleted file mode"):
pass # ignore
elif line.startswith("new mode "):
patch.newmode = line[9:].strip()
elif line.startswith("new file mode "):
patch.newmode = line[14:].strip()
elif line.startswith("new mode") or line.startswith("new file mode"):
raise PatchParserError("Unable to parse header line '%s'." % line)
elif line.startswith("copy from") or line.startswith("copy to"):
raise NotImplementedError("Patch copy header not implemented yet.")
elif line.startswith("rename "):
raise NotImplementedError("Patch rename header not implemented yet.")
elif line.startswith("similarity index") or line.startswith("dissimilarity index"):
pass # ignore
elif line.startswith("index "):
r = re.match("^index ([a-fA-F0-9]*)\.\.([a-fA-F0-9]*)", line)
if not r: raise PatchParserError("Unable to parse index header line '%s'." % line)
patch.oldsha1, patch.newsha1 = r.group(1), r.group(2)
else:
break
assert fp.read() == line
if patch.oldname is None or patch.newname is None:
raise PatchParserError("Missing old or new name.")
elif patch.oldname == "/dev/null" and patch.newname == "/dev/null":
raise PatchParserError("Old and new name is /dev/null?")
if patch.oldname.startswith("a/"):
patch.oldname = patch.oldname[2:]
elif patch.oldname != "/dev/null":
raise PatchParserError("Old name in patch doesn't start with a/.")
if patch.newname.startswith("b/"):
patch.newname = patch.newname[2:]
elif patch.newname != "/dev/null":
raise PatchParserError("New name in patch doesn't start with b/.")
if patch.newname != "/dev/null":
patch.modified_file = patch.newname
else:
patch.modified_file = patch.oldname
# Decide between binary and textual patch
if line is None or line.startswith("diff --git ") or line.startswith("--- "):
if oldname != newname:
raise PatchParserError("Stripped old- and new name doesn't match.")
elif line.startswith("@@ -"):
while True:
line = fp.peek()
if line is None or not line.startswith("@@ -"):
break
r = re.match("^@@ -(([0-9]+),)?([0-9]+) \+(([0-9]+),)?([0-9]+) @@", line)
if not r: raise PatchParserError("Unable to parse hunk header '%s'." % line)
srcpos = max(int(r.group(2)) - 1, 0) if r.group(2) else 0
dstpos = max(int(r.group(5)) - 1, 0) if r.group(5) else 0
srclines, dstlines = int(r.group(3)), int(r.group(6))
if srclines <= 0 and dstlines <= 0:
raise PatchParserError("Empty hunk doesn't make sense.")
assert fp.read() == line
while srclines > 0 or dstlines > 0:
line = fp.read()
if line is None:
raise PatchParserError("Truncated patch.")
elif line.startswith(" "):
if srclines == 0 or dstlines == 0:
raise PatchParserError("Corrupted patch.")
srclines -= 1
dstlines -= 1
elif line.startswith("-"):
if srclines == 0:
raise PatchParserError("Corrupted patch.")
srclines -= 1
elif line.startswith("+"):
if dstlines == 0:
raise PatchParserError("Corrupted patch.")
dstlines -= 1
elif line.startswith("\\ "):
pass # ignore
else:
raise PatchParserError("Unexpected line in hunk.")
while True:
line = fp.peek()
if line is None or not line.startswith("\\ "): break
assert fp.read() == line
elif line.rstrip() == "GIT binary patch":
if patch.oldsha1 is None or patch.newsha1 is None:
raise PatchParserError("Missing index header, sha1 sums required for binary patch.")
elif patch.oldname != patch.newname:
raise PatchParserError("Stripped old- and new name doesn't match for binary patch.")
assert fp.read() == line
line = fp.read()
if line is None: raise PatchParserError("Unexpected end of file.")
r = re.match("^(literal|delta) ([0-9]+)", line)
if not r: raise NotImplementedError("Only literal/delta patches are supported.")
patch.isbinary = True
# Skip over patch data
while True:
line = fp.read()
if line is None or line.strip() == "":
break
else:
raise PatchParserError("Unknown patch format.")
patch.offset_end = fp.tell()
return patch
with _FileReader(filename) as fp:
while True:
line = fp.peek()
if line is None:
break
elif line.startswith("diff --git "):
tmp = line.strip().split(" ")
if len(tmp) != 4: raise PatchParserError("Unable to parse git diff header line '%s'." % line)
yield _read_single_patch(fp, tmp[2].strip(), tmp[3].strip())
elif line.startswith("--- "):
yield _read_single_patch(fp)
elif line.startswith("@@ -") or line.startswith("+++ "):
raise PatchParserError("Patch didn't start with a git or diff header.")
else:
assert fp.read() == line
def apply_patch(content, patches, reverse=False, fuzz=2):
"""Apply a patch with optional fuzz - uses the commandline 'patch' utility."""
if not isinstance(patches, collections.Sequence):
patches = [patches]
contentfile = tempfile.NamedTemporaryFile(delete=False)
try:
contentfile.write(content)
contentfile.close()
for patch in patches:
patchfile = patch.extract()
cmdline = ["patch", "--force", "--silent", "-r", "-"]
if reverse: cmdline.append("--reverse")
if fuzz != 2: cmdline.append("--fuzz=%d" % fuzz)
cmdline += [contentfile.name, patchfile.name]
with open(os.devnull, 'w') as devnull:
exitcode = subprocess.call(cmdline, stdout=devnull, stderr=devnull)
if exitcode != 0:
raise PatchApplyError("Failed to apply patch (exitcode %d)." % exitcode)
with open(contentfile.name) as fp:
content = fp.read()
finally:
os.unlink(contentfile.name)
return content

4
debian/wine-compholio-amd64.install vendored Normal file
View File

@@ -0,0 +1,4 @@
/opt/wine-compholio/lib64/libwine.so*
/opt/wine-compholio/lib64/wine
/opt/wine-compholio/bin/wine64
/opt/wine-compholio/bin/wine64-preloader

1
debian/wine-compholio-dev.install vendored Normal file
View File

@@ -0,0 +1 @@
/opt/wine-compholio/include

4
debian/wine-compholio-i386.install vendored Normal file
View File

@@ -0,0 +1,4 @@
/opt/wine-compholio/lib/libwine.so*
/opt/wine-compholio/lib/wine
/opt/wine-compholio/bin/wine
/opt/wine-compholio/bin/wine-preloader

6
debian/wine-compholio.docs vendored Normal file
View File

@@ -0,0 +1,6 @@
documentation/README.*
ANNOUNCE
AUTHORS
LICENSE.wine
LICENSE.wine-compholio
README

2
debian/wine-compholio.install vendored Normal file
View File

@@ -0,0 +1,2 @@
/opt/wine-compholio/bin
/opt/wine-compholio/share

Some files were not shown because too many files have changed in this diff Show More