Skip to content

Commit 032efb5

Browse files
committed
bugs: Allow 14.2 beta 4 and later as mostly fixed
Signed-off-by: Hector Martin <[email protected]>
1 parent 150084c commit 032efb5

2 files changed

Lines changed: 14 additions & 3 deletions

File tree

src/bugs.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
ALLOWED_MACOS_MIN = "14.1.1"
88

9+
SAFE_MACOS_RVERSION_MIN = "23.3.55.5.2" # 14.2 beta 4
10+
911
PROMOTION_DEVICES = {
1012
"j314cap",
1113
"j314sap",
@@ -95,9 +97,10 @@ def sadness(sysinfo):
9597
p_error("successfully complete an Asahi Linux installation, as it cannot boot older")
9698
p_error("versions of macOS Recovery in this state.")
9799
print()
98-
p_error("We cannot continue with the install. Sorry. You will have to wait for Apple")
99-
p_error("to fix this properly in a future update. This bug is entirely outside of our")
100-
p_error("control and there is no easy workaround at this time.")
100+
p_error("Apple have deployed a fix for this issue in macOS 14.2 beta 4. To install")
101+
p_error("Asahi Linux, you must upgrade to this version or later. If you do not wish")
102+
p_error("to use a beta version of macOS, you will have to wait until the 14.2 final")
103+
p_error("release is out.")
101104
print()
102105
p_plain("More information:")
103106
print()
@@ -116,9 +119,15 @@ def you_are_safe(main):
116119

117120
def run_checks(main):
118121
if main.sysinfo.device_class not in PROMOTION_DEVICES:
122+
logging.info("bugs: Not a ProMotion device")
119123
return
120124

121125
if split_ver(main.sysinfo.sfr_ver) < split_ver(BUGGY_SFR_MIN):
126+
logging.info("bugs: SFR not updated beyond problem version")
127+
return
128+
129+
if split_ver(main.sysinfo.macos_restore_ver) >= split_ver(SAFE_MACOS_RVERSION_MIN):
130+
logging.info("bugs: macOS is new enough to guarantee safety")
122131
return
123132

124133
p_progress("Checking whether your machine is affected by critical Apple bugs...")

src/system.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ def fetch(self):
7373
self.boot_mode = boot_mode.split(b": ")[1].decode("ascii")
7474

7575
self.macos_ver, self.macos_build = self.get_version("/System/Library/CoreServices/SystemVersion.plist")
76+
self.macos_restore_ver = self.get_restore_version("/System/Library/CoreServices/RestoreVersion.plist")
7677
self.sfr_ver, self.sfr_build = self.get_version("/System/Volumes/iSCPreboot/SFR/current/SystemVersion.plist")
7778
self.fsfr_ver, self.fsfr_build = self.get_version("/System/Volumes/iSCPreboot/SFR/fallback/SystemVersion.plist")
7879
self.sfr_full_ver = self.get_restore_version("/System/Volumes/iSCPreboot/SFR/current/RestoreVersion.plist")
@@ -148,6 +149,7 @@ def show(self):
148149
p_info(f" Default boot VGID: {col()}{self.default_boot}")
149150
p_info(f" Boot mode: {col()}{self.boot_mode}")
150151
p_info(f" OS version: {col()}{self.macos_ver} ({self.macos_build})")
152+
p_info(f" OS restore version: {col()}{self.macos_restore_ver}")
151153
p_info(f" Main firmware version: {col()}{self.sfr_ver} ({self.sfr_build})")
152154
if self.fsfr_ver:
153155
p_info(f" Fallback firmware version: {col()}{self.fsfr_ver} ({self.fsfr_build})")

0 commit comments

Comments
 (0)