Skip to content

[codex] Revoke passwordless grants when settings is removed - #257

Draft
AFOliveira wants to merge 5 commits into
omacom:masterfrom
AFOliveira:codex/om-sec-01-passwordless-package-cleanup
Draft

[codex] Revoke passwordless grants when settings is removed#257
AFOliveira wants to merge 5 commits into
omacom:masterfrom
AFOliveira:codex/om-sec-01-passwordless-package-cleanup

Conversation

@AFOliveira

@AFOliveira AFOliveira commented Sep 1, 2026

Copy link
Copy Markdown

Settings owns the complete temporary sudo-grant lifecycle: publication helper, shared security library, boot cleanup and an aborting pre-transaction revocation hook. Removing only the desktop runtime preserves expiry support; upgrading or removing settings revokes the grant before those files disappear.

The hook and grant publication share one lock and a package-transition marker. Revocation failure aborts the ALPM transaction and blocks new grants until a successful retry. Scriptlets retain the legacy fallback for the first upgrade from packages without the hook; scriptlet errors are not claimed to abort that transaction.

Companion: Omarchy #9457. Current integration b787991 resolves the conflict against master b3c1ef8, preserves its 4.0.3rc1 source pin/checksum, and advances both release packages to 4.0.3rc1-3. Runtime requires the exact full version-release of its matching settings package in both channels. #239 is separate overlapping ownership work, not a required parent.

Still draft: the declared upstream source 7cc90574 predates #9457 and cannot build these settings recipes. After #9457 lands, advance both release pins and checksums together to the real upstream commit containing it, build the declared sources, and publish each matching pair together. The current pin must not be released. No fork revision or duplicate backport has been substituted for that upstream prerequisite.

Daybreak independently reviewed b787991 with source 60ac419f, verified all four x86_64 archive hashes, exclusive lifecycle ownership and exact pair dependencies, and found no new package-code blocker. Settings builds used normal dependency checks. Runtime builds used makepkg --nodeps; actual matched-pair installation in the disposable VM then checked their dependencies. Reinstall, stable/dev transfers, runtime/settings removal, aborting removal on a benign revocation error, and successful recovery all passed. The VM was restored afterward.

These builds used the explicit candidate OMARCHY_SRC override and do not validate the declared release pin. Four aarch64 payloads were also built on x86_64 and checked for architecture-specific contents/dependencies and exact lifecycle-file bytes; native ARM runtime and fresh-ISO validation remain untested.

@AFOliveira
AFOliveira force-pushed the codex/om-sec-01-passwordless-package-cleanup branch from 1545a9b to 84806c5 Compare September 7, 2026 21:46
@AFOliveira
AFOliveira changed the base branch from fix/package-owned-system-hooks to master September 7, 2026 21:51
@ErikMelton

Copy link
Copy Markdown
Member

LGTM - pending 9457

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants