diff --git a/README.md b/README.md index 65f8a978..26a916c2 100644 --- a/README.md +++ b/README.md @@ -3,21 +3,26 @@ wine-compholio The Wine "Compholio" Edition repository includes a variety of patches for Wine to run common Windows applications under Linux. -Current patches include: +These patches fix the following Wine bugs: + +* ([#32328](Many .NET and Silverlight applications require SIO_ADDRESS_LIST_CHANGE for interface change notifications)) +* ([#31858](Netflix on Firefox fails with Internet Connection Problem when loading bar is at 99%)) +* ([#34406](Finale Notepad 2012 doesn't copy/create user files on program start)) +* ([#17273](Many apps and games need SetNamedPipeHandleState implementation (support for named pipe message mode)(FireFox+Flash, Win8/NET 4.x SDK/vcrun2012, WiX installers))) +* ([#12401](Support junction points, i.e. DeviceIoCtl(FSCTL_SET_REPARSE_POINT/FSCTL_GET_REPARSE_POINT))) +* ([#5048](Multiple applications and games need support for ws2_32 SIO_GET_EXTENSION_FUNCTION_POINTER TransmitFile (WSAID_TRANSMITFILE))) +* ([#32323](Netflix (Silverlight 4.x) and several .NET Framework 3.x/4.0 WPF apps require either Arial or Verdana to be installed)) +* ([#15980](Rhapsody 2 crashes on startup (GetSecurityInfo returns NULL DACL for process object))) +* ([#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))) + + +Besides that the following additional changes are included: -* Support for interface change notifications ([Wine Bug #32328](http://bugs.winehq.org/show_bug.cgi?id=32328)) -* Support for stored file ACLs ([Wine Bug #31858](http://bugs.winehq.org/show_bug.cgi?id=31858)) -* Support for inherited file ACLs ([Wine Bug #34406](http://bugs.winehq.org/show_bug.cgi?id=34406)) -* Support for Junction Points ([Wine Bug #12401](http://bugs.winehq.org/show_bug.cgi?id=12401)) -* Support for TransmitFile ([Wine Bug #5048](http://bugs.winehq.org/show_bug.cgi?id=5048)) -* Support for GetVolumePathName -* Implement an Arial replacement font ([Wine Bug #32323](http://bugs.winehq.org/show_bug.cgi?id=32323)) -* Workaround for TransactNamedPipe not being supported ([Wine Bug #17273](http://bugs.winehq.org/show_bug.cgi?id=17273)) -* Fix incorrect scaling for DECIMAL values in VarDecAdd ([Wine Bug #31269](http://bugs.winehq.org/show_bug.cgi?id=31269)) -* Return NULL-terminated list of arguments in CommandLineToArgvW ([Wine Bug #22829](http://bugs.winehq.org/show_bug.cgi?id=22829)) * XEMBED support for embedding Wine windows inside Linux applications -* Reduced SetTimer minimum value from 15 ms to 5 ms (improves Silverlight framerates) +* Support for PulseAudio backend for audio +* Support for GetVolumePathName * Lockfree algorithm for filedescriptor cache (improves file access speed) * Workaround for shlwapi URLs with relative paths -* Support for PulseAudio backend for audio +* Reduced SetTimer minimum value from 15 ms to 5 ms (improves Silverlight framerates) * Other Pipelight specific enhancements + diff --git a/debian/tools/patchupdate.py b/debian/tools/patchupdate.py index 00bcb779..d6bc97bf 100755 --- a/debian/tools/patchupdate.py +++ b/debian/tools/patchupdate.py @@ -17,6 +17,7 @@ class PatchSet(object): self.name = name self.authors = [] self.fixes = [] + self.changes = [] self.patches = [] self.files = set() @@ -164,6 +165,8 @@ def read_patchsets(directory): xmldoc = minidom.parseString(wr.read()) short_desc = xmldoc.getElementsByTagName('short_desc')[0].firstChild.data patch.fixes.append((val, short_desc)) + elif cmd == "changes": + patch.changes.append(val) elif cmd == "depends": if not name_to_id.has_key(val): print "** Definition file %s references unknown dependency %s" % (deffile, val) @@ -177,9 +180,7 @@ def read_patchsets(directory): return patches -def generate_makefile(patches): - fp = sys.stdout - +def generate_makefile(patches, fp): fp.write("#\n") fp.write("# This file is automatically generated, DO NOT EDIT!\n") fp.write("#\n") @@ -237,11 +238,33 @@ def generate_makefile(patches): fp.write("\ttouch %s.ok\n" % patch.name) fp.write("\n"); -def generate_readme(patches): - pass - +def generate_readme(patches, fp): + fp.write("wine-compholio\n") + fp.write("==============\n") + fp.write("\n") + fp.write("The Wine \"Compholio\" Edition repository includes a variety of patches ") + fp.write("for Wine to run common Windows applications under Linux.\n") + fp.write("\n") + fp.write("These patches fix the following Wine bugs:\n") + fp.write("\n") + for i, patch in patches.iteritems(): + for (bugid, bugname) in patch.fixes: + fp.write("* ([#%d](%s))\n" % (bugid, bugname)) + fp.write("\n") + fp.write("\n") + fp.write("Besides that the following additional changes are included:\n") + fp.write("\n") + for i, patch in patches.iteritems(): + for change in patch.changes: + fp.write("* %s\n" % change) + fp.write("\n") if __name__ == "__main__": patches = read_patchsets("./patches") verify_dependencies(patches) - generate_makefile(patches) + + with open("./patches/Makefile", "w") as fp: + generate_makefile(patches, fp) + + with open("./README.md", "w") as fp: + generate_readme(patches, fp) diff --git a/patches/00-Commandline/definition b/patches/00-Commandline/definition index 81d21314..2b391ba9 100644 --- a/patches/00-Commandline/definition +++ b/patches/00-Commandline/definition @@ -1,7 +1,7 @@ -Revision: 1 Author: Sebastian Lackner -Title: Add commandline option --patches to show the patch list. - +Subject: Add commandline option --patches to show the patch list. Revision: 1 + Author: Michael Müller -Title: Add commandline option --check-libs to test if shared libraries are installed. +Subject: Add commandline option --check-libs to test if shared libraries are installed. +Revision: 1 diff --git a/patches/01-Address_Change_Notification/definition b/patches/01-Address_Change_Notification/definition index 3ee65ac5..b1c5b67d 100644 --- a/patches/01-Address_Change_Notification/definition +++ b/patches/01-Address_Change_Notification/definition @@ -1,4 +1,4 @@ -Revision: 2 Author: Erich E. Hoover -Title: Implement SIO_ADDRESS_LIST_CHANGE. +Subject: Implement SIO_ADDRESS_LIST_CHANGE. +Revision: 2 Fixes: 32328 diff --git a/patches/02-ACL_Extended_Attributes/definition b/patches/02-ACL_Extended_Attributes/definition index 71530bac..a1fdb9c0 100644 --- a/patches/02-ACL_Extended_Attributes/definition +++ b/patches/02-ACL_Extended_Attributes/definition @@ -1,3 +1,5 @@ -Revision: 6 Author: Erich E. Hoover -Title: Store and return security attributes with extended file attributes. +Subject: Store and return security attributes with extended file attributes. +Revision: 6 +Fixes: 31858 +Fixes: 34406 diff --git a/patches/04-XEMBED/definition b/patches/04-XEMBED/definition index f5796b2f..a43eca92 100644 --- a/patches/04-XEMBED/definition +++ b/patches/04-XEMBED/definition @@ -1,7 +1,8 @@ -Revision: 1 Author: Sebastian Lackner -Title: Enable/disable windows when they are (un)mapped by foreign applications. +Subject: Enable/disable windows when they are (un)mapped by foreign applications. +Revision: 1 -Revision: 1 Author: Sebastian Lackner -Title: Update gl_drawable for embedded windows. +Subject: Update gl_drawable for embedded windows. +Revision: 1 +Changes: XEMBED support for embedding Wine windows inside Linux applications diff --git a/patches/05-Named_Pipe/definition b/patches/05-Named_Pipe/definition index 459bfffa..3f9fea41 100644 --- a/patches/05-Named_Pipe/definition +++ b/patches/05-Named_Pipe/definition @@ -1,4 +1,4 @@ -Revision: 1 Author: Sebastian Lackner -Title: Change return value of stub SetNamedPipeHandleState to TRUE. - +Subject: Change return value of stub SetNamedPipeHandleState to TRUE. +Revision: 1 +Fixes: 17273 diff --git a/patches/06-winepulse/definition b/patches/06-winepulse/definition index 7a879e34..c1574c26 100644 --- a/patches/06-winepulse/definition +++ b/patches/06-winepulse/definition @@ -1,6 +1,7 @@ -Revision: 3 Author: Maarten Lankhorst -Title: Winepulse patches extracted from https://launchpad.net/~ubuntu-wine/+archive/ppa/+files/wine1.7_1.7.19-0ubuntu2~trusty2.debian.tar.gz. +Subject: Winepulse patches extracted from https://launchpad.net/~ubuntu-wine/+archive/ppa/+files/wine1.7_1.7.19-0ubuntu2~trusty2.debian.tar.gz. +Revision: 3 +Changes: Support for PulseAudio backend for audio # Both patches modify configure.ac Depends: 02-ACL_Extended_Attributes diff --git a/patches/07-GetVolumePathName/definition b/patches/07-GetVolumePathName/definition index d627a25a..ea72789c 100644 --- a/patches/07-GetVolumePathName/definition +++ b/patches/07-GetVolumePathName/definition @@ -1,3 +1,4 @@ -Revision: 1 Author: Erich E. Hoover -Title: Implement GetVolumePathName. +Subject: Implement GetVolumePathName. +Revision: 1 +Changes: Support for GetVolumePathName diff --git a/patches/08-Junction_Points/definition b/patches/08-Junction_Points/definition index 5c432f2f..19c04592 100644 --- a/patches/08-Junction_Points/definition +++ b/patches/08-Junction_Points/definition @@ -1,6 +1,7 @@ -Revision: 1 Author: Erich E. Hoover -Title: Support for junction points/reparse points. +Subject: Support for junction points/reparse points. +Revision: 1 +Fixes: 12401 # Both patches modify dlls/kernel32/volume.c Depends: 07-GetVolumePathName diff --git a/patches/09-TransmitFile/definition b/patches/09-TransmitFile/definition index a2b959db..634836e3 100644 --- a/patches/09-TransmitFile/definition +++ b/patches/09-TransmitFile/definition @@ -1,6 +1,7 @@ -Revision: 1 Author: Erich E. Hoover -Title: Implement TransmitFile. +Subject: Implement TransmitFile. +Revision: 1 +Fixes: 5048 # both patches modify server/sock.c Depends: 01-Address_Change_Notification diff --git a/patches/10-Missing_Fonts/definition b/patches/10-Missing_Fonts/definition index 08c513e7..60a07d0e 100644 --- a/patches/10-Missing_Fonts/definition +++ b/patches/10-Missing_Fonts/definition @@ -1,3 +1,4 @@ -Revision: 1 Author: Erich E. Hoover -Title: Implement missing fonts expected by Silverlight. +Subject: Implement missing fonts expected by Silverlight. +Revision: 1 +Fixes: 32323 diff --git a/patches/12-FD_Cache/definition b/patches/12-FD_Cache/definition index 7470cc7d..e5527d06 100644 --- a/patches/12-FD_Cache/definition +++ b/patches/12-FD_Cache/definition @@ -1,3 +1,4 @@ -Revision: 4 Author: Sebastian Lackner -Title: Use lockfree implementation for get_cached_fd. +Subject: Use lockfree implementation for get_cached_fd. +Revision: 4 +Changes: Lockfree algorithm for filedescriptor cache (improves file access speed) diff --git a/patches/13-Misc_ACL/definition b/patches/13-Misc_ACL/definition index ca019e19..14819569 100644 --- a/patches/13-Misc_ACL/definition +++ b/patches/13-Misc_ACL/definition @@ -1,6 +1,7 @@ -Revision: 1 Author: Erich E. Hoover -Title: Add default security descriptor ownership and DACLs for processes. +Subject: Add default security descriptor ownership and DACLs for processes. +Revision: 1 +Fixes: 15980 # Both patches modify dlls/advapi32/tests/security.c Depends: 02-ACL_Extended_Attributes diff --git a/patches/14-UrlCombineW/definition b/patches/14-UrlCombineW/definition index 3a10ddf3..2a9f948b 100644 --- a/patches/14-UrlCombineW/definition +++ b/patches/14-UrlCombineW/definition @@ -1,3 +1,4 @@ -Revision: 1 Author: Sebastian Lackner -Title: Workaround for broken implementation of shlwapi url functions. +Subject: Workaround for broken implementation of shlwapi url functions. +Revision: 1 +Changes: Workaround for shlwapi URLs with relative paths diff --git a/patches/15-wtsapi32/definition b/patches/15-wtsapi32/definition index 4f4dd947..e8225883 100644 --- a/patches/15-wtsapi32/definition +++ b/patches/15-wtsapi32/definition @@ -1,3 +1,4 @@ -Revision: 1 Author: Sebastian Lackner -Title: Partial implementation of WTSEnumerateProcessesW. +Subject: Partial implementation of WTSEnumerateProcessesW. +Revision: 1 +Fixes: 29903 diff --git a/patches/97-Pipelight/definition b/patches/97-Pipelight/definition index c3fddf11..6a8a4807 100644 --- a/patches/97-Pipelight/definition +++ b/patches/97-Pipelight/definition @@ -1,15 +1,18 @@ +Author: Michael Müller +Subject: Decrease minimum SetTimer interval to 5 ms. Revision: 2 -Author: Michael Müller -Title: Decrease minimum SetTimer interval to 5 ms. -Revision: 1 Author: Michael Müller -Title: Allow changing strict draw ordering through an exported function. - +Subject: Allow changing strict draw ordering through an exported function. Revision: 1 + Author: Michael Müller -Title: Indicate direct rendering through OpenGL extension. - +Subject: Indicate direct rendering through OpenGL extension. Revision: 1 + Author: Sebastian Lackner -Title: Implement X11DRV_FLUSH_GDI_DISPLAY ExtEscape command. +Subject: Implement X11DRV_FLUSH_GDI_DISPLAY ExtEscape command. +Revision: 1 + +Changes: Reduced SetTimer minimum value from 15 ms to 5 ms (improves Silverlight framerates) +Changes: Other Pipelight specific enhancements \ No newline at end of file diff --git a/patches/Makefile b/patches/Makefile index 45bb8161..a9c64d64 100644 --- a/patches/Makefile +++ b/patches/Makefile @@ -70,6 +70,10 @@ abort: # | Included patches: # | * Store and return security attributes with extended file attributes. [rev 6, by Erich E. Hoover] # | +# | This patchset fixes the following Wine bugs: +# | * [#31858] Netflix on Firefox fails with Internet Connection Problem when loading bar is at 99% +# | * [#34406] Finale Notepad 2012 doesn't copy/create user files on program start +# | 02-ACL_Extended_Attributes.ok: $(PATCH) < 02-ACL_Extended_Attributes/0001-server-Unify-the-storage-of-security-attributes-for-.patch $(PATCH) < 02-ACL_Extended_Attributes/0002-server-Unify-the-retrieval-of-security-attributes-fo.patch @@ -104,6 +108,10 @@ abort: # | Included patches: # | * Change return value of stub SetNamedPipeHandleState to TRUE. [by Sebastian Lackner] # | +# | This patchset fixes the following Wine bugs: +# | * [#17273] Many apps and games need SetNamedPipeHandleState implementation (support for named pipe message +# | mode)(FireFox+Flash, Win8/NET 4.x SDK/vcrun2012, WiX installers) +# | 05-Named_Pipe.ok: $(PATCH) < 05-Named_Pipe/0001-kernel32-Change-return-value-of-stub-SetNamedPipeHandl.patch ( \ @@ -165,6 +173,9 @@ abort: # | Included patches: # | * Support for junction points/reparse points. [by Erich E. Hoover] # | +# | This patchset fixes the following Wine bugs: +# | * [#12401] Support junction points, i.e. DeviceIoCtl(FSCTL_SET_REPARSE_POINT/FSCTL_GET_REPARSE_POINT) +# | 08-Junction_Points.ok: 07-GetVolumePathName.ok $(PATCH) < 08-Junction_Points/0001-ntdll-Add-support-for-junction-point-creation.patch $(PATCH) < 08-Junction_Points/0002-ntdll-Add-support-for-reading-junction-points.patch @@ -183,6 +194,10 @@ abort: # | Included patches: # | * Implement TransmitFile. [by Erich E. Hoover] # | +# | This patchset fixes the following Wine bugs: +# | * [#5048] Multiple applications and games need support for ws2_32 SIO_GET_EXTENSION_FUNCTION_POINTER TransmitFile +# | (WSAID_TRANSMITFILE) +# | 09-TransmitFile.ok: 01-Address_Change_Notification.ok $(PATCH) < 09-TransmitFile/0001-ws2_32-Add-stub-for-TransmitFile.patch $(PATCH) < 09-TransmitFile/0002-ws2_32-Check-for-invalid-parameters-in-TransmitFile.patch @@ -198,6 +213,10 @@ abort: # | Included patches: # | * Implement missing fonts expected by Silverlight. [by Erich E. Hoover] # | +# | This patchset fixes the following Wine bugs: +# | * [#32323] Netflix (Silverlight 4.x) and several .NET Framework 3.x/4.0 WPF apps require either Arial or Verdana to be +# | installed +# | 10-Missing_Fonts.ok: $(PATCH) < 10-Missing_Fonts/0001-fonts-Add-a-subset-of-Liberation-Sans-as-an-Arial-re.patch $(PATCH) < 10-Missing_Fonts/0002-fonts-Implement-the-rest-of-Liberation-Sans-Arial-re.patch @@ -221,6 +240,9 @@ abort: # | Included patches: # | * Add default security descriptor ownership and DACLs for processes. [by Erich E. Hoover] # | +# | This patchset fixes the following Wine bugs: +# | * [#15980] Rhapsody 2 crashes on startup (GetSecurityInfo returns NULL DACL for process object) +# | 13-Misc_ACL.ok: 02-ACL_Extended_Attributes.ok $(PATCH) < 13-Misc_ACL/0001-server-Add-default-security-descriptor-ownership-for.patch $(PATCH) < 13-Misc_ACL/0002-server-Add-default-security-descriptor-DACL-for-proc.patch @@ -245,6 +267,10 @@ abort: # | Included patches: # | * Partial implementation of WTSEnumerateProcessesW. [by Sebastian Lackner] # | +# | This patchset fixes the following Wine bugs: +# | * [#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) +# | 15-wtsapi32.ok: $(PATCH) < 15-wtsapi32/0001-wtsapi32-Partial-implementation-of-WTSEnumerateProce.patch ( \ diff --git a/precommit-hook.sh b/precommit-hook.sh index 53497973..fc418ebc 100755 --- a/precommit-hook.sh +++ b/precommit-hook.sh @@ -6,8 +6,8 @@ git diff --cached --name-status | while read status file; do echo "" echo "*** UPDATING AUTOGENERATED FILES ***" echo "" - debian/tools/patchupdate.py > patches/Makefile || exit 1 - git add patches/Makefile || exit 1 + debian/tools/patchupdate.py || exit 1 + git add patches/Makefile README.md || exit 1 break; fi done