Separate platform detection and pin Mac package builds - #353
Draft
malik-na wants to merge 23 commits into
Draft
Conversation
omarchy-hw-arch prints aarch64 or x86_64. omarchy-hw-aarch64 is the codebase split. omarchy-hw-apple-silicon is aarch64 plus Apple in the device tree, so non-Apple ARM does not take the Asahi path.
x86 keeps Architecture = auto and the upstream [omarchy] repo. ARM configs move to default/pacman/aarch64/. Refresh and install select the tree with omarchy-hw-aarch64.
x86 keeps upstream behavior: a missing package fails the transaction. Arch Linux ARM lacks some packages upstream migrations name, so those skip with a warning instead of failing the install.
The Mac installer moves to install/aarch64/install.sh. Root install.sh runs it on aarch64 and points x86 at the Omarchy ISO when this tree has no ISO pipeline.
Replace live uname and device-tree checks with omarchy-hw-aarch64 or omarchy-hw-apple-silicon. Historical migrations and omarchy-mac-setup keep their original bootstrap checks.
The rc file pointed at the edge repo, and all three channel configs had extra SigLevel lines. Copy the upstream blobs so an x86 refresh stays on the matching Omarchy channel.
Restore omarchy-pkg-add's upstream root pacman path. Write hid_apple fnmode only on Apple Silicon or a loaded module, not because the kernel merely ships hid_apple. ESP and btrfs migrate tools require Apple Silicon, not any aarch64 board.
Assert the aarch64 installer resolves checkout to the repo root, x86 pacman channels keep their upstream URLs, and fnmode does not apply on generic x86 via modinfo.
Member
Author
|
Please rebase this integration branch onto current quattro and resolve the conflicts before further review. #331 is already contained here, so keep one merge sequence and retire the redundant path once this is updated. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mac builds currently consume moving package recipes, and shared runtime paths can confuse architecture with Apple hardware or laptop capability. That can omit required payloads, choose x86 repositories after failed detection, break downloaded bootstrap scripts, or report a missing required package as successful. This change pins the source/recipe pair, separates those platform decisions and preserves early failures. It also guards unsupported resets and routes Apple lid-close events through the shared lock-aware handler.
Changes
quattro@988da12cb0748a79bffcefaeb3a48399b1d4dee0; ARM templates live underdefault/pacman/aarch64.arm64alias and failed-command status. Reject unsupported or failed architecture detection before architecture-dependent package/configuration mutations. Apple identity requires an actualapple,device-tree compatible entry. Laptop detection uses chassis/lid evidence instead of treating every Apple computer as a laptop; it has no board allowlist.omarchy-pkg-addcontract on ARM and x86. Keep explicit package-name substitutions in callers, check already installed local archives before AUR resolution, and preserve the optional Obsidian leaf's explicit repository-to-AUR fallback.omacom/omarchy-pkgs@b81d678b3f18b66d3e99feeb72b762d06f3a56cdinto a disposable directory and apply the reviewed Mac profile. Verify build dependencies by default, retain source integrity checks, record source/recipe/profile/archive provenance, and reject mismatched runtime/settings versions or releases.Validation
Independent QA and review pass for final source
1988632d65c5fb8de8e3a64c485c6f6212cfa54f. All seven hosted checks pass: standard CI on the final branch and PR merge revision, plus ARM package-source validation and fresh/repeat installation.test/all(all 262 shell test files) andtests/all. The PR jobs checked GitHub merge revision3e506b3b4861b1f67e1992bdd012d305d9267265against fork baseb6298cde.845aea861afa03b61cd599e31eb672c910fa0b30: matching ARM metadata and runtime/settings versions, source-identical payloads/helpers, moved installer, both architecture configuration trees, valid backup paths and no cross-package file conflicts. Final1988632dchanges only a non-shipped Steam test; packaged inputs are unchanged, and archive provenance retains the actual build commit. No packages or build dependencies were installed on the physical Mac.chassis-type=laptopsupplies the result. These detector bytes are unchanged in the final correction commit.Limits
The complete default-package loop still has its existing warning-and-continue behavior. Making that loop strict needs a decision about explicit ARM sources/substitutions; this change does not silently classify missing packages as optional. Strictness here is the shared required-package helper's contract. Both new ARM logs still report five other default requests as skipped:
asdcontrol,hyprland-preview-share-picker,omarchy-nvim,qemu-user-static-binfmtandtobi-try. That message does not establish that no ARM source exists; source/substitution decisions remain deferred. The experimental non-Apple ARM path remains for isolated userspace installation CI, without a generic ARM hardware support claim.Only a MacBook Air M1 (2020, j313) is physically available. Other supported M1/M2 models, docked lid handling, a full candidate pacman installation on Apple hardware and booting that installed candidate remain unverified. ALS driver/service checks passed, but the user noticed no visible backlight change. The lid cycle logged brcmfmac warnings of unestablished cause; post-resume connectivity was normal. DCP IOAV/PMU messages also occur before the test.
The reset guard validates required tools and conventional boot files; it neither discovers the active bootloader nor establishes successful reset support. The source version remains
4.0.0.alphawhile the pinned recipes produce runtime/settings4.0.2-1; provenance records both, and release publication requires an intentional version decision.Architecture/bootstrap contracts are documented in
docs/platform-detection.md; recipe update procedure and profile ownership are indocs/package-builds.md. This remains a draft in the Mac fork, with no upstream PR.