2 Commits

Author SHA1 Message Date
3e557665c9 Debian 12-compatible minimum openssl crates
Crate `openssl-sys = 0.9.55` seems to look for OpenSSL v1.x, which is
not available to Debian 12. Pinning it up to 0.9.64 makes it match with
OpenSSL 3.x which *is* available.

HOWEVER! Building the crate on Debian 11 works just fine. Pinning the
dependencies this way is an error as I neither use them directly, nor
have any reason to depend on this specific version.

Cargo can't know about the distro version. Maybe I can use crate
features to select different openssl-sys crates? Further work required.
2025-07-02 14:52:38 -05:00
faa5ce8549 Pin crate log to 0.4.6
The `reqwest` crate says it can accept `log` version 0.4.5, but it uses
an item (a fn, probably) that doesn't exist until 0.4.6.
2025-07-02 14:32:50 -05:00
3 changed files with 16 additions and 28 deletions

View File

@@ -9,6 +9,21 @@ reqwest = { version = "0.11.13", features = ["json", "stream", "multipart"] }
serde = { version = "1.0.152", features = ["derive"] }
tokio = { version = "1.24.2", features = ["macros", "rt-multi-thread"] }
# Grand-dependency Pins ----
# Fixes: Reqwest uses too-old version of crate `log`
log = "0.4.6"
# Debian 12 uses OpenSSL 3.x and older libssl-sys crates are angry about that
# Fixes: native lib lookup.
# Causes: missing item in crate `ffi`
openssl-sys = "0.9.64"
# Fixes: missing item in crate `ffi` (from openssl-sys)
openssl = "0.10.35"
# End Grand-dependency Pins ----
# Packages available in Debian (Sid)
# clap = "4.5.23"
# reqwest = "0.12.15"

View File

@@ -34,7 +34,7 @@ async fn main() -> Result<(), gt_tool::Error> {
let releases =
gt_tool::api::release::list_releases(&client, &args.gitea_url, &args.repo).await?;
for release in releases {
println!("{}", release);
println!("{:?}", release);
}
}
gt_tool::cli::Commands::CreateRelease {

View File

@@ -1,5 +1,3 @@
use std::fmt::Display;
use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize)]
@@ -21,31 +19,6 @@ pub struct Release {
author: Author,
}
impl Display for Release {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let body = if self.body.len() > 0 {
&self.body
} else {
&String::from("(empty body)")
};
write!(f,
"Tag: {}
Name: {}
{}
Published: {} (created: {})
Author: {} ({})
",
self.tag_name,
self.name,
body,
self.published_at,
self.created_at,
self.author.login,
self.author.email,
)
}
}
#[derive(Debug, Deserialize, Serialize)]
pub struct Author {
id: usize,