From 4e6803dca5b9564e817c1dc7677fad74a6e8ce06 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 8 Sep 2024 16:31:15 +0000 Subject: [PATCH 1/3] Add stub janitor-publish --- Cargo.lock | 13 ++ publish/Cargo.toml | 2 +- publish/src/bin/janitor-publish.rs | 238 +++++++++++++++++++++++++++++ publish/src/lib.rs | 54 +++---- publish/src/rate_limiter.rs | 25 ++- publish/src/web.rs | 22 +++ src/vcs.rs | 4 + 7 files changed, 312 insertions(+), 46 deletions(-) create mode 100644 publish/src/bin/janitor-publish.rs diff --git a/Cargo.lock b/Cargo.lock index cea605d26..a6b0ee92f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4745,6 +4745,7 @@ dependencies = [ "async-trait", "bytes", "combine", + "futures", "futures-util", "itoa", "num-bigint", @@ -4756,6 +4757,7 @@ dependencies = [ "sha1_smol", "socket2 0.5.7", "tokio", + "tokio-retry", "tokio-util", "url", ] @@ -6172,6 +6174,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-retry" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" +dependencies = [ + "pin-project", + "rand", + "tokio", +] + [[package]] name = "tokio-rustls" version = "0.26.0" diff --git a/publish/Cargo.toml b/publish/Cargo.toml index 482d112db..2b6dbf5f1 100644 --- a/publish/Cargo.toml +++ b/publish/Cargo.toml @@ -18,7 +18,7 @@ janitor = { version = "0.0.0", path = ".." } log.workspace = true minijinja = { version = "2", features = ["loader"] } pyo3.workspace = true -redis = { workspace = true, features = ["tokio-comp", "json"] } +redis = { workspace = true, features = ["tokio-comp", "json", "connection-manager"] } rslock = { workspace = true, default-features = false, features = ["tokio-comp"] } reqwest.workspace = true serde.workspace = true diff --git a/publish/src/bin/janitor-publish.rs b/publish/src/bin/janitor-publish.rs new file mode 100644 index 000000000..f72c7234e --- /dev/null +++ b/publish/src/bin/janitor-publish.rs @@ -0,0 +1,238 @@ +use clap::Parser; +use janitor_publish::rate_limiter::{ + FixedRateLimiter, NonRateLimiter, RateLimiter, SlowStartRateLimiter, +}; +use std::collections::HashMap; +use std::net::SocketAddr; +use std::path::PathBuf; +use std::sync::{Arc, Mutex}; +use url::Url; + +#[derive(Parser)] +struct Args { + /// Maximum number of open merge proposals per bucket. + #[clap(long)] + max_mps_per_bucket: Option, + + /// Prometheus push gateway to export to. + #[clap(long)] + prometheus: Option, + + /// Just do one pass over the queue, don't run as a daemon. + #[clap(long, conflicts_with = "no_auto_publish")] + once: bool, + + /// Listen address + #[clap(long, default_value = "0.0.0.0")] + listen_address: std::net::IpAddr, + + /// Listen port + #[clap(long, default_value = "9912")] + port: u16, + + /// Seconds to wait in between publishing pending proposals + #[clap(long, default_value = "7200")] + interval: i64, + + /// Do not create merge proposals automatically. + #[clap(long, conflicts_with = "once")] + no_auto_publish: bool, + + /// Path to load configuration from. + #[clap(long, default_value = "janitor.conf")] + config: std::path::PathBuf, + + /// Use slow start rate limiter. + #[clap(long)] + slowstart: bool, + + /// Only publish chnages that were reviewed. + #[clap(long)] + reviewed_only: bool, + + /// Limit number of pushes per cycle. + #[clap(long)] + push_limit: Option, + + /// Require a binary diff when publishing merge requests. + #[clap(long)] + require_binary_diff: bool, + + /// Maximum number of merge proposals to update per cycle. + #[clap(long)] + modify_mp_limit: Option, + + /// External URL + #[clap(long)] + external_url: Option, + + /// Print debugging info + #[clap(long)] + debug: bool, + + /// Differ URL. + #[clap(long, default_value = "http://localhost:9920/")] + differ_url: Url, + + #[clap(flatten)] + logging: janitor::logging::LoggingArgs, + + /// Path to merge proposal templates + #[clap(long)] + template_env_path: Option, +} + +#[tokio::main] +async fn main() -> Result<(), i32> { + let args = Args::parse(); + + args.logging.init(); + + let config = Box::new(janitor::config::read_file(&args.config).map_err(|e| { + log::error!("Failed to read config: {}", e); + 1 + })?); + + let config: &'static _ = Box::leak(config); + + let bucket_rate_limiter: std::sync::Arc>> = + std::sync::Arc::new(std::sync::Mutex::new(if args.slowstart { + Box::new(SlowStartRateLimiter::new(args.max_mps_per_bucket)) + } else if let Some(max_mps_per_bucket) = args.max_mps_per_bucket { + Box::new(FixedRateLimiter::new(max_mps_per_bucket)) + } else { + Box::new(NonRateLimiter) + })); + + let forge_rate_limiter = Arc::new(Mutex::new(HashMap::new())); + + let vcs_managers = Box::new(janitor::vcs::get_vcs_managers_from_config(config)); + let vcs_managers: &'static _ = Box::leak(vcs_managers); + let db = janitor::state::create_pool(config).await.map_err(|e| { + log::error!("Failed to create database pool: {}", e); + 1 + })?; + + let redis_async_connection = if let Some(redis_location) = config.redis_location.as_ref() { + let client = redis::Client::open(redis_location.to_string()).map_err(|e| { + log::error!("Failed to create redis client: {}", e); + 1 + })?; + + Some( + redis::aio::ConnectionManager::new(client) + .await + .map_err(|e| { + log::error!("Failed to create redis async connection: {}", e); + 1 + })?, + ) + } else { + None + }; + + let lock_manager = config + .redis_location + .as_deref() + .map(|redis_location| rslock::LockManager::new(vec![redis_location])); + + let publish_worker = Arc::new(Mutex::new( + janitor_publish::PublishWorker::new( + args.template_env_path, + args.external_url, + args.differ_url, + redis_async_connection.clone(), + lock_manager, + ) + .await, + )); + + if args.once { + janitor_publish::publish_pending_ready( + db.clone(), + redis_async_connection.clone(), + config, + publish_worker.clone(), + bucket_rate_limiter.clone(), + vcs_managers, + args.push_limit, + args.require_binary_diff, + ) + .await + .map_err(|e| { + log::error!("Failed to publish pending proposals: {}", e); + 1 + })?; + + if let Some(prometheus) = args.prometheus.as_ref() { + janitor::prometheus::push_to_gateway( + prometheus, + "janitor.publish", + maplit::hashmap! {}, + prometheus::default_registry(), + ) + .await + .unwrap(); + } + } else { + tokio::spawn(janitor_publish::process_queue_loop( + db.clone(), + redis_async_connection.clone(), + config, + publish_worker.clone(), + bucket_rate_limiter.clone(), + forge_rate_limiter.clone(), + vcs_managers, + chrono::Duration::seconds(args.interval), + !args.no_auto_publish, + args.push_limit, + args.modify_mp_limit, + args.require_binary_diff, + )); + + tokio::spawn(janitor_publish::refresh_bucket_mp_counts( + db.clone(), + bucket_rate_limiter.clone(), + )); + + tokio::spawn(janitor_publish::listen_to_runner( + db.clone(), + redis_async_connection.clone(), + config, + publish_worker.clone(), + bucket_rate_limiter.clone(), + vcs_managers, + args.require_binary_diff, + )); + + let app = janitor_publish::web::app( + publish_worker.clone(), + bucket_rate_limiter.clone(), + forge_rate_limiter.clone(), + vcs_managers, + db.clone(), + args.require_binary_diff, + args.modify_mp_limit, + args.push_limit, + redis_async_connection.clone(), + config, + ); + + // run it + let addr = SocketAddr::new(args.listen_address, args.port); + log::info!("listening on {}", addr); + + let listener = tokio::net::TcpListener::bind(addr).await.map_err(|e| { + log::error!("Failed to bind listener: {}", e); + 1 + })?; + axum::serve(listener, app.into_make_service()) + .await + .map_err(|e| { + log::error!("Server error: {}", e); + 1 + })?; + } + + Ok(()) +} diff --git a/publish/src/lib.rs b/publish/src/lib.rs index 9f1baa6db..300851335 100644 --- a/publish/src/lib.rs +++ b/publish/src/lib.rs @@ -4,11 +4,12 @@ use breezyshim::RevisionId; use chrono::{DateTime, Utc}; use janitor::config::Campaign; use janitor::publish::Mode; -use janitor::vcs::VcsManager; +use janitor::vcs::{VcsManager, VcsType}; use reqwest::header::HeaderMap; use serde::ser::SerializeStruct; use std::collections::HashMap; use std::path::PathBuf; +use std::sync::{Arc, Mutex}; pub mod publish_one; pub mod rate_limiter; @@ -218,7 +219,7 @@ pub struct PublishWorker { pub template_env_path: Option, pub external_url: Option, pub differ_url: url::Url, - pub redis: Option, + pub redis: Option, pub lock_manager: Option, } @@ -270,7 +271,7 @@ async fn run_worker_process( .stderr(std::process::Stdio::piped()) .spawn()?; - use tokio::io::{AsyncReadExt, AsyncWriteExt}; + use tokio::io::AsyncWriteExt; p.stdin .as_mut() .unwrap() @@ -311,18 +312,13 @@ async fn run_worker_process( } impl PublishWorker { - async fn new( + pub async fn new( template_env_path: Option, external_url: Option, differ_url: url::Url, - redis: Option, + redis: Option, lock_manager: Option, ) -> Self { - let redis = if let Some(redis) = redis { - Some(redis.get_multiplexed_async_connection().await.unwrap()) - } else { - None - }; Self { template_env_path, external_url, @@ -569,13 +565,13 @@ fn get_merged_by_user_url(url: &url::Url, user: &str) -> Result } pub async fn process_queue_loop( - db: &sqlx::PgPool, - redis: &redis::aio::MultiplexedConnection, + db: sqlx::PgPool, + redis: Option, config: &janitor::config::Config, - publish_worker: &PublishWorker, - bucket_rate_limiter: &mut dyn rate_limiter::RateLimiter, - forge_rate_limiter: &mut HashMap>, - vcs_managers: Vec>, + publish_worker: Arc>, + bucket_rate_limiter: Arc>>, + forge_rate_limiter: Arc>>>, + vcs_managers: &HashMap>, interval: chrono::Duration, auto_publish: bool, push_limit: Option, @@ -586,32 +582,32 @@ pub async fn process_queue_loop( } pub async fn publish_pending_ready( - db: &sqlx::PgPool, - redis: &redis::aio::MultiplexedConnection, + db: sqlx::PgPool, + redis: Option, config: &janitor::config::Config, - publish_worker: &PublishWorker, - bucket_rate_limiter: &mut dyn rate_limiter::RateLimiter, - vcs_managers: Vec>, + publish_worker: Arc>, + bucket_rate_limiter: Arc>>, + vcs_managers: &HashMap>, push_limit: Option, require_binary_diff: bool, -) { +) -> Result<(), PublishError> { todo!(); } pub async fn refresh_bucket_mp_counts( - db: &sqlx::PgPool, - bucket_rate_limiter: &mut dyn rate_limiter::RateLimiter, + db: sqlx::PgPool, + bucket_rate_limiter: Arc>>, ) { todo!(); } pub async fn listen_to_runner( - db: &sqlx::PgPool, - redis: &redis::aio::MultiplexedConnection, + db: sqlx::PgPool, + redis: Option, config: &janitor::config::Config, - publish_worker: &PublishWorker, - bucket_rate_limiter: &mut dyn rate_limiter::RateLimiter, - vcs_managers: Vec>, + publish_worker: Arc>, + bucket_rate_limiter: Arc>>, + vcs_managers: &HashMap>, require_binary_diff: bool, ) { todo!(); diff --git a/publish/src/rate_limiter.rs b/publish/src/rate_limiter.rs index 84f12d465..07a2f5ff6 100644 --- a/publish/src/rate_limiter.rs +++ b/publish/src/rate_limiter.rs @@ -39,12 +39,12 @@ impl RateLimiter for NonRateLimiter { } pub struct FixedRateLimiter { - max_mps_per_bucket: Option, + max_mps_per_bucket: usize, open_mps_per_bucket: Option>, } impl FixedRateLimiter { - pub fn new(max_mps_per_bucket: Option) -> Self { + pub fn new(max_mps_per_bucket: usize) -> Self { FixedRateLimiter { max_mps_per_bucket, open_mps_per_bucket: None, @@ -61,16 +61,11 @@ impl RateLimiter for FixedRateLimiter { } fn check_allowed(&self, bucket: &str) -> bool { - if let Some(max_mps_per_bucket) = self.max_mps_per_bucket { - if let Some(open_mps_per_bucket) = &self.open_mps_per_bucket { - if let Some(current) = open_mps_per_bucket.get(bucket) { - if *current > max_mps_per_bucket { - return false; - } + if let Some(open_mps_per_bucket) = &self.open_mps_per_bucket { + if let Some(current) = open_mps_per_bucket.get(bucket) { + if *current > self.max_mps_per_bucket { + return false; } - } else { - // Be conservative - return false; } } else { // Be conservative @@ -89,13 +84,11 @@ impl RateLimiter for FixedRateLimiter { } fn get_stats(&self) -> Option { - if let Some(open_mps_per_bucket) = &self.open_mps_per_bucket { - Some(RateLimitStats { + self.open_mps_per_bucket + .as_ref() + .map(|open_mps_per_bucket| RateLimitStats { per_bucket: open_mps_per_bucket.clone(), }) - } else { - None - } } } diff --git a/publish/src/web.rs b/publish/src/web.rs index e69de29bb..90217a80e 100644 --- a/publish/src/web.rs +++ b/publish/src/web.rs @@ -0,0 +1,22 @@ +use crate::rate_limiter::RateLimiter; +use axum::Router; +use breezyshim::forge::Forge; +use janitor::vcs::{VcsManager, VcsType}; +use sqlx::PgPool; +use std::collections::HashMap; +use std::sync::{Arc, Mutex}; + +pub fn app( + worker: Arc>, + bucket_rate_limiter: Arc>>, + forge_rate_limiter: Arc>>>, + vcs_managers: &HashMap>, + db: PgPool, + require_binary_diff: bool, + modify_mp_limit: Option, + push_limit: Option, + redis: Option, + config: &janitor::config::Config, +) -> Router { + Router::new() +} diff --git a/src/vcs.rs b/src/vcs.rs index 0d4be76dc..bbedd22f8 100644 --- a/src/vcs.rs +++ b/src/vcs.rs @@ -323,6 +323,7 @@ pub trait VcsManager: Send + Sync { ) -> Vec; } +#[derive(Clone, Debug)] pub struct LocalGitVcsManager { base_path: PathBuf, } @@ -465,6 +466,7 @@ impl VcsManager for LocalGitVcsManager { } } +#[derive(Clone, Debug)] pub struct LocalBzrVcsManager { base_path: PathBuf, } @@ -591,6 +593,7 @@ impl VcsManager for LocalBzrVcsManager { } } +#[derive(Clone, Debug)] pub struct RemoteGitVcsManager { base_url: Url, } @@ -703,6 +706,7 @@ impl VcsManager for RemoteGitVcsManager { } } +#[derive(Clone, Debug)] pub struct RemoteBzrVcsManager { base_url: Url, } From b6fd89df8d2ebc6f867df34119ef15f45b4f23d1 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 8 Sep 2024 16:51:37 +0000 Subject: [PATCH 2/3] Move some stuff around --- src/api/worker.rs | 2 +- worker/src/debian/build.rs | 19 +++++++++++++++++-- worker/src/debian/mod.rs | 16 ---------------- 3 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/api/worker.rs b/src/api/worker.rs index 2c6eed2ee..43dc81687 100644 --- a/src/api/worker.rs +++ b/src/api/worker.rs @@ -91,7 +91,7 @@ impl Metadata { pub fn update(&mut self, failure: &WorkerFailure) { self.code = Some(failure.code.clone()); self.description = Some(failure.description.clone()); - self.failure_details = failure.details.clone(); + self.failure_details.clone_from(&failure.details); self.stage = Some(failure.stage.join("/")); self.transient = failure.transient; } diff --git a/worker/src/debian/build.rs b/worker/src/debian/build.rs index c21132752..b129d8c5a 100644 --- a/worker/src/debian/build.rs +++ b/worker/src/debian/build.rs @@ -1,11 +1,26 @@ -use crate::debian::BuildFailure; -use janitor::api::worker::DebianBuildConfig; use breezyshim::tree::{Tree, WorkingTree}; +use janitor::api::worker::DebianBuildConfig; use ognibuild::debian::build::{BuildOnceError, BuildOnceResult}; use ognibuild::debian::context::Phase; use ognibuild::debian::fix_build::IterateBuildError; use ognibuild::session::Session; +#[derive(Debug)] +pub struct BuildFailure { + pub code: String, + pub description: String, + pub details: Option, + pub stage: Vec, +} + +impl std::fmt::Display for BuildFailure { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + write!(f, "{}: {}", self.code, self.description) + } +} + +impl std::error::Error for BuildFailure {} + pub(crate) fn build( local_tree: &WorkingTree, subpath: &std::path::Path, diff --git a/worker/src/debian/mod.rs b/worker/src/debian/mod.rs index 749e0f205..6b97908c0 100644 --- a/worker/src/debian/mod.rs +++ b/worker/src/debian/mod.rs @@ -227,22 +227,6 @@ pub fn debian_make_changes( } } -#[derive(Debug)] -pub struct BuildFailure { - pub code: String, - pub description: String, - pub details: Option, - pub stage: Vec, -} - -impl std::fmt::Display for BuildFailure { - fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - write!(f, "{}: {}", self.code, self.description) - } -} - -impl std::error::Error for BuildFailure {} - pub fn build_from_config( local_tree: &WorkingTree, subpath: &std::path::Path, From 7f4e33932bbc7633c1ed7980aa07f94d6ac3a11f Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Fri, 13 Sep 2024 22:03:32 +0000 Subject: [PATCH 3/3] Update deps --- Cargo.lock | 837 ++++++++++------------------------------------------- Cargo.toml | 2 +- 2 files changed, 161 insertions(+), 678 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a6b0ee92f..c940c5b0a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,19 +4,13 @@ version = 3 [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" dependencies = [ "gimli", ] -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - [[package]] name = "adler2" version = "2.0.0" @@ -65,15 +59,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - [[package]] name = "anstream" version = "0.6.15" @@ -125,9 +110,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "4e1496f8fb1fbf272686b8d37f523dab3e4a7443300055e74cdaa449f3114356" [[package]] name = "arbitrary" @@ -144,12 +129,6 @@ version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - [[package]] name = "ascii-canvas" version = "3.0.0" @@ -243,9 +222,9 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7" +checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" dependencies = [ "async-task", "concurrent-queue", @@ -302,7 +281,7 @@ dependencies = [ "futures-lite 2.3.0", "parking", "polling 3.7.3", - "rustix 0.38.36", + "rustix 0.38.37", "slab", "tracing", "windows-sys 0.59.0", @@ -330,19 +309,19 @@ dependencies = [ [[package]] name = "async-std" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" +checksum = "c634475f29802fde2b8f0b505b1bd00dfe4df7d4a000f0b36f7671197d5c3615" dependencies = [ "async-channel 1.9.0", "async-global-executor", - "async-io 1.13.0", - "async-lock 2.8.0", + "async-io 2.3.4", + "async-lock 3.4.0", "crossbeam-utils", "futures-channel", "futures-core", "futures-io", - "futures-lite 1.13.0", + "futures-lite 2.3.0", "gloo-timers", "kv-log-macro", "log", @@ -496,17 +475,17 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", - "miniz_oxide 0.7.4", + "miniz_oxide", "object", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -566,15 +545,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bitmaps" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" -dependencies = [ - "typenum", -] - [[package]] name = "block-buffer" version = "0.10.4" @@ -599,9 +569,9 @@ dependencies = [ [[package]] name = "breezyshim" -version = "0.1.187" +version = "0.1.195" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2e38219b1781c1dd77373b29a15556876f0085c6a697a6db2977f1ae19c3e5a" +checksum = "63a672377d698c74615a28181fd0bb2c16a7067e1ba15b16553d44fd670d6dc4" dependencies = [ "chrono", "ctor", @@ -635,12 +605,12 @@ dependencies = [ [[package]] name = "buildlog-consultant" -version = "0.0.41" +version = "0.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76e2a5908c786ff3dd6fd48cd0da3772c8d853f30d9f8cfb513cc5483841673" +checksum = "a104b8ab552d5412ca2d2f13c204950b3f6dc7bf389b3e77f6b6b0d41851766c" dependencies = [ "chrono", - "clap 4.5.17", + "clap", "debian-control", "debversion", "env_logger 0.11.5", @@ -679,12 +649,6 @@ version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" -[[package]] -name = "bytesize" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" - [[package]] name = "bzip2" version = "0.4.4" @@ -706,99 +670,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "cargo" -version = "0.63.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d092a7c3e3aaa66469b2233b58c0bf330419dad9c423165f2b9cf1c57dc9f2e" -dependencies = [ - "anyhow", - "atty", - "bytesize", - "cargo-platform", - "cargo-util", - "clap 3.2.25", - "crates-io", - "crossbeam-utils", - "curl", - "curl-sys", - "env_logger 0.9.3", - "filetime", - "flate2", - "fwdansi", - "git2", - "git2-curl", - "glob", - "hex", - "home", - "humantime 2.1.0", - "ignore", - "im-rc", - "indexmap 1.9.3", - "itertools", - "jobserver", - "lazy_static", - "lazycell", - "libc", - "libgit2-sys", - "log", - "memchr", - "num_cpus", - "opener", - "os_info", - "pathdiff", - "percent-encoding", - "rustc-workspace-hack", - "rustfix", - "semver", - "serde", - "serde_ignored", - "serde_json", - "shell-escape", - "strip-ansi-escapes", - "tar", - "tempfile", - "termcolor", - "toml_edit 0.14.4", - "unicode-width", - "unicode-xid", - "url", - "walkdir", - "winapi", -] - -[[package]] -name = "cargo-platform" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-util" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc680c90073156fb5280c0c0127b779eef1f6292e41f7d6621acba3041e81c7d" -dependencies = [ - "anyhow", - "core-foundation", - "filetime", - "hex", - "ignore", - "jobserver", - "libc", - "miow", - "same-file", - "sha2", - "shell-escape", - "tempfile", - "tracing", - "walkdir", - "windows-sys 0.52.0", -] - [[package]] name = "castaway" version = "0.1.2" @@ -807,12 +678,10 @@ checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6" [[package]] name = "cc" -version = "1.1.16" +version = "1.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9d013ecb737093c0e86b151a7b837993cf9ec6c502946cfb44bedc392421e0b" +checksum = "b62ac837cdb5cb22e10a256099b4fc502b1dfe560cb282963a974d7abd80e476" dependencies = [ - "jobserver", - "libc", "shlex", ] @@ -881,25 +750,10 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8eebd66744a15ded14960ab4ccdbfb51ad3b81f51f3f04a80adac98c985396c9" dependencies = [ - "hashbrown 0.14.5", + "hashbrown", "stacker", ] -[[package]] -name = "clap" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" -dependencies = [ - "atty", - "bitflags 1.3.2", - "clap_lex 0.2.4", - "indexmap 1.9.3", - "strsim 0.10.0", - "termcolor", - "textwrap", -] - [[package]] name = "clap" version = "4.5.17" @@ -918,9 +772,8 @@ checksum = "8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73" dependencies = [ "anstream", "anstyle", - "clap_lex 0.7.2", - "strsim 0.11.1", - "terminal_size", + "clap_lex", + "strsim", ] [[package]] @@ -935,15 +788,6 @@ dependencies = [ "syn 2.0.77", ] -[[package]] -name = "clap_lex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -dependencies = [ - "os_str_bytes", -] - [[package]] name = "clap_lex" version = "0.7.2" @@ -1072,27 +916,13 @@ checksum = "7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636" [[package]] name = "cpufeatures" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" dependencies = [ "libc", ] -[[package]] -name = "crates-io" -version = "0.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4a87459133b2e708195eaab34be55039bc30e0d120658bd40794bb00b6328d" -dependencies = [ - "anyhow", - "curl", - "percent-encoding", - "serde", - "serde_json", - "url", -] - [[package]] name = "crc" version = "3.2.1" @@ -1224,9 +1054,9 @@ dependencies = [ [[package]] name = "curl-sys" -version = "0.4.74+curl-8.9.0" +version = "0.4.75+curl-8.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8af10b986114528fcdc4b63b6f5f021b7057618411046a4de2ba0f0149a097bf" +checksum = "2a4fd752d337342e4314717c0d9b6586b059a120c80029ebe4d49b11fec7875e" dependencies = [ "cc", "libc", @@ -1244,12 +1074,24 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +[[package]] +name = "deb822-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "748a085d8df55ab7d27495f8a2873db6faea5c30d789dfe420b7debcbc1eff04" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "deb822-lossless" -version = "0.1.23" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "286f48b96d8b0b1430db71c92b8a641f5edf0d926d44f51bf2159aabcf526a2a" +checksum = "34b71c4e186289d7e61ef9479fc225268bc6e1f23fecbc95a190fbe561ad3f7e" dependencies = [ + "deb822-derive", "pyo3", "regex", "rowan", @@ -1272,74 +1114,11 @@ dependencies = [ "xmltree", ] -[[package]] -name = "debcargo" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33de5c25ee2509db4150fd4e9bb76a5ae7d28adca9aea7c68138548a0227d30b" -dependencies = [ - "ansi_term", - "anyhow", - "cargo", - "chrono", - "clap 4.5.17", - "env_logger 0.9.3", - "filetime", - "flate2", - "git2", - "glob", - "itertools", - "log", - "regex", - "semver", - "serde", - "serde_derive", - "tar", - "tempfile", - "textwrap", - "toml 0.5.11", - "walkdir", -] - [[package]] name = "debian-analyzer" -version = "0.158.11" +version = "0.158.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b8b2849c3ba8cf97d9a00b85d6ad4cf4142a2d7fd33af291bcf540c8469169b" -dependencies = [ - "breezyshim", - "chrono", - "configparser 3.1.0", - "deb822-lossless", - "debian-changelog", - "debian-control", - "debian-copyright", - "debversion", - "dep3", - "difflib", - "distro-info", - "lazy-regex", - "lazy_static", - "log", - "makefile-lossless", - "maplit", - "merge3", - "nix", - "patchkit", - "pyo3", - "reqwest", - "semver", - "serde", - "serde_json", - "tempfile", - "toml_edit 0.22.20", - "url", -] - -[[package]] -name = "debian-analyzer" -version = "0.158.11" -source = "git+https://salsa.debian.org/jelmer/lintian-brush#e3ea04e68eefdd1e93706824928acabf7c60910a" +checksum = "3bb5dc8ee3e7379c5cb63c64e281dc9ab2a4d9c3e54cdd3624671a6fc8e41a84" dependencies = [ "breezyshim", "chrono", @@ -1366,15 +1145,15 @@ dependencies = [ "serde", "serde_json", "tempfile", - "toml_edit 0.22.20", + "toml_edit", "url", ] [[package]] name = "debian-changelog" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80742dc11d7b49697b1e9e1f895c692bb157c9abcf1b1958e4183c1fc94e4402" +checksum = "b616910c0602f11746ba04c1b7af7e7d54c7f05c2b84ce56ce7e33ca1b5627d7" dependencies = [ "chrono", "debversion", @@ -1387,9 +1166,9 @@ dependencies = [ [[package]] name = "debian-control" -version = "0.1.28" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b0f3cc13d70706e83b8ee939e3e9af3dabbf867be8051cb1b0e19eccc91ab1" +checksum = "2fdbea0903818eef501a0f2a5640a23003ceca0cee5265befdb3cef0734d4092" dependencies = [ "chrono", "deb822-lossless", @@ -1402,9 +1181,9 @@ dependencies = [ [[package]] name = "debian-copyright" -version = "0.1.13" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "932841dfa0330c99ba781a7e57643e308dd95db04b96486d8171c827f1713304" +checksum = "5d86ef35777337105c390afbd4b9d130be764eecc06ffd16c38d4d7c3223d5df" dependencies = [ "deb822-lossless", "debversion", @@ -1438,12 +1217,13 @@ dependencies = [ [[package]] name = "dep3" -version = "0.1.13" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a755dbddee2d3a2af806ad7a305bda8630891ac4b2edbe354b0243c2ef867ec3" +checksum = "f71ca10e836fa6a3cd2c642b40456ca75b033884838e8c57840fbf1bb8bb324e" dependencies = [ "chrono", "deb822-lossless", + "url", ] [[package]] @@ -1827,8 +1607,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" dependencies = [ "crc32fast", - "libz-sys", - "miniz_oxide 0.8.0", + "miniz_oxide", ] [[package]] @@ -2034,16 +1813,6 @@ dependencies = [ "slab", ] -[[package]] -name = "fwdansi" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08c1f5787fe85505d1f7777268db5103d80a7a374d2316a7ce262e57baf8f208" -dependencies = [ - "memchr", - "termcolor", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -2060,7 +1829,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc3655aa6818d65bc620d6911f05aa7b6aeb596291e1e9f79e52df85583d1e30" dependencies = [ - "rustix 0.38.36", + "rustix 0.38.37", "windows-targets 0.52.6", ] @@ -2088,36 +1857,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" - -[[package]] -name = "git2" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0155506aab710a86160ddb504a480d2964d7ab5b9e62419be69e0032bc5931c" -dependencies = [ - "bitflags 1.3.2", - "libc", - "libgit2-sys", - "log", - "openssl-probe", - "openssl-sys", - "url", -] - -[[package]] -name = "git2-curl" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee51709364c341fbb6fe2a385a290fb9196753bdde2fc45447d27cd31b11b13" -dependencies = [ - "curl", - "git2", - "log", - "url", -] +checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" [[package]] name = "gix-actor" @@ -2342,17 +2084,11 @@ dependencies = [ "thiserror", ] -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - [[package]] name = "globset" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" +checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" dependencies = [ "aho-corasick", "bstr", @@ -2374,9 +2110,9 @@ dependencies = [ [[package]] name = "gloo-timers" -version = "0.2.6" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" dependencies = [ "futures-channel", "futures-core", @@ -2471,19 +2207,13 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.5.0", + "indexmap", "slab", "tokio", "tokio-util", "tracing", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.14.5" @@ -2500,7 +2230,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" dependencies = [ - "hashbrown 0.14.5", + "hashbrown", ] [[package]] @@ -2579,13 +2309,13 @@ dependencies = [ [[package]] name = "html5ever" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ff6858c1f7e2a470c5403091866fa95b36fe0dbac5d771f932c15e5ff1ee501" +checksum = "2e15626aaf9c351bc696217cbe29cb9b5e86c43f8a46b5e2f5c6c5cf7cb904ce" dependencies = [ "log", "mac", - "markup5ever 0.13.0", + "markup5ever 0.14.0", "proc-macro2", "quote", "syn 2.0.77", @@ -2728,9 +2458,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" +checksum = "da62f120a8a37763efb0cf8fdf264b884c7b8b9ac8660b900c8661030c00e6ba" dependencies = [ "bytes", "futures-channel", @@ -2781,9 +2511,9 @@ dependencies = [ [[package]] name = "ignore" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" +checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" dependencies = [ "crossbeam-deque", "globset", @@ -2795,30 +2525,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "im-rc" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe" -dependencies = [ - "bitmaps", - "rand_core", - "rand_xoshiro", - "sized-chunks", - "typenum", - "version_check", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - [[package]] name = "indexmap" version = "2.5.0" @@ -2826,7 +2532,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown", "serde", ] @@ -2893,9 +2599,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" [[package]] name = "is-terminal" @@ -2964,7 +2670,7 @@ dependencies = [ "async-trait", "breezyshim", "chrono", - "clap 4.5.17", + "clap", "debian-control", "debversion", "env_logger 0.11.5", @@ -3001,7 +2707,7 @@ dependencies = [ name = "janitor-differ" version = "0.0.0" dependencies = [ - "clap 4.5.17", + "clap", "env_logger 0.11.5", "janitor", "maplit", @@ -3012,7 +2718,7 @@ name = "janitor-mail-filter" version = "0.0.0" dependencies = [ "async-std", - "clap 4.5.17", + "clap", "isahc", "log", "mailparse", @@ -3028,7 +2734,7 @@ dependencies = [ "axum", "breezyshim", "chrono", - "clap 4.5.17", + "clap", "debian-changelog", "janitor", "log", @@ -3082,8 +2788,8 @@ dependencies = [ "backoff", "breezyshim", "chrono", - "clap 4.5.17", - "debian-analyzer 0.158.11 (git+https://salsa.debian.org/jelmer/lintian-brush)", + "clap", + "debian-analyzer", "debian-changelog", "debversion", "gethostname", @@ -3108,15 +2814,15 @@ dependencies = [ "test-log", "tokio", "tokio-util", - "tower 0.5.0", + "tower 0.5.1", "url", ] [[package]] name = "jiff" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "437651126da47900d4d70255ab15f5c69510ca4e0d88c9f01b5b8d41a45c3a9b" +checksum = "8a45489186a6123c128fdf6016183fcfab7113e1820eb813127e036e287233fb" dependencies = [ "jiff-tzdb-platform", "windows-sys 0.59.0", @@ -3124,28 +2830,19 @@ dependencies = [ [[package]] name = "jiff-tzdb" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05fac328b3df1c0f18a3c2ab6cb7e06e4e549f366017d796e3e66b6d6889abe6" +checksum = "91335e575850c5c4c673b9bd467b0e025f164ca59d0564f69d0c2ee0ffad4653" [[package]] name = "jiff-tzdb-platform" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8da387d5feaf355954c2c122c194d6df9c57d865125a67984bb453db5336940" +checksum = "9835f0060a626fe59f160437bc725491a6af23133ea906500027d1bd2f8f4329" dependencies = [ "jiff-tzdb", ] -[[package]] -name = "jobserver" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" -dependencies = [ - "libc", -] - [[package]] name = "js-sys" version = "0.3.70" @@ -3190,15 +2887,6 @@ dependencies = [ "libc", ] -[[package]] -name = "kstring" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "558bf9508a558512042d3095138b1f7b8fe90c5467d94f9f1da28b3731c5dbd1" -dependencies = [ - "static_assertions", -] - [[package]] name = "kv-log-macro" version = "1.0.7" @@ -3271,32 +2959,12 @@ dependencies = [ "spin", ] -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "libc" version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" -[[package]] -name = "libgit2-sys" -version = "0.13.5+1.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e5ea06c26926f1002dd553fded6cfcdc9784c1f60feeb58368b4d9b07b6dba" -dependencies = [ - "cc", - "libc", - "libssh2-sys", - "libz-sys", - "openssl-sys", - "pkg-config", -] - [[package]] name = "libm" version = "0.2.8" @@ -3335,20 +3003,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "libssh2-sys" -version = "0.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b094a36eb4b8b8c8a7b4b8ae43b2944502be3e59cd87687595cf6b0a71b3f4ca" -dependencies = [ - "cc", - "libc", - "libz-sys", - "openssl-sys", - "pkg-config", - "vcpkg", -] - [[package]] name = "libz-sys" version = "1.1.20" @@ -3469,9 +3123,9 @@ dependencies = [ [[package]] name = "markup5ever" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d581ff8be69d08a2efa23a959d81aa22b739073f749f067348bd4f4ba4b69195" +checksum = "82c88c6129bd24319e62a0359cb6b958fa7e8be6e19bb1663bc396b90883aca5" dependencies = [ "log", "phf 0.11.2", @@ -3526,9 +3180,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" dependencies = [ "libc", ] @@ -3554,7 +3208,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4b277bc3c7e2bc163abc6c0069f53715b52dc34442c0e807cc8758c7113524f" dependencies = [ - "clap 4.5.17", + "clap", "difflib", ] @@ -3591,15 +3245,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -[[package]] -name = "miniz_oxide" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -dependencies = [ - "adler", -] - [[package]] name = "miniz_oxide" version = "0.8.0" @@ -3633,15 +3278,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "miow" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "359f76430b20a79f9e20e115b3428614e654f04fab314482fc0fda0ebd3c6044" -dependencies = [ - "windows-sys 0.48.0", -] - [[package]] name = "native-tls" version = "0.2.12" @@ -3779,16 +3415,6 @@ dependencies = [ "libm", ] -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi 0.3.9", - "libc", -] - [[package]] name = "num_enum" version = "0.7.3" @@ -3822,14 +3448,15 @@ dependencies = [ [[package]] name = "ognibuild" version = "0.0.24" -source = "git+https://github.com/jelmer/ognibuild.git#7b15f0dca077571dd843f43d51012c90f124cfe4" +source = "git+https://github.com/jelmer/ognibuild.git#a4c44cd46628b93b495c44f525b6d31e351a121a" dependencies = [ + "axum", "breezyshim", "buildlog-consultant", "chrono", - "clap 4.5.17", + "clap", "deb822-lossless", - "debian-analyzer 0.158.11 (git+https://salsa.debian.org/jelmer/lintian-brush)", + "debian-analyzer", "debian-changelog", "debian-control", "debversion", @@ -3865,7 +3492,7 @@ dependencies = [ "tempfile", "tokio", "toml 0.8.19", - "toml_edit 0.22.20", + "toml_edit", "upstream-ontologist", "url", "whoami", @@ -3874,9 +3501,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "33ea5043e58958ee56f3e15a90aee535795cd7dfd319846288d93c5b57d85cbe" [[package]] name = "opam-file-rs" @@ -3889,16 +3516,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "opener" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "293c15678e37254c15bd2f092314abb4e51d7fdde05c2021279c12631b54f005" -dependencies = [ - "bstr", - "winapi", -] - [[package]] name = "openssl" version = "0.10.66" @@ -3950,26 +3567,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" dependencies = [ "dlv-list", - "hashbrown 0.14.5", -] - -[[package]] -name = "os_info" -version = "3.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae99c7fa6dd38c7cafe1ec085e804f8f555a2f8659b0dbe03f1f9963a9b51092" -dependencies = [ - "log", - "serde", - "windows-sys 0.52.0", + "hashbrown", ] -[[package]] -name = "os_str_bytes" -version = "6.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" - [[package]] name = "overload" version = "0.1.1" @@ -3978,9 +3578,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "parking" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" @@ -4033,12 +3633,6 @@ dependencies = [ "regex", ] -[[package]] -name = "pathdiff" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" - [[package]] name = "pem" version = "3.0.4" @@ -4095,9 +3689,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.11" +version = "2.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "9c73c26c01b8c87956cea613c907c9d6ecffd8d18a2a5908e5de0adfaa185cea" dependencies = [ "memchr", "thiserror", @@ -4106,9 +3700,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.11" +version = "2.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" +checksum = "664d22978e2815783adbdd2c588b455b1bd625299ce36b2a99881ac9627e6d8d" dependencies = [ "pest", "pest_generator", @@ -4116,9 +3710,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.11" +version = "2.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" +checksum = "a2d5487022d5d33f4c30d91c22afa240ce2a644e87fe08caad974d4eab6badbe" dependencies = [ "pest", "pest_meta", @@ -4129,9 +3723,9 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.7.11" +version = "2.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" +checksum = "0091754bbd0ea592c4deb3a122ce8ecbb0753b738aa82bc055fcc2eccc8d8174" dependencies = [ "once_cell", "pest", @@ -4145,7 +3739,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.5.0", + "indexmap", ] [[package]] @@ -4320,7 +3914,7 @@ dependencies = [ "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.36", + "rustix 0.38.37", "tracing", "windows-sys 0.59.0", ] @@ -4368,7 +3962,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit 0.22.20", + "toml_edit", ] [[package]] @@ -4450,7 +4044,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b0e9b447d099ae2c4993c0cbb03c7a9d6c937b17f2d56cfc0b1550e6fcfdb76" dependencies = [ "anyhow", - "indexmap 2.5.0", + "indexmap", "log", "protobuf 3.5.1", "protobuf-support", @@ -4622,7 +4216,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef7061023bcb58a0fc4a4bbe9819c13b0dca7c2abc14da14f5ecc1532ab3a36a" dependencies = [ - "indexmap 2.5.0", + "indexmap", "pep440_rs", "pep508_rs", "serde", @@ -4667,9 +4261,9 @@ checksum = "640c9bd8497b02465aeef5375144c26062e0dcd5939dfcbb0f5db76cb8c17c73" [[package]] name = "r-description" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da429c97fc7433833b8970127c543b944a91c25978311b66a0c210a86c041290" +checksum = "4888e49a665b862defabc553c5beb9658346b4c1c9fc2c95f1e1eae645fc066f" dependencies = [ "deb822-lossless", "url", @@ -4705,15 +4299,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_xoshiro" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" -dependencies = [ - "rand_core", -] - [[package]] name = "redis" version = "0.24.0" @@ -4764,9 +4349,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853" dependencies = [ "bitflags 2.6.0", ] @@ -4924,7 +4509,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a542b0253fa46e632d27a1dc5cf7b930de4df8659dc6e720b647fc72147ae3d" dependencies = [ "countme", - "hashbrown 0.14.5", + "hashbrown", "rustc-hash", "text-size", ] @@ -5018,24 +4603,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" -[[package]] -name = "rustc-workspace-hack" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc71d2faa173b74b232dedc235e3ee1696581bb132fc116fa3626d6151a1a8fb" - -[[package]] -name = "rustfix" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd2853d9e26988467753bd9912c3a126f642d05d229a4b53f5752ee36c56481" -dependencies = [ - "anyhow", - "log", - "serde", - "serde_json", -] - [[package]] name = "rustix" version = "0.37.27" @@ -5052,9 +4619,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.36" +version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f55e80d50763938498dd5ebb18647174e0c76dc38c5505294bb224624f30f36" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ "bitflags 2.6.0", "errno", @@ -5065,9 +4632,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.12" +version = "0.23.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" dependencies = [ "once_cell", "rustls-pki-types", @@ -5094,9 +4661,9 @@ checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" [[package]] name = "rustls-webpki" -version = "0.102.7" +version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84678086bd54edf2b415183ed7a94d0efb049f1b646a33e22a36f3794be6ae56" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ "ring", "rustls-pki-types", @@ -5126,20 +4693,20 @@ dependencies = [ [[package]] name = "scc" -version = "2.1.16" +version = "2.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeb7ac86243095b70a7920639507b71d51a63390d1ba26c4f60a552fbb914a37" +checksum = "0c947adb109a8afce5fc9c7bf951f87f146e9147b3a6a58413105628fb1d1e66" dependencies = [ "sdd", ] [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5150,9 +4717,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sdd" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0495e4577c672de8254beb68d01a9b62d0e8a13c099edecdbedccce3223cd29f" +checksum = "60a7b59a5d9b0099720b417b6325d91a52cbf5b3dcb5041d864be53eefa58abc" [[package]] name = "security-framework" @@ -5205,9 +4772,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.209" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" dependencies = [ "serde_derive", ] @@ -5226,24 +4793,15 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.209" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", "syn 2.0.77", ] -[[package]] -name = "serde_ignored" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8e319a36d1b52126a0d608f24e93b2d81297091818cd70625fcf50a15d84ddf" -dependencies = [ - "serde", -] - [[package]] name = "serde_json" version = "1.0.128" @@ -5293,7 +4851,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.5.0", + "indexmap", "itoa", "ryu", "serde", @@ -5362,12 +4920,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "shell-escape" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" - [[package]] name = "shlex" version = "1.3.0" @@ -5401,7 +4953,7 @@ checksum = "886ee7792126f4a9f05502a450e2659d6cc1a42b7dbb53b27fbfff0d1b26e82e" dependencies = [ "breezyshim", "chrono", - "debian-analyzer 0.158.11 (registry+https://github.com/rust-lang/crates.io-index)", + "debian-analyzer", "debian-changelog", "debian-control", "debversion", @@ -5443,16 +4995,6 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" -[[package]] -name = "sized-chunks" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" -dependencies = [ - "bitmaps", - "typenum", -] - [[package]] name = "slab" version = "0.4.9" @@ -5539,9 +5081,9 @@ dependencies = [ [[package]] name = "sqlformat" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f895e3734318cc55f1fe66258926c9b910c124d47520339efecbb6c59cec7c1f" +checksum = "7bba3a93db0cc4f7bdece8bb09e77e2e785c20bfebf79eb8340ed80708048790" dependencies = [ "nom", "unicode_categories", @@ -5581,10 +5123,10 @@ dependencies = [ "futures-intrusive", "futures-io", "futures-util", - "hashbrown 0.14.5", + "hashbrown", "hashlink", "hex", - "indexmap 2.5.0", + "indexmap", "log", "memchr", "native-tls", @@ -5821,21 +5363,6 @@ dependencies = [ "unicode-properties", ] -[[package]] -name = "strip-ansi-escapes" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "011cbb39cf7c1f62871aea3cc46e5817b0937b49e9447370c93cacbe93a766d8" -dependencies = [ - "vte", -] - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - [[package]] name = "strsim" version = "0.11.1" @@ -5944,7 +5471,7 @@ dependencies = [ "cfg-if", "fastrand 2.1.1", "once_cell", - "rustix 0.38.36", + "rustix 0.38.37", "windows-sys 0.59.0", ] @@ -6001,16 +5528,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "terminal_size" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" -dependencies = [ - "rustix 0.38.36", - "windows-sys 0.48.0", -] - [[package]] name = "test-log" version = "0.2.16" @@ -6238,7 +5755,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.20", + "toml_edit", ] [[package]] @@ -6250,26 +5767,13 @@ dependencies = [ "serde", ] -[[package]] -name = "toml_edit" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5376256e44f2443f8896ac012507c19a012df0fe8758b55246ae51a2279db51f" -dependencies = [ - "combine", - "indexmap 1.9.3", - "itertools", - "kstring", - "serde", -] - [[package]] name = "toml_edit" version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ - "indexmap 2.5.0", + "indexmap", "serde", "serde_spanned", "toml_datetime", @@ -6294,9 +5798,9 @@ dependencies = [ [[package]] name = "tower" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36b837f86b25d7c0d7988f00a54e74739be6477f2aac6201b8f429a7569991b7" +checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" dependencies = [ "futures-core", "futures-util", @@ -6502,9 +6006,9 @@ checksum = "7eec5d1121208364f6793f7d2e222bf75a915c19557537745b195b253dd64217" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-linebreak" @@ -6572,20 +6076,19 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "upstream-ontologist" version = "0.1.39" -source = "git+https://github.com/jelmer/upstream-ontologist#df272eac9d5e3c69021439ec4526b966ff5029c0" +source = "git+https://github.com/jelmer/upstream-ontologist#8adf2862daa333410d110e43d095dd9cd37eee81" dependencies = [ "breezyshim", "chrono", "configparser 3.1.0", "debbugs", - "debcargo", "debian-changelog", "debian-control", "debian-copyright", "debian-watch", "distro-info", "gix-config", - "html5ever 0.28.0", + "html5ever 0.29.0", "lazy-regex", "lazy_static", "log", @@ -6598,6 +6101,7 @@ dependencies = [ "pyo3", "pyproject-toml", "python-pkginfo", + "quote", "regex", "reqwest", "rst_parser", @@ -6670,27 +6174,6 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" -[[package]] -name = "vte" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cbce692ab4ca2f1f3047fcf732430249c0e971bfdd2b234cf2c47ad93af5983" -dependencies = [ - "arrayvec", - "utf8parse", - "vte_generate_state_changes", -] - -[[package]] -name = "vte_generate_state_changes" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e369bee1b05d510a7b4ed645f5faa90619e05437111783ea5848f28d97d3c2e" -dependencies = [ - "proc-macro2", - "quote", -] - [[package]] name = "waker-fn" version = "1.2.0" @@ -6827,7 +6310,7 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.36", + "rustix 0.38.37", ] [[package]] @@ -7075,7 +6558,7 @@ checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" dependencies = [ "libc", "linux-raw-sys 0.4.14", - "rustix 0.38.36", + "rustix 0.38.37", ] [[package]] @@ -7095,9 +6578,9 @@ dependencies = [ [[package]] name = "xml-rs" -version = "0.8.21" +version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "539a77ee7c0de333dcc6da69b177380a0b81e0dacfa4f7344c465a36871ee601" +checksum = "af4e2e2f7cba5a093896c1e150fbfe177d1883e7448200efb81d40b9d339ef26" [[package]] name = "xml5ever" @@ -7158,7 +6641,7 @@ dependencies = [ "crossbeam-utils", "displaydoc", "flate2", - "indexmap 2.5.0", + "indexmap", "num_enum", "thiserror", "time", diff --git a/Cargo.toml b/Cargo.toml index b4be25b92..0d93e1a78 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -47,7 +47,7 @@ prometheus = { version = "0.13.4", features = ["reqwest"] } [workspace.dependencies] rslock = { default-features = false, version = "0.4.0" } debian-changelog = "0.1.12" -debian-analyzer = { git = "https://salsa.debian.org/jelmer/lintian-brush" } +debian-analyzer = "0.158.11" debversion = { version = "0.4" } google-cloud-storage = { version = "0.20.0" } google-cloud-auth = { version = "0.16.0" }