Allow well-formed bread.command events on the emit bus
Docs already said any module or app could publish bread.command.<app>.<verb>, but command is reserved so both unsourced bread-emit and sourced App emit rejected the whole namespace. Keep command unclaimable as an app id; accept bread.command.<known-app>.<verb> (and let an app command another known app). Also ship bread-emit and bread-module-host, and give udev enumerate the same classification fields as a live add so boot-time devices are not all unknown.
This commit is contained in:
parent
a6973360bd
commit
d3517d1433
52 changed files with 26405 additions and 6811 deletions
21
README.md
21
README.md
|
|
@ -42,10 +42,12 @@ return M
|
|||
## Architecture
|
||||
|
||||
```
|
||||
breadd/ Rust daemon — event pipeline, state engine, IPC, adapter supervision
|
||||
bread-cli/ CLI frontend — talks to breadd over a Unix socket
|
||||
bread-shared/ Shared types — RawEvent, BreadEvent, AdapterSource
|
||||
packaging/ Arch PKGBUILD and systemd user service
|
||||
breadd/ Rust daemon — event pipeline, state engine, IPC, adapter supervision
|
||||
bread-cli/ CLI frontend — talks to breadd over a Unix socket
|
||||
bread-emit/ Tiny fire-and-forget IPC emitter (hooks / command bus)
|
||||
bread-module-host/ Out-of-process sandboxed Lua module runtime
|
||||
bread-shared/ Shared types — RawEvent, BreadEvent, AdapterSource
|
||||
packaging/ systemd user service unit (bakery installs this)
|
||||
```
|
||||
|
||||
The daemon is structured in four layers:
|
||||
|
|
@ -80,7 +82,7 @@ git clone https://git.breadway.dev/Breadway/bread.git
|
|||
cd bread
|
||||
```
|
||||
|
||||
Run the install script — it builds, symlinks `breadd` and `bread` into `~/.local/bin` (override with `BIN_DIR=…`), installs the systemd user service, and starts the daemon:
|
||||
Run the install script — it builds, symlinks `breadd`, `bread`, `bread-emit`, and `bread-module-host` into `~/.local/bin` (override with `BIN_DIR=…`), installs the systemd user service, and starts the daemon:
|
||||
|
||||
```bash
|
||||
bash scripts/install.sh
|
||||
|
|
@ -92,13 +94,16 @@ Or step by step (system-wide install):
|
|||
cargo build --release
|
||||
sudo install -Dm755 target/release/breadd /usr/bin/breadd
|
||||
sudo install -Dm755 target/release/bread /usr/bin/bread
|
||||
sudo install -Dm755 target/release/bread-emit /usr/bin/bread-emit
|
||||
sudo install -Dm755 target/release/bread-module-host /usr/bin/bread-module-host
|
||||
```
|
||||
|
||||
### Arch Linux (PKGBUILD)
|
||||
### Via bakery
|
||||
|
||||
Prebuilt binaries ship through `bakery` (the bread-ecosystem package manager), not a PKGBUILD / pacman package:
|
||||
|
||||
```bash
|
||||
cd packaging/arch
|
||||
makepkg -si
|
||||
bakery install bread
|
||||
```
|
||||
|
||||
### systemd user service
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue