Scripts for building and binary releases of syncstorage-rs for YunoHost package.
diesel-<version>are Diesel prebuilts for Bookworm, should work on Trixie as wellsyncserver-<version>are SyncServer prebuilts for Bookworm and Trixie
- Rust, preferrably installed via rustup
- Cross-rs, installable via
cargo install cross - A container engine of choice, either Docker (cross-preferred) or Podman (installable via
apt install podman)
git clone https://github.com/YunoHost-Apps/syncstorage-rs-build
cd syncstorage-rs-build
./scripts/setup.shThis will clone this repo and upstream repos of SyncStorage and Diesel
- Checkout preferred revision/tag/ref under
syncstorage-rsfor syncserver builds - Run either
./scripts/build-syncserver.sh <version> [--publish]or./scripts/build-diesel.sh <upstream_tag> [--publish]
build-diesel.sh will:
- Ensure
./dieselis cloned fromdiesel-rs/diesel - Fetch tags and checkout the provided upstream tag in detached HEAD mode
- Build Diesel CLI artifacts via cross-rs (requires docker or podman)
- Optionally publish artifacts as tag
diesel-<upstream_tag>when called with--publishandghis installed/authenticated
build-syncserver.sh will:
- Ensure
./syncstorage-rsis cloned frommozilla-services/syncstorage-rs - Fetch tags and checkout the provided upstream tag in detached HEAD mode
- Build syncserver artifacts for Debian Bookworm and Trixie with
postgresandpy_verifieronly - Force
profile.release.debug=0during builds - Optionally publish artifacts as tag
syncserver-<upstream_tag>when called with--publishandghis installed/authenticated
If all goes well you'll have a <target>-<version> directory with all the artifacts after the script is done.
Both scripts now checkout the requested upstream tag before building.
Files under docker/ are adapted from original Cross-rs files available here