Hello, I am proposing a specification update for the ALPM/Pacman lock file. The current binary-existential state (exists/not exists) is insufficient for modern multi-process environments and leads to significant state-blindness for administrators. Specification: # Feature-Request: Content-Based Lock-State Signaling (CBLSS) Author: Carsten Udo Heine <cuheine@gmail.com> Version: 20260404-1316 Abstract: The current db.lck mechanism in ALPM/Pacman is purely binary. This proposal introduces a 1-byte status register (Hex-Nibbles) and vector-based logging (New (Old)) to ensure transparency. Rationale: 1. Context Awareness: Allows admins to distinguish between critical mutations (Writing) and non-invasive tasks (Pending/Info). 2. Deterministic Forensics: The New (Old) notation (e.g., 01 (30)) documents transitions. Missing transitions reveal crashes. 3. Architectural Discipline: Forces UI wrappers to justify their state, exposing preemptive locking "overcast". Technical Specification (The "Hex-Nipple" Model): The file /var/lib/pacman/db.lck shall contain exactly 1 Byte. High Nipple (Soft/Info) : Low Nipple (Hart/Action) : Definition 0 0 doneOK: System is free. 1 0 Pending: Background update check in progress. 2 0 Information: Updates found; no active mutation. 3 0 Waiting: GUI awaiting user input (Block risk!). 0 1 Writing: CRITICAL. Database mutation in progress. 0 3 Error: Process aborted; potential inconsistency. Logging Protocol (db.lck.log): Format: TIMESTAMP | PID | PROCESS | NEW (OLD) Principle: Append-only. This proposal maintains DRY principles and POSIX integrity without adding new dependencies or daemons. I am looking forward to technical feedback. Regards, Carsten
All development discussion happens on gitlab - mailing list posts get forgotten. I stopped reading your proposal the second I spotted the switch from hex-nibble. Allan
participants (2)
-
Allan McRae
-
Carsten Heine