From ff7daee34ec71ea5d1b6985d77140f5788943406 Mon Sep 17 00:00:00 2001 From: Mollusk Date: Fri, 26 Jun 2026 21:30:17 -0400 Subject: [PATCH] packaging: add cargo-deb metadata for Debian/Ubuntu .deb builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a [package.metadata.deb] block so the headless default build (no `gui` feature) — the variant peerspeak spawns as a child — can be packaged with `cargo deb` from inside a Debian/Ubuntu distrobox. Ships only the pixelpass binary; runtime shared-lib deps resolved by dpkg-shlibdeps. Co-Authored-By: Claude Opus 4.8 --- Cargo.toml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 3973448..5ece8d6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,6 +6,20 @@ description = "P2P screen sharing CLI over iroh" license = "MIT OR Apache-2.0" publish = false +# Debian/Ubuntu packaging (cargo-deb). Headless default build (no `gui` feature) — +# that is exactly what peerspeak spawns as a child. Runtime shared-lib deps +# (libpipewire, libc, …) are resolved by dpkg-shlibdeps via `depends = "$auto"`. +# Build inside a Debian/Ubuntu distrobox, then `cargo deb --no-build`. +[package.metadata.deb] +maintainer = "mollusk " +section = "net" +priority = "optional" +depends = "$auto" +extended-description = "Peer-to-peer screen sharing over iroh (QUIC). Companion to peerspeak: shares a window or screen directly to a peer with no central server, driven via the CLI and its JSON event stream." +assets = [ + ["target/release/pixelpass", "usr/bin/", "755"], +] + [[bin]] name = "pixelpass" path = "src/main.rs"