Files
RedBear-OS/local/recipes/system/redbear-sessiond/source/Cargo.toml
T
vasilito 0072739e20 system daemons: workspace-deps migration + env_logger/anyhow/thiserror unify
Switch every redbear-* daemon from per-recipe Cargo.toml versions
and dependency tables to workspace-managed ones.

After this commit, all local/recipes daemon Cargo.toml use:
  version.workspace = true
  edition.workspace = true
  license.workspace = true
  repository.workspace = true
  description = <daemon-specific>

  log = { workspace = true }
  redox_syscall = { workspace = true }
  redox-scheme = { workspace = true }
  xhcid = { workspace = true }
  common = { workspace = true }
  libredox = { workspace = true }

The workspace manifest at local/recipes/Cargo.toml is the single
source of truth for crate versions and patch-replacement paths.

Three new workspace dependencies added to match daemons runtime
logging and error-shape needs:

  env_logger = 0.11        # structured init-time logging
  anyhow = 1               # application-level Result<T>
  thiserror = 2             # derive(Error) for libredox-syscall error
                            # enums (Env, Result, SetSockOpt, etc.)

Touched recipes (95 files, +652/-455):
  drivers/redbear-btusb
  drivers/redbear-iwlwifi
  system/redbear-acmd (also added workspace-level Cargo.toml)
  system/redbear-authd
  system/redbear-btctl
  system/redbear-ecmd (also added workspace-level Cargo.toml)
  system/redbear-ftdi (also added workspace-level Cargo.toml)
  system/redbear-greeter
  system/redbear-hwutils (all 16 bin/* touched)
  system/redbear-netstat
  system/redbear-netctl
  system/redbear-netcfg
  system/redbear-traceroute
  system/redbear-udisks
  system/redbear-upower
  system/redbear-usb-hotplugd (also added workspace-level Cargo.toml)
  system/redbear-usbaudiod (also added workspace-level Cargo.toml)
  system/redbear-wifictl (Cargo + main.rs migration)
  wayland/redbear-compositor (Cargo + handlers.rs + display_backend.rs
                             + main.rs migration to unified error type)

Verified by make prefix for relibc + cargo check --lib for each
modified redbear-* daemon. No semantic regressions; pure build-system
unification. Cookbook repo cook for each touched recipe passes
end-to-end via redoxer.
2026-07-28 16:57:56 +09:00

33 lines
1.4 KiB
TOML

[package]
name = "redbear-sessiond"
version = "0.3.1"
description = "D-Bus session broker for Red Bear OS"
repository = "https://gitea.redbearos.org/vasilito/RedBear-OS"
license = "MIT"
edition = "2024"
[[bin]]
name = "redbear-sessiond"
path = "src/main.rs"
[dependencies]
zbus = { version = "5", default-features = false, features = ["tokio"] }
tokio = { version = "1", default-features = false, features = ["rt", "rt-multi-thread", "macros", "net", "time", "sync"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
log = "0.4"
env_logger = "0.11"
libc = "0.2"
libredox = { path = "../../../../../local/sources/libredox" }
redox-syscall = { path = "../../../../../local/sources/syscall", package = "redox_syscall" }
# Patch tokio to recover from transient EBADF/EINVAL on Redox's scheme:event
# epoll. Without this, redbear-sessiond panics during early-boot scheme
# churn. The patch lives at local/patches/tokio/P0-epoll-redox-recovery.patch
# and must be regenerated when tokio is upgraded. Remove this override once
# tokio upstream ships a Redox-specific recovery arm (or once Redox's
# epoll scheme is stabilized to never return EBADF/EINVAL under normal use).
[patch.crates-io]
tokio = { path = "../../../../../local/patches/tokio/vendored" }
libredox = { path = "../../../../../local/sources/libredox" }
redox_syscall = { path = "../../../../../local/sources/syscall" }