From 68af20d2fa5be4e96294dc9b4b2e2b5264d843ef Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk Date: Mon, 6 Feb 2023 20:10:39 -0700 Subject: [PATCH] kdk_handler.py: Implement additional OS check --- resources/kdk_handler.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/resources/kdk_handler.py b/resources/kdk_handler.py index 09a551393..2f4d13737 100644 --- a/resources/kdk_handler.py +++ b/resources/kdk_handler.py @@ -15,6 +15,7 @@ import logging from resources import utilities, network_handler from resources.constants import Constants +from data.os_data import os_data KDK_INSTALL_PATH = "/Library/Developer/KDKs" @@ -121,7 +122,13 @@ class KernelDebugKitObject: host_build = self.host_build host_version = self.host_version - logging.info(f"- Fetching latest KDK for {host_build} ({host_version})") + parsed_version = cast(packaging.version.Version, packaging.version.parse(host_version)) + + if parsed_version.major < os_data.ventura: + self.error_msg = "KDKs are not required for macOS Monterey or older" + logging.warning(f"- {self.error_msg}") + return + self.kdk_installed_path = self._local_kdk_installed_build() if self.kdk_installed_path: logging.info(f"- KDK already installed ({Path(self.kdk_installed_path).name}), skipping") @@ -131,8 +138,6 @@ class KernelDebugKitObject: remote_kdk_version = self._get_available_kdks() - parsed_version = cast(packaging.version.Version, packaging.version.parse(host_version)) - if remote_kdk_version is None: logging.warning("- Failed to fetch KDK list, falling back to local KDK matching")