From c39ab081d9d0116d6d82b0315b1551957f1183ce Mon Sep 17 00:00:00 2001 From: Mollusk Date: Fri, 26 Jun 2026 23:10:08 -0400 Subject: [PATCH] packaging: pull GStreamer capture stack into .deb runtime deps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pixelpass invokes the GStreamer tools and pactl as subprocesses, not as linked libraries, so dpkg-shlibdeps (`depends = "$auto"`) never sees them. On a fresh Ubuntu host that means `deps::check_host_binaries` bails before the host emits its ticket — peerspeak then reports the generic "pixelpass host exited before emitting a ticket" (first 2-human field hit, 2026-06-26). List the runtime stack explicitly so `apt install ./pixelpass.deb` pulls in gstreamer1.0-{tools,plugins-base,plugins-good,plugins-bad,plugins-ugly,libav, pipewire,pulseaudio}, pulseaudio-utils and x11-utils. Recommends mpv. Co-Authored-By: Claude Opus 4.8 --- Cargo.toml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 5ece8d6..50f5637 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,14 @@ publish = false maintainer = "mollusk " section = "net" priority = "optional" -depends = "$auto" +# $auto covers linked shared libs (dpkg-shlibdeps). The GStreamer capture stack +# and pactl are invoked as *subprocesses* (gst-launch-1.0 / gst-inspect-1.0 / +# pactl), so shlibdeps can't see them — list them explicitly or a fresh Ubuntu +# host bails at `deps::check_host_binaries` before emitting its ticket. Covers +# both backends: pipewiresrc (Wayland), ximagesrc (X11, in plugins-good), the +# VAAPI + software H.264 encoders, the AAC/TS mux tail, and the PulseAudio src. +depends = "$auto, gstreamer1.0-tools, gstreamer1.0-plugins-base, gstreamer1.0-plugins-good, gstreamer1.0-plugins-bad, gstreamer1.0-plugins-ugly, gstreamer1.0-libav, gstreamer1.0-pipewire, gstreamer1.0-pulseaudio, pulseaudio-utils, x11-utils" +recommends = "mpv" 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"],