mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
patchupdate.py: Add back code to query wine bugzilla, show upstream bug status during patch updater step.
This commit is contained in:
parent
0f1cce7ba2
commit
89e58b5105
@ -38,7 +38,7 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
===================================
|
||||
|
||||
**Bugfixes and features included in the next upcoming release [16]:**
|
||||
**Bugfixes and features included in the next upcoming release [17]:**
|
||||
|
||||
* Add stub for gdiplus.GdipCreateEffect ([Wine Bug #32163](https://bugs.winehq.org/show_bug.cgi?id=32163))
|
||||
* Add support for CopyFileEx progress callback ([Wine Bug #22692](https://bugs.winehq.org/show_bug.cgi?id=22692))
|
||||
@ -55,6 +55,7 @@ Included bug fixes and improvements
|
||||
* Increase wineconsole commandline buffer size ([Wine Bug #34814](https://bugs.winehq.org/show_bug.cgi?id=34814))
|
||||
* Process Hacker 2.x needs ntoskrnl.ProbeForRead ([Wine Bug #38103](https://bugs.winehq.org/show_bug.cgi?id=38103))
|
||||
* Properly track handle count of wineserver objects
|
||||
* Support for GetFinalPathNameByHandle ([Wine Bug #34851](https://bugs.winehq.org/show_bug.cgi?id=34851))
|
||||
* Support for shell32 file operation progress dialog
|
||||
|
||||
|
||||
@ -186,7 +187,7 @@ Included bug fixes and improvements
|
||||
* Scrolling causes mouse and screen to lock in Call to Power II ([Wine Bug #34559](https://bugs.winehq.org/show_bug.cgi?id=34559))
|
||||
* Send WM_PAINT event during dialog creation ([Wine Bug #35652](https://bugs.winehq.org/show_bug.cgi?id=35652))
|
||||
* Set last error when GetRawInputDeviceList fails ([Wine Bug #37667](https://bugs.winehq.org/show_bug.cgi?id=37667))
|
||||
* Silverlight needs support for file ACLs ([Wine Bug #31858](https://bugs.winehq.org/show_bug.cgi?id=31858))
|
||||
* ~~Silverlight needs support for file ACLs~~ ([Wine Bug #31858](https://bugs.winehq.org/show_bug.cgi?id=31858))
|
||||
* Super Mario 3: Mario Forever fails to load keyboard mapping from profile files. ([Wine Bug #18099](https://bugs.winehq.org/show_bug.cgi?id=18099))
|
||||
* Support for AllocateAndGetTcpExTableFromStack ([Wine Bug #34372](https://bugs.winehq.org/show_bug.cgi?id=34372))
|
||||
* Support for BindImageEx ([Wine Bug #3591](https://bugs.winehq.org/show_bug.cgi?id=3591))
|
||||
@ -198,7 +199,7 @@ Included bug fixes and improvements
|
||||
* Support for DOS hidden/system file attributes ([Wine Bug #9158](https://bugs.winehq.org/show_bug.cgi?id=9158))
|
||||
* Support for Dynamic DST (daylight saving time) information in registry
|
||||
* Support for GdipCreateRegionRgnData ([Wine Bug #34843](https://bugs.winehq.org/show_bug.cgi?id=34843))
|
||||
* Support for GetFinalPathNameByHandle ([Wine Bug #36073](https://bugs.winehq.org/show_bug.cgi?id=36073))
|
||||
* ~~Support for GetFinalPathNameByHandle~~ ([Wine Bug #36073](https://bugs.winehq.org/show_bug.cgi?id=36073))
|
||||
* Support for GetSystemTimes ([Wine Bug #19813](https://bugs.winehq.org/show_bug.cgi?id=19813))
|
||||
* Support for GetVolumePathName
|
||||
* Support for H264 DXVA2 GPU video decoding through vaapi
|
||||
|
57
debian/tools/patchupdate.py
vendored
57
debian/tools/patchupdate.py
vendored
@ -21,6 +21,7 @@
|
||||
|
||||
import binascii
|
||||
import cPickle as pickle
|
||||
import contextlib
|
||||
import fnmatch
|
||||
import hashlib
|
||||
import itertools
|
||||
@ -36,6 +37,8 @@ import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import textwrap
|
||||
import urllib
|
||||
import xml.dom.minidom
|
||||
|
||||
_devnull = open(os.devnull, 'wb')
|
||||
|
||||
@ -135,6 +138,34 @@ def _parse_int(val, default=0):
|
||||
except AttributeError:
|
||||
return default
|
||||
|
||||
def _winebugs_query(bugids):
|
||||
"""Query short_desc from multiple wine bugzilla bugs at the same time."""
|
||||
bugids = list(set(bugids)) # Remove duplicates and convert to fixed order
|
||||
if len(bugids) == 0: return {}
|
||||
|
||||
# Query bugzilla
|
||||
url = "http://bugs.winehq.org/show_bug.cgi?%s&ctype=xml&field=short_desc&field=bug_status&field=resolution" % \
|
||||
"&".join(["id=%d" % bugid for bugid in bugids])
|
||||
with contextlib.closing(urllib.urlopen(url)) as fp:
|
||||
data = xml.dom.minidom.parseString(fp.read())
|
||||
|
||||
# convert xml in a dictionary containing all bugs we found
|
||||
result = {}
|
||||
for element in data.getElementsByTagName('bug_id'):
|
||||
bugids.remove(int(element.firstChild.data))
|
||||
|
||||
def _get_text(n):
|
||||
return n.firstChild.data if (n and n.firstChild) else None
|
||||
|
||||
for bugid, element in zip(bugids, data.getElementsByTagName('bug')):
|
||||
if element.getElementsByTagName('bug_id'): continue
|
||||
result[bugid] = {
|
||||
'short_desc': _get_text(element.getElementsByTagName('short_desc')[0]),
|
||||
'bug_status': _get_text(element.getElementsByTagName('bug_status')[0]),
|
||||
'resolution': _get_text(element.getElementsByTagName('resolution')[0]) }
|
||||
|
||||
return result
|
||||
|
||||
def _read_changelog():
|
||||
"""Read information from changelog."""
|
||||
with open(config.path_changelog) as fp:
|
||||
@ -195,6 +226,7 @@ def read_patchset(revision = None):
|
||||
unique_id = itertools.count()
|
||||
all_patches = {}
|
||||
name_to_id = {}
|
||||
all_bugids = set()
|
||||
|
||||
# Read in sorted order (to ensure created Makefile doesn't change too much)
|
||||
for name, directory in sorted(enum_directories(revision, config.path_patches)):
|
||||
@ -262,11 +294,15 @@ def read_patchset(revision = None):
|
||||
elif key == "fixes":
|
||||
r = re.match("^[0-9]+$", val)
|
||||
if r:
|
||||
patch.fixes.append((int(val), None))
|
||||
bugid = int(val)
|
||||
patch.fixes.append((bugid, None))
|
||||
all_bugids.add(bugid)
|
||||
continue
|
||||
r = re.match("^\\[ *([0-9]+) *\\](.*)$", val)
|
||||
if r:
|
||||
patch.fixes.append((int(r.group(1)), r.group(2).strip()))
|
||||
bugid = int(r.group(1))
|
||||
patch.fixes.append((bugid, r.group(2).strip()))
|
||||
all_bugids.add(bugid)
|
||||
continue
|
||||
patch.fixes.append((None, val))
|
||||
|
||||
@ -279,6 +315,21 @@ def read_patchset(revision = None):
|
||||
elif revision is None:
|
||||
print "WARNING: Ignoring unknown command in definition file %s: %s" % (filename, line)
|
||||
|
||||
# To simplify the task of keeping the bug list up-to-date, list all bugs
|
||||
# which might require attention.
|
||||
if revision is None:
|
||||
once = True
|
||||
for bugid, bug in sorted(_winebugs_query(all_bugids).items()):
|
||||
if bug['bug_status'] not in ["UNCONFIRMED", "NEW", "REOPENED"]:
|
||||
if once:
|
||||
print ""
|
||||
print "WARNING: The following bugs might require attention:"
|
||||
print ""
|
||||
once = False
|
||||
print " #%d - \"%s\" - %s %s" % (bugid, bug['short_desc'], bug['bug_status'],
|
||||
bug['resolution'] if bug['resolution'] else "")
|
||||
print ""
|
||||
|
||||
return all_patches
|
||||
|
||||
def causal_time_combine(a, b):
|
||||
@ -594,7 +645,7 @@ def generate_markdown(all_patches, stable_patches, stable_compholio_version):
|
||||
return "* %s ([Wine Bug #%d](https://bugs.winehq.org/show_bug.cgi?id=%d))" % \
|
||||
(bugname, bugid, bugid) #, short_desc.replace("\\", "\\\\").replace("\"", "\\\""))
|
||||
|
||||
all_fixes = {}
|
||||
all_fixes = {}
|
||||
|
||||
# Get fixes for current version
|
||||
for _, patch in all_patches.iteritems():
|
||||
|
@ -1 +1 @@
|
||||
Fixes: [36073] Support for GetFinalPathNameByHandle
|
||||
Fixes: [34851] Support for GetFinalPathNameByHandle
|
||||
|
@ -2345,7 +2345,7 @@ fi
|
||||
# Patchset kernel32-GetFinalPathNameByHandle
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#36073] Support for GetFinalPathNameByHandle
|
||||
# | * [#34851] Support for GetFinalPathNameByHandle
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/api-ms-win-core-file-l1-2-0/api-ms-win-core-file-l1-2-0.spec, dlls/kernel32/file.c, dlls/kernel32/kernel32.spec,
|
||||
@ -3330,7 +3330,6 @@ fi
|
||||
# Patchset server-Stored_ACLs
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#31858] Silverlight needs support for file ACLs
|
||||
# | * [#33576] Support for stored file ACLs
|
||||
# |
|
||||
# | Modified files:
|
||||
|
@ -1,3 +1,2 @@
|
||||
Depends: ntdll-DOS_Attributes
|
||||
Fixes: [31858] Silverlight needs support for file ACLs
|
||||
Fixes: [33576] Support for stored file ACLs
|
||||
|
Loading…
Reference in New Issue
Block a user