Add fixed bug numbers to each patchset, autogenerate README.md with patch information.

This commit is contained in:
Sebastian Lackner 2014-07-11 19:34:33 +02:00
parent 42afbafa33
commit 5c72aff53e
19 changed files with 132 additions and 63 deletions

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,4 @@
Revision: 1
Author: Erich E. Hoover
Title: Implement GetVolumePathName.
Subject: Implement GetVolumePathName.
Revision: 1
Changes: Support for GetVolumePathName

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,4 @@
Revision: 1
Author: Sebastian Lackner
Title: Partial implementation of WTSEnumerateProcessesW.
Subject: Partial implementation of WTSEnumerateProcessesW.
Revision: 1
Fixes: 29903

View File

@ -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

View File

@ -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
( \

View File

@ -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