From f46debaf4db3b2bf42db2d0eb952c0a68aed1bcb Mon Sep 17 00:00:00 2001 From: Ilya Zlobintsev Date: Sat, 24 Oct 2026 12:03:55 +0300 Subject: [PATCH] chore: update most dependencies --- Cargo.lock | 203 ++++-------------- Cargo.toml | 16 +- lact-daemon/Cargo.toml | 17 +- lact-daemon/src/server/handler.rs | 20 +- .../src/system/power_profiles_daemon.rs | 6 +- lact-gui/Cargo.toml | 2 +- lact-gui/src/service_setup/systemd.rs | 4 +- lact-schema/Cargo.toml | 4 +- 8 files changed, 73 insertions(+), 199 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c63014e9..74b296ed 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -156,29 +156,6 @@ dependencies = [ "winnow", ] -[[package]] -name = "async-broadcast" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" -dependencies = [ - "event-listener", - "event-listener-strategy", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-recursion" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f8abc12baad266b1c8cec146854c195b5864b4221d4b2ca7296a7ae82d9e451" -dependencies = [ - "proc-macro2", - "quote", - "syn 3.0.9", -] - [[package]] name = "async-trait" version = "0.1.92" @@ -239,22 +216,21 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.72.1" +version = "0.73.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" +checksum = "787ef8ef523575546b106a58213d6e6b06198a05c2f757258c68a74273670cfa" dependencies = [ "bitflags 2.13.2", "cexpr", "clang-sys", - "itertools", "log", - "prettyplease 0.2.37", + "prettyplease 0.3.0", "proc-macro2", "quote", "regex", "rustc-hash", - "shlex 1.3.0", - "syn 2.0.119", + "shlex 2.0.1", + "syn 3.0.9", ] [[package]] @@ -709,9 +685,9 @@ dependencies = [ [[package]] name = "easy_fuser_macro" -version = "0.1.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b699e2e138351f460292bdb63c56e76780d17193748a4fa49b938c9dc0c0733" +checksum = "79e184bce47724c6067ed602a4d611baf357c5d3ba5ccefa4a7807da8564ba70" dependencies = [ "either", "proc-macro2", @@ -749,27 +725,6 @@ dependencies = [ "syn 2.0.119", ] -[[package]] -name = "enumflags2" -version = "0.7.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef" -dependencies = [ - "enumflags2_derive", - "serde", -] - -[[package]] -name = "enumflags2_derive" -version = "0.7.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.119", -] - [[package]] name = "equivalent" version = "1.0.3" @@ -786,26 +741,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "event-listener" -version = "5.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a23add41df1562121a9393cb065eab5146a1242410f23a644851e90cfd669d2" -dependencies = [ - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" -dependencies = [ - "event-listener", - "pin-project-lite", -] - [[package]] name = "fastrand" version = "2.5.0" @@ -1011,19 +946,6 @@ version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed" -[[package]] -name = "futures-lite" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "parking", - "pin-project-lite", -] - [[package]] name = "futures-macro" version = "0.3.34" @@ -1789,7 +1711,7 @@ version = "0.10.1" dependencies = [ "amdgpu-sysfs", "anyhow", - "bindgen 0.72.1", + "bindgen 0.73.2", "bitflags 2.13.2", "divan", "easy_fuser", @@ -1968,9 +1890,9 @@ dependencies = [ [[package]] name = "libdrm_amdgpu_sys" -version = "0.8.16" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e11704169b7b5a043ec5627aa0433019cf67d07f233002e1233edf67c2e662b" +checksum = "1906d62e4f68e367feddc504e3171e649c4015c4a88a0bfbde29e317d9c2bd8f" dependencies = [ "libc", "libloading", @@ -2311,12 +2233,6 @@ dependencies = [ "system-deps 9.0.1", ] -[[package]] -name = "parking" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" - [[package]] name = "parking_lot" version = "0.12.5" @@ -3209,7 +3125,6 @@ dependencies = [ "signal-hook-registry", "socket2", "tokio-macros", - "tracing", "windows-sys 0.61.2", ] @@ -4007,73 +3922,70 @@ dependencies = [ [[package]] name = "zbus" -version = "5.19.0" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db4be7c075cb421e4b7ee645541604239bd243ba7c357511f4ff3a74b555907" +checksum = "fcff5faa63a63d5b81051740f7382017f10b3440b3f401d97f0cf0b3b39c62d9" dependencies = [ - "async-broadcast", - "async-recursion", "async-trait", - "enumflags2", - "event-listener", + "bitflags 2.13.2", + "endi", "futures-core", - "futures-lite", "hex", "libc", "ordered-stream", "rustix", "serde", "serde_repr", + "socket2", "tokio", - "tracing", "uds_windows", "uuid", "windows-sys 0.61.2", "winnow", "zbus_macros", - "zbus_names", - "zvariant", + "zbus_utils", + "zcheapstr", + "zruntime", ] [[package]] name = "zbus_macros" -version = "5.19.0" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2990635d09ade6df1868f72f8cac69a876a90981e8bd3c40b1be413f8dc88f40" +checksum = "5bba6e2bfe19571dc81b3e0be9f8daec6e5422db3e2eea2e766a859553e7bd37" dependencies = [ - "proc-macro-crate", "proc-macro2", "quote", "syn 3.0.9", - "zbus_names", - "zvariant", - "zvariant_utils", -] - -[[package]] -name = "zbus_names" -version = "4.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812a12be4ead7a59e18ea8f047d08add0066b73bc62fc1467066a2472ae088dd" -dependencies = [ - "serde", - "winnow", - "zvariant", + "zbus_utils", ] [[package]] name = "zbus_polkit" -version = "5.1.0" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "283d50dac36a7fee0d9c2e6b9c71253326c1f863a9d350342d338637aa3019ae" +checksum = "493c2474ae7bd12adcda9daabda8b7db0a8c95b4563876edf0f34afaf5f9e74e" dependencies = [ - "enumflags2", + "bitflags 2.13.2", "serde", "serde_repr", "static_assertions", "zbus", ] +[[package]] +name = "zbus_utils" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c27a055b114bd9fc3686e90f62bd1fe612d523fc5f620bac3b1d2f42d3f6cab8" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn 3.0.9", + "winnow", +] + [[package]] name = "zcheapstr" version = "1.1.0" @@ -4177,42 +4089,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" [[package]] -name = "zvariant" -version = "5.15.1" +name = "zruntime" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80bf6d6cd6a4b601acb64cfb8284cdc643fcfa75ef26ae3c46ec8aa4e8a1fbb7" +checksum = "dfc035df602243402949ddf3dcc5bcfad7edeb732dd49ec6e605431c4eca54ce" dependencies = [ - "endi", - "enumflags2", - "serde", - "winnow", - "zcheapstr", - "zvariant_derive", - "zvariant_utils", -] - -[[package]] -name = "zvariant_derive" -version = "5.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef2672456ba1cb54b5eaec136e63135b3c7495fb938e53b28a62e633496d486d" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 3.0.9", - "zvariant_utils", -] - -[[package]] -name = "zvariant_utils" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad0294361a320b694a328460dc73add56c306150f5cb6bfafc44446120008a3" -dependencies = [ - "proc-macro2", - "quote", - "serde", - "syn 3.0.9", - "winnow", + "futures-core", + "futures-io", ] diff --git a/Cargo.toml b/Cargo.toml index 74046326..c3c97f3c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,21 +16,21 @@ edition = "2024" amdgpu-sysfs = { version = "0.22.0", features = ["serde"] } nvml-wrapper = { git = "https://github.com/rust-nvml/nvml-wrapper.git", rev = "eb47417eede43443f139053479618e96ad32893d" } serde = { version = "1.0", features = ["derive"] } -serde_with = { version = "3.21.0", default-features = false, features = [ +serde_with = { version = "3.24.0", default-features = false, features = [ "macros", ] } -serde_json = "1.0.150" -anyhow = "1.0.103" +serde_json = "1.0.154" +anyhow = "1.0.104" tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } -futures = { version = "0.3.32", features = [ +futures = { version = "0.3.34", features = [ "std", "async-await", ], default-features = false } -tokio = { version = "1.52.3", default-features = false } +tokio = { version = "1.54.1", default-features = false } nix = { version = "0.31.3", default-features = false } jiff = "0.2" -indexmap = { version = "2.14.0", features = ["serde"] } +indexmap = { version = "2.14.2", features = ["serde"] } pretty_assertions = "1.4.1" divan = "0.1" serde_norway = "0.9.42" @@ -39,8 +39,8 @@ i18n-embed = { version = "0.16.0", features = [ "desktop-requester", ] } i18n-embed-fl = "0.10.1" -rust-embed = { version = "8.12.0", features = ["debug-embed"] } -zbus = { version = "5.14.0", default-features = false, features = ["tokio"] } +rust-embed = { version = "8.13.0", features = ["debug-embed"] } +zbus = { version = "6.1.0", default-features = false, features = ["tokio"] } [profile.release] strip = "symbols" diff --git a/lact-daemon/Cargo.toml b/lact-daemon/Cargo.toml index 69231b23..e75b22f1 100644 --- a/lact-daemon/Cargo.toml +++ b/lact-daemon/Cargo.toml @@ -29,6 +29,7 @@ tokio = { workspace = true, features = [ "time", "signal", "sync", + "process", ] } futures = { workspace = true } indexmap = { workspace = true } @@ -36,30 +37,30 @@ divan = { workspace = true, optional = true } serde_norway = { workspace = true } nvml-wrapper = { workspace = true } -bitflags = "2.13.0" +bitflags = "2.13.2" pciid-parser = { version = "0.8", features = ["serde"] } zbus = { workspace = true } -zbus_polkit = { version = "5.1.0", default-features = false, features = ["tokio"] } -libdrm_amdgpu_sys = { version = "0.8.16", default-features = false, features = [ +zbus_polkit = { version = "6.0.0", default-features = false, features = ["tokio"] } +libdrm_amdgpu_sys = { version = "0.9.0", default-features = false, features = [ "dynamic_loading", ] } -tar = "0.4.45" -libflate = "2.3.0" +tar = "0.4.46" +libflate = "2.3.2" os-release = "0.1.0" notify = { version = "8.2.0", default-features = false } libcopes = "1.0.0" libloading = "0.8.9" # Can be updated when https://github.com/rust-lang/rust-bindgen/issues/3332 is released -ureq = { version = "3.3.0", features = ["json", "rustls"] } +ureq = { version = "3.5.0", features = ["json", "rustls"] } libdisplay-info = { version= "0.3.0", optional = true } [dev-dependencies] pretty_assertions = { workspace = true } -insta = { version = "1.48.0", features = ["json", "yaml"] } +insta = { version = "1.49.0", features = ["json", "yaml"] } easy_fuser = { version = "0.5.0", default-features = false, features = ["parallel"] } tempfile = "3.27.0" lact-daemon = { path = ".", features= ["mock"] } [build-dependencies] -bindgen = "0.72" +bindgen = "0.73" serde_json = { workspace = true } diff --git a/lact-daemon/src/server/handler.rs b/lact-daemon/src/server/handler.rs index 774b0314..485e444f 100644 --- a/lact-daemon/src/server/handler.rs +++ b/lact-daemon/src/server/handler.rs @@ -42,10 +42,7 @@ use std::{ env, fs::{self, File, Permissions}, io::{BufWriter, Cursor, Write}, - os::{ - fd::AsFd as _, - unix::fs::{MetadataExt, PermissionsExt}, - }, + os::unix::fs::{MetadataExt, PermissionsExt}, path::{Path, PathBuf}, rc::Rc, sync::LazyLock, @@ -59,7 +56,6 @@ use tokio::{ time::sleep, }; use tracing::{debug, error, info, trace, warn}; -use zbus::zvariant::Value as ZbusValue; use zbus_polkit::policykit1::{self, AuthorityProxy}; const CONTROLLERS_LOAD_RETRY_ATTEMPTS: u8 = 5; @@ -1290,21 +1286,17 @@ impl<'a> Handler { let uid = ctx.uid.context("No client UID available")?; let pid = ctx.pid.context("No client PID available")?; - let mut subject = policykit1::Subject::new_for_owner(pid, None, Some(uid))?; - - if let Some(pid_fd) = &ctx.pid_fd { - subject.subject_details.insert( - "pidfd".to_owned(), - ZbusValue::Fd(pid_fd.as_fd().into()).try_into()?, - ); - } + let subject = match &ctx.pid_fd { + Some(pid_fd) => policykit1::Subject::new_for_owner(pid_fd, uid)?, + None => policykit1::Subject::new_for_pid(pid, None, Some(uid))?, + }; let result = polkit_proxy .check_authorization( &subject, action, &HashMap::new(), - policykit1::CheckAuthorizationFlags::AllowUserInteraction.into(), + policykit1::CheckAuthorizationFlags::ALLOW_USER_INTERACTION, "", ) .await diff --git a/lact-daemon/src/system/power_profiles_daemon.rs b/lact-daemon/src/system/power_profiles_daemon.rs index 0a7cbd56..66d9760c 100644 --- a/lact-daemon/src/system/power_profiles_daemon.rs +++ b/lact-daemon/src/system/power_profiles_daemon.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use anyhow::{Context, anyhow}; use tracing::{debug, error, info, warn}; -use zbus::{Connection, proxy, zvariant::OwnedValue}; +use zbus::{Connection, OwnedVariant, proxy}; const CONFLICTING_ACTIONS: [&str; 1] = ["amdgpu_dpm"]; const MIN_PPD_MINOR_VERSION: u32 = 30; @@ -125,7 +125,7 @@ trait PowerProfilesDaemon { /// `ActionsInfo` property #[zbus(property)] - fn actions_info(&self) -> zbus::Result>>; + fn actions_info(&self) -> zbus::Result>>; /// `ActiveProfile` property #[zbus(property)] @@ -140,5 +140,5 @@ trait PowerProfilesDaemon { /// Profiles property #[zbus(property)] - fn profiles(&self) -> zbus::Result>>; + fn profiles(&self) -> zbus::Result>>; } diff --git a/lact-gui/Cargo.toml b/lact-gui/Cargo.toml index 9c6aa330..7c6753f0 100644 --- a/lact-gui/Cargo.toml +++ b/lact-gui/Cargo.toml @@ -25,7 +25,7 @@ serde_with = { workspace = true } serde_norway = { workspace = true } serde_json = { workspace = true } indexmap = { workspace = true } -gtk = { version = "0.11.4", package = "gtk4", features = [ +gtk = { version = "0.11.5", package = "gtk4", features = [ "v4_14", ] } diff --git a/lact-gui/src/service_setup/systemd.rs b/lact-gui/src/service_setup/systemd.rs index 6b14743c..b6203879 100644 --- a/lact-gui/src/service_setup/systemd.rs +++ b/lact-gui/src/service_setup/systemd.rs @@ -1,7 +1,7 @@ //! # D-Bus interface proxy for: `org.freedesktop.systemd1.Manager` use anyhow::{Context, bail}; use relm4::tokio::process::Command; -use zbus::{proxy, zvariant::OwnedObjectPath}; +use zbus::{OwnedObjectPath, proxy}; pub const UNIT_NAME: &str = "lactd.service"; @@ -24,7 +24,7 @@ pub async fn connect_unit_proxy() -> anyhow::Result<(ManagerProxy<'static>, Unit .context("Could not get lact systemd unit")?; let unit = UnitProxy::builder(&conn) - .path(path)? + .path(path) .build() .await .context("Could not connect to systemd unit interface")?; diff --git a/lact-schema/Cargo.toml b/lact-schema/Cargo.toml index 34043158..2d051b58 100644 --- a/lact-schema/Cargo.toml +++ b/lact-schema/Cargo.toml @@ -19,8 +19,8 @@ i18n-embed-fl = { workspace = true } rust-embed = { workspace = true } serde-error = "=0.1.3" -clap = { version = "4.6.1", features = ["derive"], optional = true } +clap = { version = "4.6.7", features = ["derive"], optional = true } [build-dependencies] -vergen-gitcl = "10.0.1" +vergen-gitcl = "10.0.3"