Skip to content

Latest commit

 

History

History
27 lines (19 loc) · 1.89 KB

File metadata and controls

27 lines (19 loc) · 1.89 KB

✅ Gap Analysis for libsystemd-mock-v5.0 (current state)

Accurate Current Status (from direct file scan)

libsystemd-mock.c (8083 lines, latest commit):

  • Contains the full symbol catalog imported from Arch's current libsystemd.so (systemd 260.x era).
  • Total symbols declared/provided: 873 (complete ABI surface for the targeted systemd version).
  • Every symbol has at least a minimal stub (linker-safe implementation: success-by-default, fake pointers, no-ops, static single-user responses, or appropriate error codes).

Revised Gap Analysis (Pragmatic Depth)

Tier Symbols Depth Status Details
Tier 1 (Critical desktop) 156 Very High Excellent sd_notify*, bus lifecycle, basic sd_event, credentials, replies, slots — solid safe implementations.
Tier 2 (Integration) 138 High Good Device/bus config, monitors — mostly functional categorized stubs + dbus-bridge passthrough.
Tier 3 (Extended) 325 Medium Acceptable JSON/varlink client, extended messages — lightweight but sufficient stubs.
Tier 4 (Out of scope) ~254 Minimal Complete (by design) Journald server, varlink server, deep internals — placeholder stubs only.

Overall: 100% ABI coverage with pragmatic, safety-first implementations tailored to the single-user Sway/OpenRC use case. The old low coverage numbers from the v4.3 gap analysis are obsolete.

Expected Compatibility

  • Strong: Sway/Hyprland, PipeWire, Electron/Chromium apps, most GTK/Qt apps, Flatpak portals, Steam/Proton.
  • Partial: Some apps with deeper or very recent D-Bus/cgroup expectations.
  • Not supported (intentional): Full GNOME/KDE, heavy user systemd units, journald-heavy software.

The mock is now a mature compatibility layer for its scoped purpose. The content matches modern systemd 260.x symbols.