- modules_mgmt.rs: reject module names containing path separators, `..`,
or absolute paths before joining onto modules_dir (install_from_local,
remove_module, read_module_manifest); adds canonicalized containment
check as defense in depth. Manifest-supplied names and CLI args were
previously joined unsanitized, allowing path traversal on install/remove.
- breadd/src/lua/mod.rs: bread.exec now runs via `sh -c` instead of
`sh -lc`; no documented reason was found for login-shell semantics.
- Unify the two independently hand-written glob matchers (subscription
dispatch in breadd/src/core/subscriptions.rs vs. the CLI --filter path
in breadd/src/ipc/mod.rs) into one implementation in
bread-shared/src/glob.rs, used by both call sites.
- Remove the dead bread-sync/ tree (already excluded from the workspace
and fully unreferenced) and its stale PKGBUILD deps (libgit2, git
optdepend) and packaging docs mention.
- Correct the version-number transposition bug ("6.2.0" instead of
"0.6.2"/"0.6.6") across bread-shared, breadd, and bread-cli Cargo.toml,
and fix PKGBUILD's stale pkgver, so Cargo.toml/doctor/PKGBUILD all agree
with the latest git tag (v0.6.6).
|
||
|---|---|---|
| .. | ||
| arch | ||
| systemd | ||
| README.md | ||
Packaging
This directory contains distribution packaging for Bread.
packaging/
├── arch/
│ └── PKGBUILD ← Arch Linux package build script
└── systemd/
└── breadd.service ← systemd user service unit
Arch Linux
cd packaging/arch
makepkg -si
The PKGBUILD builds both breadd and bread from source and installs them to /usr/bin. It also installs the systemd user service unit to /usr/lib/systemd/user/.
Before publishing to the AUR, update pkgver, source, and sha256sums to point at a tagged release tarball.
systemd user service
The service unit starts breadd as a user service after the graphical session is available.
# Install and enable manually (if not using the PKGBUILD)
mkdir -p ~/.config/systemd/user
cp systemd/breadd.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now breadd
# Check status
systemctl --user status breadd
journalctl --user -u breadd -f
The service sets RUST_LOG=info by default. To increase verbosity, override it in a drop-in:
# ~/.config/systemd/user/breadd.service.d/debug.conf
[Service]
Environment=RUST_LOG=debug