227715a464
- ente-systemd1-compat: org.freedesktop.systemd1.Manager. Cada Ente vivo del fractal aparece como `<label>.service`. ListUnits/GetUnit/ GetUnitByPID consultan al bus interno (BusRequest::ListEntes). Start/ Stop/Restart son stubs que loguen — Cards ya están en el grafo, no se inician/paran on-demand. Reload/ListUnitFiles/ListJobs vacíos. Properties: Version, Architecture, Features, Environment. - ente-notify-compat: listener en /run/systemd/notify para sd_notify. Decodifica KEY=value lines (READY/STATUS/MAINPID/WATCHDOG/STOPPING) y log estructurado. Permisos 0666 para que cualquier proceso escriba. - ente-soma inyecta NOTIFY_SOCKET=/run/systemd/notify en cada Ente encarnado (junto a ENTE_BUS_SOCK + ENTE_ID). - ente-binfmt-compat: lee /usr/lib/binfmt.d, /etc/binfmt.d, /run/binfmt.d en orden. Cada línea no-comment se escribe a /proc/sys/fs/binfmt_misc/ register. EEXIST silencioso (handler ya registrado por boot anterior). OneShot pattern. - ente-timer-compat: scheduler cron 5-field UTC (min hour dom mon dow). Soporta `*`, `N`, `*/N` por field. Lee /etc/ente/timers.json. Tick alineado al próximo minuto exacto, evalúa todos los timers cada 60s. Decompose epoch via Howard Hinnant Civil from days. fire() loguea por ahora — spawn real requiere SpawnRequest via bus. 3 shims añadidos: 0xa6 systemd1, 0xa7 notify, 0xa8 timer. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
58 lines
1.5 KiB
TOML
58 lines
1.5 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"crates/ente-card",
|
|
"crates/ente-bus",
|
|
"crates/ente-cas",
|
|
"crates/ente-kernel",
|
|
"crates/ente-soma",
|
|
"crates/ente-wasm",
|
|
"crates/ente-snapshot",
|
|
"crates/ente-brain",
|
|
"crates/ente-zero",
|
|
"crates/ente-echo",
|
|
"crates/ente-logind-compat",
|
|
"crates/ente-hostnamed-compat",
|
|
"crates/ente-timedated-compat",
|
|
"crates/ente-localed-compat",
|
|
"crates/ente-journald-compat",
|
|
"crates/ente-resolved-compat",
|
|
"crates/ente-polkit-compat",
|
|
"crates/ente-machined-compat",
|
|
"crates/ente-policy-provider",
|
|
"crates/ente-tmpfiles-compat",
|
|
"crates/ente-systemd1-compat",
|
|
"crates/ente-notify-compat",
|
|
"crates/ente-binfmt-compat",
|
|
"crates/ente-timer-compat",
|
|
]
|
|
|
|
[workspace.package]
|
|
edition = "2021"
|
|
license = "MIT OR Apache-2.0"
|
|
publish = false
|
|
|
|
[workspace.dependencies]
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
ulid = { version = "1", features = ["serde"] }
|
|
tokio = { version = "1", features = ["rt", "macros", "io-util", "net", "time", "sync", "fs", "process", "signal"] }
|
|
nix = { version = "0.29", features = ["signal", "process", "sched", "mount", "fs", "socket", "net", "user"] }
|
|
libc = "0.2"
|
|
anyhow = "1"
|
|
thiserror = "1"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
postcard = { version = "1", features = ["use-std"] }
|
|
wasmi = "0.40"
|
|
wat = "1"
|
|
sha2 = "0.10"
|
|
bincode = "1"
|
|
base64 = "0.22"
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
codegen-units = 1
|
|
strip = true
|
|
panic = "abort"
|