From eb2246211d2a13a66ea09664637921f7b3914b79 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 24 Oct 2026 18:56:57 +0700 Subject: [PATCH 1/2] fix(linux): name every engine in the package descriptions --- linux/build-aux/debian/control | 7 ++--- linux/build-aux/rpm/tablepro.spec | 7 ++--- linux/crates/app/src/lib.rs | 43 +++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 6 deletions(-) diff --git a/linux/build-aux/debian/control b/linux/build-aux/debian/control index dbc5b2a12f..c1fc215525 100644 --- a/linux/build-aux/debian/control +++ b/linux/build-aux/debian/control @@ -45,6 +45,7 @@ Recommends: Suggests: krb5-user, Description: database client for GNOME - TablePro connects to PostgreSQL, MySQL, SQLite, DuckDB, SQL Server and - ClickHouse. Browse tables, edit rows in place, run SQL with syntax - highlighting, and reach servers behind an SSH bastion. + TablePro connects to PostgreSQL, MySQL, SQLite, DuckDB, SQL Server, + ClickHouse, Cassandra, ScyllaDB and Redis. Browse tables, edit rows in + place, run SQL with syntax highlighting, and reach servers behind an SSH + bastion. diff --git a/linux/build-aux/rpm/tablepro.spec b/linux/build-aux/rpm/tablepro.spec index b841deffcd..f30db22c09 100644 --- a/linux/build-aux/rpm/tablepro.spec +++ b/linux/build-aux/rpm/tablepro.spec @@ -103,9 +103,10 @@ Recommends: (gnome-keyring or kf6-kwallet or keepassxc) Suggests: krb5-workstation %description -TablePro connects to PostgreSQL, MySQL, SQLite, DuckDB, SQL Server and -ClickHouse. Browse tables, edit rows in place, run SQL with syntax -highlighting, and reach servers behind an SSH bastion. +TablePro connects to PostgreSQL, MySQL, SQLite, DuckDB, SQL Server, +ClickHouse, Cassandra, ScyllaDB and Redis. Browse tables, edit rows in +place, run SQL with syntax highlighting, and reach servers behind an SSH +bastion. %prep %autosetup -n %{name}-%{version_no_tilde} -a1 diff --git a/linux/crates/app/src/lib.rs b/linux/crates/app/src/lib.rs index 11343b7632..bea13ebb9a 100644 --- a/linux/crates/app/src/lib.rs +++ b/linux/crates/app/src/lib.rs @@ -125,6 +125,49 @@ mod tests { } } + /// Software centres, apt, dnf and the man page describe the app by + /// the engines it connects to. + #[test] + fn package_descriptions_name_every_engine() { + fn section(path: &str, start: &str, end: Option<&str>) -> String { + let root = std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("../.."); + let text = std::fs::read_to_string(root.join(path)).unwrap_or_else(|error| panic!("{path}: {error}")); + let Some((_, rest)) = text.split_once(start) else { + panic!("{path} has no {start}"); + }; + let words = match end { + Some(end) => match rest.split_once(end) { + Some((words, _)) => words, + None => panic!("{path} has no {end} after {start}"), + }, + None => rest, + }; + words.split_whitespace().collect::>().join(" ") + } + + let desktop = "data/app.tablepro.TablePro.desktop.in.in"; + let metainfo = "data/app.tablepro.TablePro.metainfo.xml.in.in"; + let control = "build-aux/debian/control"; + let spec = "build-aux/rpm/tablepro.spec"; + let descriptions = [ + ("desktop Comment", section(desktop, "\nComment=", Some("\n"))), + ("desktop Keywords", section(desktop, "\nKeywords=", Some("\n"))), + ("metainfo", section(metainfo, "", Some(""))), + ("man page", section("data/tablepro.1", ".SH DESCRIPTION", Some(".SH "))), + // The binary package's stanza ends the file. + ("debian/control", section(control, "\nDescription:", None)), + ("rpm spec", section(spec, "\n%description", Some("\n%prep"))), + ]; + + for driver in build_registry().iter() { + for engine in driver.display_name().split(" / ") { + for (place, text) in &descriptions { + assert!(text.contains(engine), "{place} does not name {engine}: {text}"); + } + } + } + } + #[test] fn resources_contain_style_css() { register_test_resources(); From cd2e658579bc4be61a99e199b14bbfb3291358d7 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Sat, 24 Oct 2026 18:57:19 +0700 Subject: [PATCH 2/2] fix(linux): name MongoDB in the package descriptions --- linux/build-aux/debian/control | 6 +++--- linux/build-aux/rpm/tablepro.spec | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/linux/build-aux/debian/control b/linux/build-aux/debian/control index c1fc215525..74d0eafa15 100644 --- a/linux/build-aux/debian/control +++ b/linux/build-aux/debian/control @@ -46,6 +46,6 @@ Suggests: krb5-user, Description: database client for GNOME TablePro connects to PostgreSQL, MySQL, SQLite, DuckDB, SQL Server, - ClickHouse, Cassandra, ScyllaDB and Redis. Browse tables, edit rows in - place, run SQL with syntax highlighting, and reach servers behind an SSH - bastion. + ClickHouse, Cassandra, ScyllaDB, Redis and MongoDB. Browse tables, edit + rows in place, run SQL with syntax highlighting, and reach servers behind + an SSH bastion. diff --git a/linux/build-aux/rpm/tablepro.spec b/linux/build-aux/rpm/tablepro.spec index f30db22c09..bd4eef4a13 100644 --- a/linux/build-aux/rpm/tablepro.spec +++ b/linux/build-aux/rpm/tablepro.spec @@ -104,9 +104,9 @@ Suggests: krb5-workstation %description TablePro connects to PostgreSQL, MySQL, SQLite, DuckDB, SQL Server, -ClickHouse, Cassandra, ScyllaDB and Redis. Browse tables, edit rows in -place, run SQL with syntax highlighting, and reach servers behind an SSH -bastion. +ClickHouse, Cassandra, ScyllaDB, Redis and MongoDB. Browse tables, edit +rows in place, run SQL with syntax highlighting, and reach servers behind +an SSH bastion. %prep %autosetup -n %{name}-%{version_no_tilde} -a1