Display short name instead of full bug report title in README.md.

This commit is contained in:
Sebastian Lackner 2014-07-11 21:25:18 +02:00
parent 32a0e9cc9e
commit f7014738a8
15 changed files with 68 additions and 54 deletions

View File

@ -5,15 +5,15 @@ The Wine "Compholio" Edition repository includes a variety of patches for Wine t
These patches fix the following Wine bugs:
* Multiple applications and games need support for ws2_32 SIO_GET_EXTENSION_FUNCTION_POINTER TransmitFile (WSAID_TRANSMITFILE) ([Wine Bug #5048](http://bugs.winehq.org/show_bug.cgi?id=5048))
* Support junction points, i.e. DeviceIoCtl(FSCTL_SET_REPARSE_POINT/FSCTL_GET_REPARSE_POINT) ([Wine Bug #12401](http://bugs.winehq.org/show_bug.cgi?id=12401))
* Rhapsody 2 crashes on startup (GetSecurityInfo returns NULL DACL for process object) ([Wine Bug #15980](http://bugs.winehq.org/show_bug.cgi?id=15980))
* Many apps and games need SetNamedPipeHandleState implementation (support for named pipe message mode)(FireFox+Flash, Win8/NET 4.x SDK/vcrun2012, WiX installers) ([Wine Bug #17273](http://bugs.winehq.org/show_bug.cgi?id=17273))
* Some Microsoft debuggers fail to enumerate processes due to wtsapi32.WTSEnumerateProcessesW() being a stub (Microsoft Visual Studio 2005, DbgCLR from .NET 2.0 SDK) ([Wine Bug #29903](http://bugs.winehq.org/show_bug.cgi?id=29903))
* Netflix on Firefox fails with Internet Connection Problem when loading bar is at 99% ([Wine Bug #31858](http://bugs.winehq.org/show_bug.cgi?id=31858))
* Netflix (Silverlight 4.x) and several .NET Framework 3.x/4.0 WPF apps require either Arial or Verdana to be installed ([Wine Bug #32323](http://bugs.winehq.org/show_bug.cgi?id=32323))
* Many .NET and Silverlight applications require SIO_ADDRESS_LIST_CHANGE for interface change notifications ([Wine Bug #32328](http://bugs.winehq.org/show_bug.cgi?id=32328))
* Finale Notepad 2012 doesn't copy/create user files on program start ([Wine Bug #34406](http://bugs.winehq.org/show_bug.cgi?id=34406))
* 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 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)"))
* Rhapsody 2 crashes on startup (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)"))
* 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)"))
* 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)"))
* 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%"))
* 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"))
* 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 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"))
Besides that the following additional changes are included:

View File

@ -1,11 +1,12 @@
#!/usr/bin/python
import sys
import os
from multiprocessing import Pool
from xml.dom import minidom
import contextlib
import textwrap
import urllib
import contextlib
from xml.dom import minidom
from multiprocessing import Pool
import sys
import os
import re
class AuthorInfo(object):
def __init__(self):
@ -102,7 +103,7 @@ def read_patchsets(directory):
next_patch = 0
patches = {}
name_to_id = {}
all_fixes = []
all_bugs = []
for name in sorted(os.listdir(directory)): # Read in sorted order to ensure created Makefile doesn't change too much
if name in [".", ".."]: continue
@ -163,14 +164,19 @@ def read_patchsets(directory):
if len(info.revision): info.revision += ", "
info.revision += val
elif cmd == "fixes":
try:
val = int(val)
except ValueError:
continue # Ignore invalid entry
patch.fixes.append(val)
all_fixes.append(val)
elif cmd == "changes":
patch.changes.append(val)
r = re.match("^[0-9]+$", val)
if r:
bugid = int(val)
patch.fixes.append((bugid, None, None))
all_bugs.append(bugid)
continue
r = re.match("^\\[ *([0-9]+) *\\](.*)$", val)
if r:
bugid, description = int(r.group(1)), r.group(2).strip()
patch.fixes.append((bugid, None, description))
all_bugs.append(bugid)
continue
patch.fixes.append((None, None, val))
elif cmd == "depends":
if not name_to_id.has_key(val):
print "** Definition file %s references unknown dependency %s" % (deffile, val)
@ -184,12 +190,12 @@ def read_patchsets(directory):
# In a third step query information for the patches from Wine bugzilla
pool = Pool(8)
bug_short_desc = {}
for bugid, data in zip(all_fixes, pool.map(download, ["http://bugs.winehq.org/show_bug.cgi?id=%d&ctype=xml&field=short_desc" % bugid for bugid in all_fixes])):
bug_short_desc = {None:None}
for bugid, data in zip(all_bugs, pool.map(download, ["http://bugs.winehq.org/show_bug.cgi?id=%d&ctype=xml&field=short_desc" % bugid for bugid in all_bugs])):
bug_short_desc[bugid] = minidom.parseString(data).getElementsByTagName('short_desc')[0].firstChild.data
pool.close()
for i, patch in patches.iteritems():
patch.fixes = [(bugid, bug_short_desc[bugid]) for bugid in patch.fixes]
patch.fixes = [(bugid, bug_short_desc[bugid], description) for bugid, dummy, description in patch.fixes]
return patches
@ -228,10 +234,11 @@ def generate_makefile(patches, fp):
fp.write("# | *\t%s\n" % "\n# | \t".join(textwrap.wrap(info.subject + s, 120)))
fp.write("# |\n")
if len(patch.fixes):
if any([bugid is not None for bugid, bugname, description in patch.fixes]):
fp.write("# | This patchset fixes the following Wine bugs:\n")
for (bugid, bugname) in patch.fixes:
fp.write("# | *\t%s\n" % "\n# | \t".join(textwrap.wrap("[#%d] %s" % (bugid, bugname), 120)))
for bugid, bugname, description in patch.fixes:
if bugid is not None:
fp.write("# | *\t%s\n" % "\n# | \t".join(textwrap.wrap("[#%d] %s" % (bugid, bugname), 120)))
fp.write("# |\n")
depends = " ".join([""] + ["%s.ok" % patches[d].name for d in patch.depends]) if len(patch.depends) else ""
@ -260,22 +267,27 @@ def generate_readme(patches, fp):
fp.write("\n")
fp.write("These patches fix the following Wine bugs:\n")
fp.write("\n")
all_fixes = []
all_bugs = []
for i, patch in patches.iteritems():
for (bugid, bugname) in patch.fixes:
all_fixes.append((bugid, bugname))
for (bugid, bugname) in sorted(all_fixes):
fp.write("* %s ([Wine Bug #%d](http://bugs.winehq.org/show_bug.cgi?id=%d))\n" % (bugname, bugid, bugid))
for (bugid, bugname, description) in patch.fixes:
if bugid is not None: all_bugs.append((bugid, bugname, description))
for (bugid, bugname, description) in sorted(all_bugs):
if description is None: description = bugname
fp.write("* %s ([Wine Bug #%d](http://bugs.winehq.org/show_bug.cgi?id=%d \"%s\"))\n" % (description, bugid, bugid, bugname))
fp.write("\n")
fp.write("\n")
fp.write("Besides that the following additional changes are included:\n")
fp.write("\n")
all_changes = []
all_fixes = []
for i, patch in patches.iteritems():
for change in patch.changes:
all_changes.append(change)
for change in sorted(all_changes):
fp.write("* %s\n" % change)
for (bugid, bugname, description) in patch.fixes:
if bugid is None: all_fixes.append(description)
for description in sorted(all_fixes):
fp.write("* %s\n" % description)
fp.write("\n")
if __name__ == "__main__":

View File

@ -1,4 +1,4 @@
Author: Erich E. Hoover
Subject: Implement SIO_ADDRESS_LIST_CHANGE.
Revision: 2
Fixes: 32328
Fixes: [32328] Support for interface change notifications

View File

@ -1,5 +1,5 @@
Author: Erich E. Hoover
Subject: Store and return security attributes with extended file attributes.
Revision: 6
Fixes: 31858
Fixes: 34406
Fixes: [31858] Support for stored file ACLs
Fixes: [34406] Support for inherited file ACLs

View File

@ -5,4 +5,5 @@ Revision: 1
Author: Sebastian Lackner
Subject: Update gl_drawable for embedded windows.
Revision: 1
Changes: XEMBED support for embedding Wine windows inside Linux applications
Fixes: XEMBED support for embedding Wine windows inside Linux applications

View File

@ -1,4 +1,5 @@
Author: Sebastian Lackner
Subject: Change return value of stub SetNamedPipeHandleState to TRUE.
Revision: 1
Fixes: 17273
Fixes: [17273] Workaround for TransactNamedPipe not being supported

View File

@ -1,7 +1,7 @@
Author: Maarten Lankhorst
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
Fixes: Support for PulseAudio backend for audio
# Both patches modify configure.ac
Depends: 02-ACL_Extended_Attributes

View File

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

View File

@ -1,7 +1,7 @@
Author: Erich E. Hoover
Subject: Support for junction points/reparse points.
Revision: 1
Fixes: 12401
Fixes: [12401] Support for Junction Points
# Both patches modify dlls/kernel32/volume.c
Depends: 07-GetVolumePathName

View File

@ -1,7 +1,7 @@
Author: Erich E. Hoover
Subject: Implement TransmitFile.
Revision: 1
Fixes: 5048
Fixes: [5048] Support for TransmitFile
# both patches modify server/sock.c
Depends: 01-Address_Change_Notification

View File

@ -1,4 +1,4 @@
Author: Erich E. Hoover
Subject: Implement missing fonts expected by Silverlight.
Revision: 1
Fixes: 32323
Fixes: [32323] Implement an Arial replacement font

View File

@ -1,4 +1,4 @@
Author: Sebastian Lackner
Subject: Use lockfree implementation for get_cached_fd.
Revision: 4
Changes: Lockfree algorithm for filedescriptor cache (improves file access speed)
Fixes: Lockfree algorithm for filedescriptor cache (improves file access speed)

View File

@ -1,4 +1,4 @@
Author: Sebastian Lackner
Subject: Workaround for broken implementation of shlwapi url functions.
Revision: 1
Changes: Workaround for shlwapi URLs with relative paths
Fixes: Workaround for shlwapi URLs with relative paths

View File

@ -1,4 +1,4 @@
Author: Sebastian Lackner
Subject: Partial implementation of WTSEnumerateProcessesW.
Revision: 1
Fixes: 29903
Fixes: [29903] Add implementation of WTSEnumerateProcessesW

View File

@ -14,5 +14,5 @@ Author: Sebastian Lackner
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
Fixes: Reduced SetTimer minimum value from 15 ms to 5 ms (improves Silverlight framerates)
Fixes: Other Pipelight specific enhancements