Remove several patches (accepted upstream), temporarily disable mshtml patchset.

This commit is contained in:
Sebastian Lackner 2014-11-03 20:12:34 +01:00
parent 25e56dc257
commit 7c793eb695
10 changed files with 40 additions and 170 deletions

View File

@ -45,7 +45,7 @@ Included bugfixes and improvements
* Allow special characters in pipe names ([Wine Bug #28995](https://bugs.winehq.org/show_bug.cgi?id=28995))
* Anno 1602 installer depends on Windows 98 behavior of SHFileOperationW
* Audio stuttering and performance drops in multiple applications ([Wine Bug #30639](https://bugs.winehq.org/show_bug.cgi?id=30639))
* Cinema 4D needs NotifyIpInterfaceChange ([Wine Bug #34573](https://bugs.winehq.org/show_bug.cgi?id=34573))
* ~~Cinema 4D needs NotifyIpInterfaceChange~~ ([Wine Bug #34573](https://bugs.winehq.org/show_bug.cgi?id=34573))
* Correctly treat '.' when checking for empty directories ([Wine Bug #26272](https://bugs.winehq.org/show_bug.cgi?id=26272))
* D3DCompileShader should filter specific warning messages ([Wine Bug #33770](https://bugs.winehq.org/show_bug.cgi?id=33770))
* Do not fail when a used context is passed to wglShareLists ([Wine Bug #11436](https://bugs.winehq.org/show_bug.cgi?id=11436))

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
wine-compholio (1.7.31) UNRELEASED; urgency=low
* Added possibility to temporarily disable patches to patch system.
* Removed patch for iphlpapi stub functions (accepted upstream).
* Removed first part of patches for FindFirstFileExW (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Mon, 03 Nov 2014 20:10:04 +0100
wine-compholio (1.7.30) unstable; urgency=low
* Fix wrong escaping of quote/slash characters in patchupdater script.
* Added additional conversion functions to DXTn patch.

View File

@ -71,6 +71,7 @@ class PatchSet(object):
self.authors = []
self.fixes = []
self.changes = []
self.disabled = False
self.files = []
self.patches = []
@ -99,6 +100,16 @@ def _save_dict(filename, value):
with open(filename, "wb") as fp:
pickle.dump(value, fp, pickle.HIGHEST_PROTOCOL)
def parse_int(val, default=0):
"""Parse an integer or boolean value."""
r = re.match("^[0-9]+$", val)
if r:
return int(val)
try:
return {'true': 1, 'yes': 1, 'false': 0, 'no': 0}[val.lower()]
except AttributeError:
return default
def _winebugs_query_short_desc(bugids):
"""Query short_desc from multiple wine bugzilla bugs at the same time."""
bugids = list(set(bugids)) # Remove duplicates and convert to fixed order
@ -188,10 +199,11 @@ def read_definition(revision, filename, name_to_id):
except CalledProcessError:
raise IOError("Failed to load %s" % filename)
authors = []
depends = set()
fixes = []
info = AuthorInfo()
authors = []
depends = set()
fixes = []
info = AuthorInfo()
disabled = False
for line in content.split("\n"):
if line.startswith("#"):
@ -234,12 +246,15 @@ def read_definition(revision, filename, name_to_id):
continue
fixes.append((None, val))
elif key == "disabled":
disabled = parse_int(val)
else:
print "WARNING: Ignoring unknown command in definition file %s: %s" % (deffile, line)
print "WARNING: Ignoring unknown command in definition file %s: %s" % (filename, line)
if len(info.author) and len(info.subject):
authors.append(info)
return authors, depends, fixes
return authors, depends, fixes, disabled
def read_patchset(revision = None):
"""Read information about all patchsets for a specific revision."""
@ -279,7 +294,7 @@ def read_patchset(revision = None):
# Now read the definition files in a second step
for i, patch in all_patches.iteritems():
try:
patch.authors, patch.depends, patch.fixes = \
patch.authors, patch.depends, patch.fixes, patch.disabled = \
read_definition(revision, os.path.join(config.path_patches, patch.name), name_to_id)
except IOError:
raise PatchUpdaterError("Missing definition file for %s" % patch.name)
@ -436,14 +451,15 @@ def verify_dependencies(all_patches):
_save_dict(config.path_depcache, cached_patch_result)
_save_dict(config.path_srccache, cached_original_src)
max_patches = max(all_patches.keys()) + 1
enabled_patches = dict([(i, patch) for i, patch in all_patches.iteritems() if not patch.disabled])
max_patches = max(enabled_patches.keys()) + 1
for i, patch in all_patches.iteritems():
for i, patch in enabled_patches.iteritems():
patch.verify_depends = set(patch.depends)
patch.verify_time = [0]*max_patches
# Check for circular dependencies and perform modified vector clock algorithm
patches = dict(all_patches)
patches = dict(enabled_patches)
while len(patches):
to_delete = []
@ -453,7 +469,7 @@ def verify_dependencies(all_patches):
to_delete.append(i)
if len(to_delete) == 0:
raise PatchUpdaterError("Circular dependency in set of patches: %s" %
raise PatchUpdaterError("Circular dependency (or disabled dependency) in set of patches: %s" %
", ".join([patch.name for i, patch in patches.iteritems()]))
for j in to_delete:
@ -465,7 +481,7 @@ def verify_dependencies(all_patches):
# Find out which files are modified by multiple patches
modified_files = {}
for i, patch in all_patches.iteritems():
for i, patch in enabled_patches.iteritems():
for f in patch.modified_files:
if f not in modified_files:
modified_files[f] = []
@ -475,7 +491,7 @@ def verify_dependencies(all_patches):
_load_patch_cache()
try:
for f, indices in modified_files.iteritems():
verify_patch_order(all_patches, indices, f)
verify_patch_order(enabled_patches, indices, f)
finally:
_save_patch_cache()
@ -486,7 +502,8 @@ def generate_makefile(all_patches):
template = template_fp.read()
with open(config.path_Makefile, "w") as fp:
fp.write(template.format(patchlist="\t" + " \\\n\t".join(["%s.ok" % patch.name for i, patch in all_patches.iteritems()])))
fp.write(template.format(patchlist="\t" + " \\\n\t".join(
["%s.ok" % patch.name for i, patch in all_patches.iteritems() if not patch.disabled])))
for i, patch in all_patches.iteritems():
fp.write("# Patchset %s\n" % patch.name)

View File

@ -37,7 +37,6 @@ PATCHLIST := \
gdiplus-GdipCreateRegionRgnData.ok \
imagehlp-BindImageEx.ok \
imm32-Cross_Thread_Access.ok \
iphlpapi-Stubs.ok \
iphlpapi-TCP_Table.ok \
kernel32-FindFirstFile.ok \
kernel32-GetFinalPathNameByHandle.ok \
@ -48,7 +47,6 @@ PATCHLIST := \
kernel32-UTF7_Support.ok \
libs-Unicode_Collation.ok \
libwine-BSD_mmap_fixed.ok \
mshtml-sessionStorage.ok \
msi-Transform_ProductVersion.ok \
msvcp90-basic_string_wchar_dtor.ok \
ntdll-DOS_Attributes.ok \
@ -514,25 +512,6 @@ imm32-Cross_Thread_Access.ok:
echo '+ { "imm32-Cross_Thread_Access", "Aric Stewart", "Limit cross thread access to ImmSet* functions." },'; \
) > imm32-Cross_Thread_Access.ok
# Patchset iphlpapi-Stubs
# |
# | Included patches:
# | * Add stubs for CancelMibChangeNotify2 and NotifyIpInterfaceChange. [by Sebastian Lackner]
# |
# | This patchset fixes the following Wine bugs:
# | * [#34573] Cinema 4D needs NotifyIpInterfaceChange
# |
# | Modified files:
# | * dlls/iphlpapi/iphlpapi.spec, dlls/iphlpapi/iphlpapi_main.c
# |
.INTERMEDIATE: iphlpapi-Stubs.ok
iphlpapi-Stubs.ok:
$(call APPLY_FILE,iphlpapi-Stubs/0001-iphlpapi-Add-stub-for-CancelMibChangeNotify2.patch)
$(call APPLY_FILE,iphlpapi-Stubs/0002-iphlpapi-Add-stub-for-NotifyIpInterfaceChange.patch)
@( \
echo '+ { "iphlpapi-Stubs", "Sebastian Lackner", "Add stubs for CancelMibChangeNotify2 and NotifyIpInterfaceChange." },'; \
) > iphlpapi-Stubs.ok
# Patchset iphlpapi-TCP_Table
# |
# | Included patches:
@ -564,8 +543,7 @@ iphlpapi-TCP_Table.ok:
# |
.INTERMEDIATE: kernel32-FindFirstFile.ok
kernel32-FindFirstFile.ok:
$(call APPLY_FILE,kernel32-FindFirstFile/0001-kernel32-Set-proper-error-codes-if-FindFirstFileExW-.patch)
$(call APPLY_FILE,kernel32-FindFirstFile/0002-kernel32-Implement-FindFirstFileExW-level-FindExInfo.patch)
$(call APPLY_FILE,kernel32-FindFirstFile/0001-kernel32-Implement-FindFirstFileExW-level-FindExInfo.patch)
@( \
echo '+ { "kernel32-FindFirstFile", "Sebastian Lackner", "Implement FindFirstFileExW level FindExInfoBasic." },'; \
) > kernel32-FindFirstFile.ok

View File

@ -1,47 +0,0 @@
From 8d5567f38a4b717951b3b691c009929110d6c69a Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 27 Oct 2014 02:29:21 +0100
Subject: iphlpapi: Add stub for CancelMibChangeNotify2.
Based on a patch by Yann Leretaille.
---
dlls/iphlpapi/iphlpapi.spec | 2 +-
dlls/iphlpapi/iphlpapi_main.c | 9 +++++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/dlls/iphlpapi/iphlpapi.spec b/dlls/iphlpapi/iphlpapi.spec
index 9eb5a32..ccfa6c8 100644
--- a/dlls/iphlpapi/iphlpapi.spec
+++ b/dlls/iphlpapi/iphlpapi.spec
@@ -8,7 +8,7 @@
@ stdcall AllocateAndGetTcpTableFromStack( ptr long long long )
@ stdcall AllocateAndGetUdpTableFromStack( ptr long long long )
@ stdcall CancelIPChangeNotify( ptr )
-#@ stub CancelMibChangeNotify2
+@ stdcall CancelMibChangeNotify2( ptr )
#@ stub ConvertGuidToStringA
#@ stub ConvertGuidToStringW
#@ stub ConvertInterfaceAliasToLuid
diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c
index 4d66810..967fb06 100644
--- a/dlls/iphlpapi/iphlpapi_main.c
+++ b/dlls/iphlpapi/iphlpapi_main.c
@@ -198,6 +198,15 @@ BOOL WINAPI CancelIPChangeNotify(LPOVERLAPPED overlapped)
}
+/******************************************************************
+ * CancelMibChangeNotify2 (IPHLPAPI.@)
+ */
+DWORD WINAPI CancelMibChangeNotify2(HANDLE handle)
+{
+ FIXME("(handle %p): stub\n", handle);
+ return NO_ERROR;
+}
+
/******************************************************************
* CreateIpForwardEntry (IPHLPAPI.@)
--
2.1.2

View File

@ -1,50 +0,0 @@
From ea30ba5f4635e50e4874643c220c4fa0e6ac0458 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 27 Oct 2014 02:50:05 +0100
Subject: iphlpapi: Add stub for NotifyIpInterfaceChange.
Based on a patch by Yann Leretaille.
---
dlls/iphlpapi/iphlpapi.spec | 2 +-
dlls/iphlpapi/iphlpapi_main.c | 12 ++++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/dlls/iphlpapi/iphlpapi.spec b/dlls/iphlpapi/iphlpapi.spec
index ccfa6c8..c51b58b 100644
--- a/dlls/iphlpapi/iphlpapi.spec
+++ b/dlls/iphlpapi/iphlpapi.spec
@@ -233,7 +233,7 @@
@ stub NhpAllocateAndGetInterfaceInfoFromStack
@ stub NhpGetInterfaceIndexFromStack
@ stdcall NotifyAddrChange( ptr ptr )
-#@ stub NotifyIpInterfaceChange
+@ stdcall NotifyIpInterfaceChange( long ptr ptr long ptr )
@ stdcall NotifyRouteChange( ptr ptr )
#@ stub NotifyRouteChange2
@ stub NotifyRouteChangeEx
diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c
index 967fb06..4fa3e74 100644
--- a/dlls/iphlpapi/iphlpapi_main.c
+++ b/dlls/iphlpapi/iphlpapi_main.c
@@ -2291,6 +2291,18 @@ DWORD WINAPI NotifyAddrChange(PHANDLE Handle, LPOVERLAPPED overlapped)
return ERROR_IO_PENDING;
}
+/******************************************************************
+ * NotifyIpInterfaceChange (IPHLPAPI.@)
+ */
+DWORD WINAPI NotifyIpInterfaceChange(ULONG family, PVOID callback, PVOID context,
+ BOOLEAN init_notify, PHANDLE handle)
+{
+ FIXME("(family %d, callback %p, context %p, init_notify %d, handle %p): stub\n",
+ family, callback, context, init_notify, handle);
+ if (handle) *handle = NULL;
+ return ERROR_NOT_SUPPORTED;
+}
+
/******************************************************************
* NotifyRouteChange (IPHLPAPI.@)
--
2.1.2

View File

@ -1,4 +0,0 @@
Author: Sebastian Lackner
Subject: Add stubs for CancelMibChangeNotify2 and NotifyIpInterfaceChange.
Revision: 1
Fixes: [34573] Cinema 4D needs NotifyIpInterfaceChange

View File

@ -1,31 +0,0 @@
From 33abd1e58720b208d86c8378cb1d391d96f8717c Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 3 Oct 2014 20:01:19 +0200
Subject: kernel32: Set proper error codes if FindFirstFileExW doesn't support
specific search_ops / levels.
---
dlls/kernel32/file.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dlls/kernel32/file.c b/dlls/kernel32/file.c
index 512b63e..4a6fc13 100644
--- a/dlls/kernel32/file.c
+++ b/dlls/kernel32/file.c
@@ -1872,11 +1872,13 @@ HANDLE WINAPI FindFirstFileExW( LPCWSTR filename, FINDEX_INFO_LEVELS level,
if (search_op != FindExSearchNameMatch && search_op != FindExSearchLimitToDirectories)
{
FIXME("search_op not implemented 0x%08x\n", search_op);
+ SetLastError( ERROR_INVALID_PARAMETER );
return INVALID_HANDLE_VALUE;
}
if (level != FindExInfoStandard)
{
FIXME("info level %d not implemented\n", level );
+ SetLastError( ERROR_INVALID_PARAMETER );
return INVALID_HANDLE_VALUE;
}
--
2.1.1

View File

@ -2,3 +2,4 @@ Author: Zhenbo Li
Subject: Implement sessionStorage (partially).
Revision: 1
Fixes: Add partially support for sessionStorage
Disabled: true