Sync kexts

This commit is contained in:
Mykola Grymalyuk
2023-05-16 08:28:23 -06:00
parent a6e0c142ca
commit 85b90b13e4
16 changed files with 35 additions and 5 deletions

1
.gitignore vendored
View File

@@ -34,3 +34,4 @@ __pycache__/
/payloads/KDK.dmg
*.log
/Universal-Binaries.dmg
/payloads/Universal-Binaries_overlay

View File

@@ -13,6 +13,10 @@
- ex. Beta 4 KDK being recommended for Beta 3 install
- Increment Binaries:
- PatcherSupportPkg 1.0.0 - release
- Lilu 1.6.5 - release
- RestrictEvents 1.1.1 - release
- FeatureUnlock 1.1.4 - release
- BlueToolFixup 2.6.6 - release
## 0.6.5
- Update 3802 Patchset Binaries:

Binary file not shown.

Binary file not shown.

View File

@@ -152,6 +152,26 @@ class GenerateKexts:
self._get_latest_release(kext_folder, kext_name)
def _is_build_nightly(self, kext: str, version: str) -> bool:
# Load CHANGELOG.md
changelog_path = Path(f"../../CHANGELOG.md").absolute()
with open(changelog_path, "r") as changelog_file:
changelog = changelog_file.read()
# Check if kext is in changelog
if kext not in changelog:
return False
# Check if kext is 'rolling' or 'nightly'
for line in changelog.split("\n"):
if kext in line and version in line:
if ("rolling" in line or "nightly" in line):
return True
break
return False
def _get_latest_release(self, kext_folder, kext_name, override_kext_zip_name=None):
# Get latest release from GitHub API
repo_url = KEXT_DICTIONARY[kext_folder][kext_name]["Repository"].replace("https://github.com", "https://api.github.com/repos")
@@ -178,7 +198,12 @@ class GenerateKexts:
if packaging.version.parse(remote_version) <= packaging.version.parse(local_version):
print(f" {kext_name} {variant} is up to date: v{local_version}")
continue
if remote_version == local_version:
if self._is_build_nightly(kext_name, local_version) is False:
continue
print(f" {kext_name} {variant} is a nightly build, updating...")
else:
continue
for asset in latest_release["assets"]:
if not asset["name"].endswith(f"{variant}.zip"):
@@ -186,9 +211,9 @@ class GenerateKexts:
print(f" Downloading {kext_name} {variant}: v{remote_version}...")
zip_name = f"{override_kext_zip_name}-v{remote_version}-{variant}.zip" if override_kext_zip_name else f"{kext_name}-v{remote_version}-{variant}.zip"
self._download_file(asset["browser_download_url"], f"./{kext_folder}/{zip_name}", f"{kext_name}.kext")
if Path(f"./{kext_folder}/{zip_name}").exists():
if Path(f"./{kext_folder}/{zip_name.replace(f'v{remote_version}', f'v{local_version}')}").exists():
subprocess.run(["rm", "-rf", f"./{kext_folder}/{zip_name.replace(f'v{remote_version}', f'v{local_version}')}"])
self._download_file(asset["browser_download_url"], f"./{kext_folder}/{zip_name}", f"{kext_name}.kext")
self._update_constants_file(KEXT_DICTIONARY[kext_folder][kext_name]["Constants Variable"], local_version, remote_version)
if override_kext_zip_name:

View File

@@ -32,7 +32,7 @@ class Constants:
# Kext Versioning
## Acidanthera
## https://github.com/acidanthera
self.lilu_version: str = "1.6.4" # Lilu
self.lilu_version: str = "1.6.5" # Lilu
self.whatevergreen_version: str = "1.6.4" # WhateverGreen
self.whatevergreen_navi_version: str = "1.6.4-Navi" # WhateverGreen (Navi Patch)
self.airportbcrmfixup_version: str = "2.1.7" # AirPortBrcmFixup
@@ -42,7 +42,7 @@ class Constants:
self.featureunlock_version: str = "1.1.4" # FeatureUnlock
self.debugenhancer_version: str = "1.0.7" # DebugEnhancer
self.cpufriend_version: str = "1.2.6" # CPUFriend
self.bluetool_version: str = "2.6.5" # BlueToolFixup (BrcmPatchRAM)
self.bluetool_version: str = "2.6.6" # BlueToolFixup (BrcmPatchRAM)
self.cslvfixup_version: str = "2.6.1" # CSLVFixup
self.autopkg_version: str = "1.0.2" # AutoPkgInstaller
self.cryptexfixup_version: str = "1.0.1" # CryptexFixup