Skip to content

Commit 93e9a8f

Browse files
committed
Add SeedUtil option to Advanced Patcher Settings
1 parent 69ab0fd commit 93e9a8f

File tree

3 files changed

+33
-0
lines changed

3 files changed

+33
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
- dGPU must be disabled via NVRAM or deMUXed
1414
- Increment binaries:
1515
- Apple Binaries 478f6a6 (0.0.7 release - 05-16-2021)
16+
- Add SeedUtil option to Advanced Patcher Settings
1617

1718
## 0.1.4
1819
- Fix Device Path formatting on 2012+ iMacs

OpenCore-Patcher.command

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ system_profiler SPHardwareDataType | grep 'Model Identifier'
142142
#[f"Download more RAM:\t\t\tCurrently {self.constants.download_ram}", CliMenu.MenuOptions(self.constants.custom_model or self.current_model, self.constants).download_more_ram_dot_com],
143143
[f"Disable CPU Friend:\t\t\tCurrently {self.constants.disallow_cpufriend}", CliMenu.MenuOptions(self.constants.custom_model or self.current_model, self.constants).disable_cpufriend],
144144
[f"Set Custom name {self.constants.custom_cpu_model_value}", CliMenu.MenuOptions(self.constants.custom_model or self.current_model, self.constants).custom_cpu],
145+
[f"Set SeedUtil Status", CliMenu.MenuOptions(self.constants.custom_model or self.current_model, self.constants).set_seedutil],
145146
]
146147

147148
for option in options:

Resources/CliMenu.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Handle misc CLI menu options
22
# Copyright (C) 2020-2021, Dhinak G, Mykola Grymalyuk
33
from __future__ import print_function
4+
import subprocess
45

56
from Resources import ModelArray, Constants, Utilities
67

@@ -378,3 +379,33 @@ def disable_cpufriend(self):
378379
self.constants.disallow_cpufriend = False
379380
else:
380381
print("Invalid option")
382+
383+
def set_seedutil(self):
384+
Utilities.cls()
385+
Utilities.header(["Set SeedUtil Status"])
386+
print("""Used for setting OS Update Preferences
387+
388+
Valid options:
389+
1. Public Release Seed (Default)
390+
2. Public Beta Seed
391+
3. Developer Beta Seed
392+
4. Check SeedUtil's current status
393+
""")
394+
395+
change_menu = input("Set update status(Press [ENTER] to exit): ")
396+
if change_menu == "1":
397+
subprocess.run(["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "unenroll"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
398+
elif change_menu == "2":
399+
subprocess.run(["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "unenroll"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
400+
subprocess.run(["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "enroll", "PublicSeed"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
401+
elif change_menu == "3":
402+
subprocess.run(["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "unenroll"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
403+
subprocess.run(["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "enroll", "DeveloperSeed"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
404+
elif change_menu == "4":
405+
result = subprocess.run(["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "current"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
406+
result = [i.partition(":")[2] for i in result.stdout.decode().split("\n") if "Currently enrolled in" in i][0]
407+
print(f"SeedUtil Current Status: {result}")
408+
input("\nPress [ENTER] to continue")
409+
self.set_seedutil()
410+
else:
411+
print("Returning to main menu")

0 commit comments

Comments
 (0)