V1: atomically ingest one multi-package p5p per CI run #38
Labels
No labels
Compat/Breaking
Crazy Idea
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Status/Abandoned
Status/Blocked
Status/Need More Info
needs-info
needs-triage
ready-for-agent
ready-for-human
wayfinder:grilling
wayfinder:map
wayfinder:prototype
wayfinder:research
wayfinder:task
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Reference
OpenIndiana/ips#38
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #24
Read availability and catalog replacement — 2026-09-22
Maintainer decision: reads must remain available throughout imports and catalog rebuilds. Continue serving the previous complete catalog until the replacement is ready, then switch atomically by filesystem rename (
fs.rename), retaining the existing on-disk catalog pathname. No routine-ingestion maintenance outage.Implementation/verification obligations (not claims about current behavior): prepare replacement on the same filesystem; preserve consistency for existing readers and new readers; ensure every newly advertised manifest/payload is available before publication. Inspect actual SQLite/shard/sidecar layout and connection lifetimes: renaming one file must not be assumed to atomically replace a multi-file catalog or safely handle live WAL/SHM state. Design a consistent publication boundary that honors the stable-path rename requirement. Verify crash durability/recovery and real pkg5 requests across the switch, including failure before and after rename.
Contract
Source: maintainer grilling, 2026-09-22. Requirements only; no implementation or validation claimed.
Draft PR #45 at
ffbb578implements the atomic multi-publisher pkg5 p5p import through one repository generation pointer rename. It validates the whole batch, makes exact archive retries a no-op, rejects conflicting exact FMRIs, recovers interrupted switches, and keeps stable pkg5 catalog paths. Thirty importer tests pass. A real pkg5-produced p5p imports and lists correctly on the Mac; exact retry succeeds unchanged. Native CI, live pkg5 client, and full-scale load validation remain open.The native pkg5 client acceptance test is draft PR #51. It imports a release
.p5pand a dependency-free dummy into a scratch repository, then exercises OpenIndianapkg(1)catalog/manifest/install/verify/uninstall andpkgrecvmanifest/payload retrieval against the running depot on the throwaway release VM. Local shell syntax and 272 offline assertions pass; independent Opus review checked command syntax and p5p layout against local OpenIndiana pkg5 source. This is not yet runtime proof: the tagged illumos release CI job must execute it before closing the pkg5 compatibility gate.