The Linux half of the packaging trial, run on this machine and in Debian, Fedora and Arch containers, and the recipes it produced (docs/packaging.md holds the table and what it found): - mise.toml pins cargo-packager 0.11.8 and cargo-generate-rpm 0.21.1, now that `just package-linux` calls them. cargo-packager-updater is a library, not a tool, so it is not pinned (update.rs does the checking with minisign-verify, which is what the updater uses). - deploy/packaging/: packager.toml (.deb, AppImage, the pacman tarball and its PKGBUILD), the rpm table in crates/ledger-cli/Cargo.toml, the AUR's own PKGBUILD (repacks the release tarball), build-linux.sh, repo-indexes.sh (the apt and dnf indexes, unsigned until the signing step), local-release.sh (a throwaway-keyed feed to try `update`), test-linux-packages.sh (linux_packages_install_and_upgrade: install 0.1.0, open books as an ordinary user, upgrade to 0.1.1, check the host restarted onto the new file, the books' last journal line unchanged and `update` refuses; passes on Debian trixie, Fedora and Arch). A package marks itself package-managed with share/wanderbooks/install-method. - The icon is a placeholder square (the AppImage cannot be built without one). - .github/workflows/release.yml: on a version tag, build on ubuntu-24.04 (the oldest glibc the packages claim: a program linked on this machine needs GLIBC_2.43 and does not start on Debian 13), attach the packages to the release, and add them to the apt and dnf repositories on gh-pages. No signing and no macOS or Windows job yet. - The release profile strips symbols. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HS8WZziDnyxunC23MUxrLp
37 lines
1.4 KiB
TOML
37 lines
1.4 KiB
TOML
# cargo-packager's description of the Linux bundles (P11a step 3; D-25).
|
|
# `just package-linux` builds the release program and runs
|
|
# cargo packager --config deploy/packaging/packager.toml
|
|
# from the repository root. The .rpm is cargo-generate-rpm's, from the
|
|
# [package.metadata.generate-rpm] table of crates/ledger-cli/Cargo.toml.
|
|
name = "wanderbooks"
|
|
product-name = "Wanderbooks"
|
|
version = "0.1.0"
|
|
identifier = "ai.wanderbooks.app"
|
|
description = "Double-entry bookkeeping your agent keeps and you can read."
|
|
long-description = "One program: the viewer, the books server, and the bridge that lets Claude Code or Codex keep the books."
|
|
homepage = "https://wanderbooks.ai"
|
|
authors = ["Stephen Waits"]
|
|
license-file = "LICENSE-MIT"
|
|
category = "Finance"
|
|
binaries-dir = "target/release"
|
|
out-dir = "target/packages"
|
|
icons = ["deploy/packaging/icons/512x512.png"]
|
|
formats = ["deb", "appimage", "pacman"]
|
|
binaries = [{ path = "wanderbooks", main = true }]
|
|
|
|
[deb]
|
|
section = "utils"
|
|
# A deb marks itself package-managed: `wanderbooks update` refuses on it
|
|
# and says to use apt (plan 3.9).
|
|
desktop-template = "deploy/packaging/wanderbooks.desktop"
|
|
depends = ["libc6", "libgcc-s1"]
|
|
|
|
[deb.files]
|
|
"deploy/packaging/install-method-deb" = "usr/share/wanderbooks/install-method"
|
|
|
|
[pacman]
|
|
depends = ["gcc-libs", "glibc"]
|
|
|
|
[pacman.files]
|
|
"deploy/packaging/install-method-aur" = "usr/share/wanderbooks/install-method"
|