mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-04-24 12:00:15 +10:00
kdk_handler.py: Fix matching
This commit is contained in:
@@ -9,6 +9,8 @@
|
|||||||
- Allows for better identification when mounted (ex. Disk Utility while app is running)
|
- Allows for better identification when mounted (ex. Disk Utility while app is running)
|
||||||
- Implement DMG-based PatcherSupportPkg system
|
- Implement DMG-based PatcherSupportPkg system
|
||||||
- Reduces both app size and root patching time
|
- Reduces both app size and root patching time
|
||||||
|
- Resolve incorrect remote KDK matching for macOS betas
|
||||||
|
- ex. Beta 4 KDK being recommended for Beta 3 install
|
||||||
- Increment Binaries:
|
- Increment Binaries:
|
||||||
- PatcherSupportPkg 1.0.0 - release
|
- PatcherSupportPkg 1.0.0 - release
|
||||||
|
|
||||||
|
|||||||
@@ -179,16 +179,28 @@ class KernelDebugKitObject:
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
# First check exact match
|
||||||
for kdk in remote_kdk_version:
|
for kdk in remote_kdk_version:
|
||||||
kdk_version = cast(packaging.version.Version, packaging.version.parse(kdk["version"]))
|
if (kdk["build"] != host_build):
|
||||||
if (kdk["build"] == host_build):
|
continue
|
||||||
self.kdk_url = kdk["url"]
|
self.kdk_url = kdk["url"]
|
||||||
self.kdk_url_build = kdk["build"]
|
self.kdk_url_build = kdk["build"]
|
||||||
self.kdk_url_version = kdk["version"]
|
self.kdk_url_version = kdk["version"]
|
||||||
self.kdk_url_expected_size = kdk["fileSize"]
|
self.kdk_url_expected_size = kdk["fileSize"]
|
||||||
self.kdk_url_is_exactly_match = True
|
self.kdk_url_is_exactly_match = True
|
||||||
break
|
break
|
||||||
if kdk_version <= parsed_version and kdk_version.major == parsed_version.major and (kdk_version.minor in range(parsed_version.minor - 1, parsed_version.minor + 1)):
|
|
||||||
|
# If no exact match, check for closest match
|
||||||
|
if self.kdk_url == "":
|
||||||
|
for kdk in remote_kdk_version:
|
||||||
|
kdk_version = cast(packaging.version.Version, packaging.version.parse(kdk["version"]))
|
||||||
|
if kdk_version > parsed_version:
|
||||||
|
continue
|
||||||
|
if kdk_version.major != parsed_version.major:
|
||||||
|
continue
|
||||||
|
if kdk_version.minor not in range(parsed_version.minor - 1, parsed_version.minor + 1):
|
||||||
|
continue
|
||||||
|
|
||||||
# The KDK list is already sorted by version then date, so the first match is the closest
|
# The KDK list is already sorted by version then date, so the first match is the closest
|
||||||
self.kdk_closest_match_url = kdk["url"]
|
self.kdk_closest_match_url = kdk["url"]
|
||||||
self.kdk_closest_match_url_build = kdk["build"]
|
self.kdk_closest_match_url_build = kdk["build"]
|
||||||
|
|||||||
Reference in New Issue
Block a user