Bug#1136016: trippy - upcoming rust-maxminddb update

2026-05-19 Thread Peter Green

Severity 1136016 serious
thanks


I hope to update rust-maxminddb to the latest version
soon, the upstream patches were easilly backported.

Unfortunately, the patch breaks the build with the old
version, so uploading it will need to wait until the new
maxminddb is in sid.


The new version of maxminddb is now in sid.



Bug#1136016: trippy - upcoming rust-maxminddb update

2026-05-08 Thread Peter Michael Green

Package: trippy
Version: 0.13.0+dfsg-1.5

I hope to update rust-maxminddb to the latest version
soon, the upstream patches were easilly backported.

Unfortunately, the patch breaks the build with the old
version, so uploading it will need to wait until the new
maxminddb is in sid.
diff -Nru trippy-0.13.0+dfsg/debian/changelog 
trippy-0.13.0+dfsg/debian/changelog
--- trippy-0.13.0+dfsg/debian/changelog 2026-04-25 15:24:31.0 +
+++ trippy-0.13.0+dfsg/debian/changelog 2026-05-08 12:42:06.0 +
@@ -1,3 +1,10 @@
+trippy (0.13.0+dfsg-1.6) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Add patch for maxminddb 0.28.
+
+ -- Peter Michael Green   Fri, 08 May 2026 12:42:06 +
+
 trippy (0.13.0+dfsg-1.5) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -Nru trippy-0.13.0+dfsg/debian/control trippy-0.13.0+dfsg/debian/control
--- trippy-0.13.0+dfsg/debian/control   2026-04-25 15:24:31.0 +
+++ trippy-0.13.0+dfsg/debian/control   2026-05-08 12:42:06.0 +
@@ -31,7 +31,7 @@
  librust-insta-dev,
  librust-ipnetwork-0.21-dev,
  librust-itertools-dev,
- librust-maxminddb-0.24-dev,
+ librust-maxminddb-dev (>= 0.27),
  librust-mockall-dev,
  librust-nix-dev,
  librust-parking-lot-dev,
diff -Nru trippy-0.13.0+dfsg/debian/patches/maxminddb-0.26.patch 
trippy-0.13.0+dfsg/debian/patches/maxminddb-0.26.patch
--- trippy-0.13.0+dfsg/debian/patches/maxminddb-0.26.patch  1970-01-01 
00:00:00.0 +
+++ trippy-0.13.0+dfsg/debian/patches/maxminddb-0.26.patch  2026-05-08 
12:42:06.0 +
@@ -0,0 +1,58 @@
+This patch is based on the upstream commit described below, adapted for use
+in the Debian package by Peter Michael Green. 
+
+commit 1ea177adfa923b691086cfbd16f7205fab516649
+Author: FujiApple 
+Date:   Sun May 18 17:58:40 2025 +0800
+
+chore: bump `maxminddb` to 0.26.0
+
+diff --git a/Cargo.toml b/Cargo.toml
+index ad678a3..c036ab4 100644
+--- a/Cargo.toml
 b/Cargo.toml
+@@ -53,1 +53,1 @@
+-maxminddb = "0.24.0"
++maxminddb = "0.26.0"
+diff --git a/crates/trippy-tui/src/geoip.rs b/crates/trippy-tui/src/geoip.rs
+index 4b5957b..50034e0 100644
+--- a/crates/trippy-tui/src/geoip.rs
 b/crates/trippy-tui/src/geoip.rs
+@@ -289,7 +289,7 @@ impl From<(maxminddb::geoip2::City<'_>, &str)> for 
GeoIpCity {
+ const FALLBACK_LOCALE: &str = "en";
+ 
+ /// Alias for a cache of `GeoIp` data.
+-type Cache = RefCell>>;
++type Cache = RefCell>>>;
+ 
+ /// Lookup `GeoIpCity` data form an `IpAddr`.
+ #[derive(Debug)]
+@@ -326,18 +326,20 @@ impl GeoIpLookup {
+ pub fn lookup(&self, addr: IpAddr) -> 
anyhow::Result>> {
+ if let Some(reader) = &self.reader {
+ if let Some(geo) = self.cache.borrow().get(&addr) {
+-return Ok(Some(geo.clone()));
++return Ok(geo.clone());
+ }
+ let city_data = if 
reader.metadata.database_type.starts_with("ipinfo") {
+-GeoIpCity::from(reader.lookup::(addr)?)
++reader
++.lookup::(addr)?
++.map(GeoIpCity::from)
+ } else {
+-GeoIpCity::from((
+-reader.lookup::>(addr)?,
+-self.locale.as_ref(),
+-))
++reader
++.lookup::>(addr)?
++.map(|city| GeoIpCity::from((city, self.locale.as_ref(
+ };
+-let geo = self.cache.borrow_mut().insert(addr, 
Rc::new(city_data));
+-Ok(geo)
++let cached = city_data.map(Rc::new);
++self.cache.borrow_mut().insert(addr, cached.clone());
++Ok(cached)
+ } else {
+ Ok(None)
+ }
diff -Nru trippy-0.13.0+dfsg/debian/patches/maxminddb-0.27.patch 
trippy-0.13.0+dfsg/debian/patches/maxminddb-0.27.patch
--- trippy-0.13.0+dfsg/debian/patches/maxminddb-0.27.patch  1970-01-01 
00:00:00.0 +
+++ trippy-0.13.0+dfsg/debian/patches/maxminddb-0.27.patch  2026-05-08 
12:42:06.0 +
@@ -0,0 +1,138 @@
+This patch is basedon the upstream commit described below, adapted for use
+in the Debian package by Peter Michael Green.
+
+commit 2585b32308de9cd162af56326b463094423d094c
+Author: FujiApple 
+Date:   Sun Dec 7 13:05:40 2025 +0800
+
+chore: bump `maxminddb` to to `0.27.0`
+
+diff --git a/Cargo.toml b/Cargo.toml
+index 7b03855..8acf067 100644
+--- a/Cargo.toml
 b/Cargo.toml
+@@ -54,1 +54,1 @@
+-maxminddb = "0.26.0"
++maxminddb = ">= 0.27.0"
+diff --git a/crates/trippy-tui/src/geoip.rs b/crates/trippy-tui/src/geoip.rs
+index 71fb30b..a66840c 100644
+--- a/crates/trippy-tui/src/geoip.rs
 b/crates/trippy-tui/src/geoip.rs
+@@ -212,54 +212,21 @@ impl From for GeoIpCity {
+ 
+ impl From<(maxminddb::geoip2::City<'_>, &str)> for GeoIpCity {
+ fn from((value, locale): (maxminddb::geoip2::City<'_>, &str)) -> Self {
+-let city = value
+-.city
+-.as_ref()
+-