--- Begin Message ---
Package: trippy
Version: 0.13.0+dfsg-1.4
There are a number of recent/upcoming rust crate updates that impact trippy.
None of these are rc right now, but they are likely to become so.
The main rust-rand was recently updated to 0.10, and a semver-suffix package
was introduced for version 0.8. However, trippy uses a non-semver dependency
in it's debian/control, so it's debian dependency now points at 0.10, while
it's Cargo dependency wants 0.8.
Right now, this doesn't cause a FTBFS because librust-rand-0.8-dev is pulled
in indirectly, but at some point as dependencies update that is likely to
stop being the case. The most sensible option seems to be for trippy to
move forward to 0.10.
There are also a number of crates staged in experimental that will affect
trippy, specifically hickory-resolver, maxminddb, ratatui and toml.
Of these, toml requires no code changes, only a dependency relaxation.
ratatui requires a code change, but I was able to do it in a backwards
compatible way.
Unfortunately, I was not able to come up with backwards-compatible
code changes for hickory-resolver or maxminddb.
I've prepared an update which deals with rand, ratatui and toml,
and tightens the dependencies on maxminddb and hickory-resolver,
so the issues there don't go unnoticed. I also extended the clean
target to clean up a file that was being left behind.
diff -Nru trippy-0.13.0+dfsg/debian/changelog
trippy-0.13.0+dfsg/debian/changelog
--- trippy-0.13.0+dfsg/debian/changelog 2026-02-18 01:52:30.000000000 +0000
+++ trippy-0.13.0+dfsg/debian/changelog 2026-04-25 15:24:31.000000000 +0000
@@ -1,3 +1,15 @@
+trippy (0.13.0+dfsg-1.5) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Relax cargo dependency on toml crate.
+ * Switch to using rand 0.10
+ * Add patch to support ratatui 0.30, while retaining support for ratatui 0.29
+ * Tighten Debian dependencies for maxminddb and hickory-resolver crates,
+ the new versions will require code changes that are not compatible
+ with the old versions.
+
+ -- Peter Michael Green <[email protected]> Sat, 25 Apr 2026 15:24:31 +0000
+
trippy (0.13.0+dfsg-1.4) unstable; urgency=medium
* Non-maintainer upload. (Closes: #1126354, #1127541)
diff -Nru trippy-0.13.0+dfsg/debian/control trippy-0.13.0+dfsg/debian/control
--- trippy-0.13.0+dfsg/debian/control 2026-02-18 01:39:10.000000000 +0000
+++ trippy-0.13.0+dfsg/debian/control 2026-04-25 15:24:31.000000000 +0000
@@ -25,20 +25,20 @@
librust-encoding-rs-io-dev,
librust-etcetera-dev,
librust-hex-literal-dev,
- librust-hickory-resolver-dev,
+ librust-hickory-resolver-0.24-dev,
librust-humantime-dev,
librust-indexmap-dev,
librust-insta-dev,
librust-ipnetwork-0.21-dev,
librust-itertools-dev,
- librust-maxminddb-dev,
+ librust-maxminddb-0.24-dev,
librust-mockall-dev,
librust-nix-dev,
librust-parking-lot-dev,
librust-paste-dev,
librust-petgraph-dev,
librust-pretty-assertions-dev,
- librust-rand-dev,
+ librust-rand-0.10-dev,
librust-ratatui-dev,
librust-serde-dev,
librust-serde-json-dev,
diff -Nru trippy-0.13.0+dfsg/debian/patches/downgrade-rand-0.8.patch
trippy-0.13.0+dfsg/debian/patches/downgrade-rand-0.8.patch
--- trippy-0.13.0+dfsg/debian/patches/downgrade-rand-0.8.patch 2026-02-18
01:38:33.000000000 +0000
+++ trippy-0.13.0+dfsg/debian/patches/downgrade-rand-0.8.patch 1970-01-01
00:00:00.000000000 +0000
@@ -1,15 +0,0 @@
-Last-Update: 2025-08-18
-Forwarded: not-needed
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -63 +63 @@
--rand = "0.9.1"
-+rand = "0.8"
---- a/crates/trippy-core/src/strategy.rs
-+++ b/crates/trippy-core/src/strategy.rs
-@@ -1570 +1570 @@
-- let mut rng = rand::rng();
-+ let mut rng = rand::thread_rng();
-@@ -1572 +1572 @@
-- for _ in 0..rng.random_range(0..max_probe_per_round) {
-+ for _ in 0..rng.gen_range(0..max_probe_per_round) {
diff -Nru trippy-0.13.0+dfsg/debian/patches/rand.patch
trippy-0.13.0+dfsg/debian/patches/rand.patch
--- trippy-0.13.0+dfsg/debian/patches/rand.patch 1970-01-01
00:00:00.000000000 +0000
+++ trippy-0.13.0+dfsg/debian/patches/rand.patch 2026-04-25
15:24:31.000000000 +0000
@@ -0,0 +1,26 @@
+Index: trippy-0.13.0+dfsg/Cargo.toml
+===================================================================
+--- trippy-0.13.0+dfsg.orig/Cargo.toml
++++ trippy-0.13.0+dfsg/Cargo.toml
+@@ -60,7 +60,7 @@ parking_lot = "0.12.3"
+ paste = "1.0.15"
+ petgraph = ">= 0.6.4"
+ pretty_assertions = "1.4"
+-rand = "0.9.1"
++rand = "0.10"
+ ratatui = ">= 0.29.0"
+ serde = { version = "1.0.201", default-features = false }
+ serde_json = { version = "1.0.117", default-features = false }
+Index: trippy-0.13.0+dfsg/crates/trippy-core/src/strategy.rs
+===================================================================
+--- trippy-0.13.0+dfsg.orig/crates/trippy-core/src/strategy.rs
++++ trippy-0.13.0+dfsg/crates/trippy-core/src/strategy.rs
+@@ -1300,7 +1300,7 @@ mod state {
+ use crate::probe::{IcmpPacketCode, IcmpPacketType};
+ use crate::types::MaxInflight;
+ use crate::TypeOfService;
+- use rand::Rng;
++ use rand::RngExt;
+ use std::net::{IpAddr, Ipv4Addr};
+ use std::time::Duration;
+
diff -Nru trippy-0.13.0+dfsg/debian/patches/ratatui.patch
trippy-0.13.0+dfsg/debian/patches/ratatui.patch
--- trippy-0.13.0+dfsg/debian/patches/ratatui.patch 1970-01-01
00:00:00.000000000 +0000
+++ trippy-0.13.0+dfsg/debian/patches/ratatui.patch 2026-04-25
15:24:31.000000000 +0000
@@ -0,0 +1,20 @@
+Index: trippy-0.13.0+dfsg/Cargo.toml
+===================================================================
+--- trippy-0.13.0+dfsg.orig/Cargo.toml
++++ trippy-0.13.0+dfsg/Cargo.toml
+@@ -64,1 +64,1 @@
+-ratatui = "0.29.0"
++ratatui = ">= 0.29.0"
+Index: trippy-0.13.0+dfsg/crates/trippy-tui/src/frontend.rs
+===================================================================
+--- trippy-0.13.0+dfsg.orig/crates/trippy-tui/src/frontend.rs
++++ trippy-0.13.0+dfsg/crates/trippy-tui/src/frontend.rs
+@@ -69,7 +69,7 @@ enum ExitAction {
+ }
+
+ #[allow(clippy::too_many_lines, clippy::cognitive_complexity)]
+-fn run_app<B: Backend>(terminal: &mut Terminal<B>, app: &mut TuiApp) ->
io::Result<ExitAction> {
++fn run_app<W: io::Write>(terminal: &mut Terminal<CrosstermBackend<W>>, app:
&mut TuiApp) -> io::Result<ExitAction> {
+ loop {
+ if app.frozen_start.is_none() {
+ app.snapshot_trace_data();
diff -Nru trippy-0.13.0+dfsg/debian/patches/relax-deps.patch
trippy-0.13.0+dfsg/debian/patches/relax-deps.patch
--- trippy-0.13.0+dfsg/debian/patches/relax-deps.patch 2026-02-18
01:39:10.000000000 +0000
+++ trippy-0.13.0+dfsg/debian/patches/relax-deps.patch 2026-04-25
15:24:31.000000000 +0000
@@ -2,8 +2,8 @@
Last-Update: 2025-08-17
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/Cargo.toml
-+++ b/Cargo.toml
+--- trippy-0.13.0+dfsg.orig/Cargo.toml
++++ trippy-0.13.0+dfsg/Cargo.toml
@@ -32,2 +32,2 @@
-anyhow = "1.0.91"
-arrayvec = { version = "0.7.6", default-features = false }
@@ -65,10 +65,10 @@
-toml = { version = "0.8.22", default-features = false }
-tracing = "0.1.41"
+tokio-util = "0.7.10"
-+toml = { version = "0.9", default-features = false, features = ["serde"] }
++toml = { version = ">= 0.9", default-features = false, features = ["serde"] }
+tracing = "0.1"
---- a/examples/toy-traceroute/Cargo.toml
-+++ b/examples/toy-traceroute/Cargo.toml
+--- trippy-0.13.0+dfsg.orig/examples/toy-traceroute/Cargo.toml
++++ trippy-0.13.0+dfsg/examples/toy-traceroute/Cargo.toml
@@ -12 +12 @@
-itertools = "0.14.0"
+itertools = ">= 0.13.0"
diff -Nru trippy-0.13.0+dfsg/debian/patches/series
trippy-0.13.0+dfsg/debian/patches/series
--- trippy-0.13.0+dfsg/debian/patches/series 2026-02-18 01:38:33.000000000
+0000
+++ trippy-0.13.0+dfsg/debian/patches/series 2026-04-25 15:24:31.000000000
+0000
@@ -1,6 +1,7 @@
disable-deps.patch
relax-deps.patch
-downgrade-rand-0.8.patch
disable-shell-completion-snapshot-tests.patch
ignore-i1386-test-precison.patch
disable-more-snapshot-tests.patch
+ratatui.patch
+rand.patch
diff -Nru trippy-0.13.0+dfsg/debian/rules trippy-0.13.0+dfsg/debian/rules
--- trippy-0.13.0+dfsg/debian/rules 2026-02-18 01:38:33.000000000 +0000
+++ trippy-0.13.0+dfsg/debian/rules 2026-04-25 15:24:31.000000000 +0000
@@ -19,5 +19,8 @@
override_dh_auto_test:
cargo test $(CARGO_BASE_ARGS)
+execute_after_dh_auto_clean:
+ rm -f debian/trip.1
+
restore-orig:
git diff --name-only | grep -v '^debian/' | xargs git restore
--- End Message ---