System details
Apple MacBook Pro (16-inch, M2 Pro, 2023), Asahi / Arch Linux ARM, kernel 7.1.13-3-1-ARCH, Omarchy Mac dev (04862a02) / version 4.0.3rc4, branch quattro.
What's wrong?
Migration 1789316115 ("Trust packages signed by Omarchy Mac") fails on an existing install, because omarchy-mac-keyring does not exist in the omarchy-aarch64 repo. The migration reached clients on quattro before the rc4 packages were published.
Running migration (1789316115)
Trust packages signed by Omarchy Mac
Skipping 'omarchy-mac-keyring': not available in the repos on this system
[sudo] password for ettienne:
==> ERROR: The keyring file /usr/share/pacman/keyrings/omarchy-mac.gpg does not exist.
● Failed (exit 1). Press any key to close...
The repo is still serving 4.0.2-2, and has no fork keyring at all:
$ pacman -Sl omarchy-aarch64 | grep -E ' (omarchy|omarchy-settings|omarchy-keyring|omarchy-mac-keyring) '
omarchy-aarch64 omarchy 4.0.2-2
omarchy-aarch64 omarchy-keyring 20251027-1
omarchy-aarch64 omarchy-settings 4.0.2-2
Because the migration has no state marker, it re-fires the "pending migration" notification on every login, and each attempt prompts for sudo before failing.
The migration's comment assumes the keyring arrives as a dependency of the omarchy package. On an install running from the git checkout rather than the packaged omarchy, that path never fires, so the migration's self-repair branch is the only thing that can deliver the keyring.
The failure mode is worse than the timing bug
The sequencing will resolve itself when rc4 packages ship, but the way the failure surfaces is a separate defect that will outlive it.
migrations/1789316115.sh treats the keyring install as best-effort:
if omarchy-pkg-missing omarchy-mac-keyring; then
omarchy-pkg-add omarchy-mac-keyring
fi
sudo pacman-key --populate omarchy-mac
but bin/omarchy-pkg-add is the Mac fork's filtering variant, which deliberately skips packages that aren't installable and exits 0:
else
echo -e "\033[33mSkipping '$pkg': not available in the repos on this system\033[0m" >&2
fi
done
((${#to_install[@]})) || exit 0
That filter exists for a good reason — upstream migrations installing x86-only packages — but here it converts a hard prerequisite into a warning. The migration proceeds to pacman-key --populate omarchy-mac and dies on a missing file, so the surfaced error names /usr/share/pacman/keyrings/omarchy-mac.gpg rather than the actual cause: the package that ships that file was never installed. The orange "Skipping" line above it is easy to miss, and the sudo prompt lands between the two, which makes it read like a keyring-population problem rather than a missing-package one.
This is the same class as #428 and #429: an operation reporting success when the underlying action did not happen.
Why this one matters more than a normal migration failure
Per docs/arm-package-sources.md, the following RC moves the fork repo to PackageRequired DatabaseRequired TrustedOnly, and "a client that skipped the bootstrap cannot verify the candidate and stops before changing packages." Anyone who hits this failure and dismisses the recurring notification is silently staged for a blocked upgrade later, with no signal connecting the two.
System details
Apple MacBook Pro (16-inch, M2 Pro, 2023), Asahi / Arch Linux ARM, kernel 7.1.13-3-1-ARCH, Omarchy Mac
dev (04862a02)/ version4.0.3rc4, branchquattro.What's wrong?
Migration
1789316115("Trust packages signed by Omarchy Mac") fails on an existing install, becauseomarchy-mac-keyringdoes not exist in theomarchy-aarch64repo. The migration reached clients onquattrobefore the rc4 packages were published.The repo is still serving 4.0.2-2, and has no fork keyring at all:
Because the migration has no state marker, it re-fires the "pending migration" notification on every login, and each attempt prompts for sudo before failing.
The migration's comment assumes the keyring arrives as a dependency of the
omarchypackage. On an install running from the git checkout rather than the packagedomarchy, that path never fires, so the migration's self-repair branch is the only thing that can deliver the keyring.The failure mode is worse than the timing bug
The sequencing will resolve itself when rc4 packages ship, but the way the failure surfaces is a separate defect that will outlive it.
migrations/1789316115.shtreats the keyring install as best-effort:but
bin/omarchy-pkg-addis the Mac fork's filtering variant, which deliberately skips packages that aren't installable and exits 0:That filter exists for a good reason — upstream migrations installing x86-only packages — but here it converts a hard prerequisite into a warning. The migration proceeds to
pacman-key --populate omarchy-macand dies on a missing file, so the surfaced error names/usr/share/pacman/keyrings/omarchy-mac.gpgrather than the actual cause: the package that ships that file was never installed. The orange "Skipping" line above it is easy to miss, and the sudo prompt lands between the two, which makes it read like a keyring-population problem rather than a missing-package one.This is the same class as #428 and #429: an operation reporting success when the underlying action did not happen.
Why this one matters more than a normal migration failure
Per
docs/arm-package-sources.md, the following RC moves the fork repo toPackageRequired DatabaseRequired TrustedOnly, and "a client that skipped the bootstrap cannot verify the candidate and stops before changing packages." Anyone who hits this failure and dismisses the recurring notification is silently staged for a blocked upgrade later, with no signal connecting the two.