mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-06-19 13:50:00 +10:00
Add saftey check for Vault configurations
This commit is contained in:
+9
-2
@@ -1002,8 +1002,15 @@ class BuildOpenCore:
|
|||||||
|
|
||||||
def sign_files(self):
|
def sign_files(self):
|
||||||
if self.constants.vault is True:
|
if self.constants.vault is True:
|
||||||
print("- Vaulting EFI")
|
if utilities.check_command_line_tools() is True:
|
||||||
subprocess.run([str(self.constants.vault_path), f"{self.constants.oc_folder}/"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
# sign.command checks for the existance of '/usr/bin/strings' however does not verify whether it's executable
|
||||||
|
# sign.command will continue to run and create an unbootable OpenCore.efi due to the missing strings binary
|
||||||
|
# macOS has dummy binaries that just reroute to the actual binaries after you install Xcode's Command Line Tools
|
||||||
|
print("- Vaulting EFI")
|
||||||
|
subprocess.run([str(self.constants.vault_path), f"{self.constants.oc_folder}/"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||||
|
else:
|
||||||
|
print("- Missing Command Line tools, skipping Vault for saftey reasons")
|
||||||
|
print("- Install via 'xcode-select --install' and rerun OCLP if you wish to vault this config")
|
||||||
|
|
||||||
def build_opencore(self):
|
def build_opencore(self):
|
||||||
self.build_efi()
|
self.build_efi()
|
||||||
|
|||||||
@@ -238,6 +238,14 @@ def cls():
|
|||||||
else:
|
else:
|
||||||
print("\u001Bc")
|
print("\u001Bc")
|
||||||
|
|
||||||
|
def check_command_line_tools():
|
||||||
|
# Determine whether Command Line Tools exist
|
||||||
|
# xcode-select -p
|
||||||
|
xcode_select = subprocess.run("xcode-select -p".split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||||
|
if xcode_select.returncode == 0:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
def get_nvram(variable: str, uuid: str = None, *, decode: bool = False):
|
def get_nvram(variable: str, uuid: str = None, *, decode: bool = False):
|
||||||
# TODO: Properly fix for El Capitan, which does not print the XML representation even though we say to
|
# TODO: Properly fix for El Capitan, which does not print the XML representation even though we say to
|
||||||
|
|||||||
Reference in New Issue
Block a user