bread/packaging
Breadway 01a95ecbbf
Some checks failed
Mirror to GitHub / mirror (push) Successful in 11s
Build and publish package / package (push) Failing after 3m25s
Disable LTO in PKGBUILD to fix vendored Lua static link
makepkg's default -flto=auto made mlua's vendored liblua5.4.a contain GCC
LTO bitcode that the Rust (lld) link couldn't read, leaving all lua_*
symbols undefined. options=(!lto) produces a clean static link.
Verified building in a clean archlinux container.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 16:52:54 +08:00
..
arch Disable LTO in PKGBUILD to fix vendored Lua static link 2026-06-13 16:52:54 +08:00
systemd Enhance installation process, update service paths, and improve device classification 2026-05-11 18:39:39 +08:00
README.md feat: add bread-sync module for snapshot and restore functionality 2026-05-12 00:20:45 +08:00

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