- Introduced `bread-sync` module with core functionalities for syncing system state via Git. - Implemented `MachineProfile` struct for managing machine profiles, including methods for reading and writing profiles. - Added package management support with snapshot capabilities for `pacman`, `pip`, `npm`, and `cargo`. - Created comprehensive tests for sync operations, package parsing, and machine profile management. - Enhanced `udev` adapter to include vendor and product IDs for scanned devices. - Updated state engine to handle module clearing commands. - Introduced Lua integration for accessing machine information and file system operations. - Improved packaging documentation for Arch Linux and systemd service setup.
29 lines
793 B
Markdown
29 lines
793 B
Markdown
Arch packaging
|
|
==============
|
|
|
|
`PKGBUILD` builds and installs both `breadd` and `bread` from source.
|
|
|
|
## Local build
|
|
|
|
```bash
|
|
makepkg -si
|
|
```
|
|
|
|
## Before publishing to AUR
|
|
|
|
1. Tag a release on GitHub.
|
|
2. Update `pkgver` to match the tag.
|
|
3. Update `source` to the release tarball URL.
|
|
4. Run `updpkgsums` (or manually set `sha256sums`).
|
|
5. Update `url` if the repository has moved.
|
|
6. Set `depends` accurately — at minimum: `glibc`. Add `udev` and `libgit2` if not linking statically.
|
|
|
|
## Runtime dependencies
|
|
|
|
| Package | Required | Notes |
|
|
|---------|----------|-------|
|
|
| `glibc` | yes | always |
|
|
| `udev` | yes | device events |
|
|
| `dbus` | optional | UPower battery events |
|
|
| `libnotify` | optional | `bread.notify()` (uses `notify-send`) |
|
|
| `git` | optional | `bread sync` push/pull |
|