diff --git a/.cirrus.yml b/.cirrus.yml index f0d310c..c6b9f47 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -236,7 +236,7 @@ msrv_build_task: cpu: 2 # Do not increase, will result in scheduling delays memory: "8Gb" # When bumping the image always remember to update the README MSRV as well. - image: quay.io/libpod/nv-rust:1.83 + image: quay.io/libpod/nv-rust:1.86 script: - make build diff --git a/Cargo.lock b/Cargo.lock index fae58f3..34cb285 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -855,9 +855,9 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "h2" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5" +checksum = "17da50a276f1e01e0ba6c029e47b7100754904ee8a278f886546e98575380785" dependencies = [ "atomic-waker", "bytes", @@ -997,7 +997,7 @@ dependencies = [ "hyper", "libc", "pin-project-lite", - "socket2 0.6.0", + "socket2", "tokio", "tower-service", "tracing", @@ -1439,7 +1439,8 @@ dependencies = [ "tokio", "tokio-stream", "tonic", - "tonic-build", + "tonic-prost", + "tonic-prost-build", "tower", "zbus", ] @@ -1768,9 +1769,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" +checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" dependencies = [ "bytes", "prost-derive", @@ -1778,9 +1779,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" +checksum = "ac6c3320f9abac597dcbc668774ef006702672474aad53c6d596b62e487b40b1" dependencies = [ "heck 0.5.0", "itertools", @@ -1791,6 +1792,8 @@ dependencies = [ "prettyplease", "prost", "prost-types", + "pulldown-cmark", + "pulldown-cmark-to-cmark", "regex", "syn 2.0.101", "tempfile", @@ -1798,9 +1801,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" +checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425" dependencies = [ "anyhow", "itertools", @@ -1811,13 +1814,33 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" +checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" dependencies = [ "prost", ] +[[package]] +name = "pulldown-cmark" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e8bbe1a966bd2f362681a44f6edce3c2310ac21e4d5067a6e7ec396297a6ea0" +dependencies = [ + "bitflags", + "memchr", + "unicase", +] + +[[package]] +name = "pulldown-cmark-to-cmark" +version = "21.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5b6a0769a491a08b31ea5c62494a8f144ee0987d86d670a8af4df1e1b7cde75" +dependencies = [ + "pulldown-cmark", +] + [[package]] name = "quote" version = "1.0.40" @@ -2133,16 +2156,6 @@ version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" -[[package]] -name = "socket2" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "socket2" version = "0.6.0" @@ -2320,7 +2333,7 @@ dependencies = [ "pin-project-lite", "signal-hook-registry", "slab", - "socket2 0.6.0", + "socket2", "tokio-macros", "windows-sys 0.59.0", ] @@ -2379,9 +2392,9 @@ dependencies = [ [[package]] name = "tonic" -version = "0.13.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e581ba15a835f4d9ea06c55ab1bd4dce26fc53752c69a04aac00703bfb49ba9" +checksum = "eb7613188ce9f7df5bfe185db26c5814347d110db17920415cf2fbcad85e7203" dependencies = [ "async-trait", "axum", @@ -2396,8 +2409,8 @@ dependencies = [ "hyper-util", "percent-encoding", "pin-project", - "prost", - "socket2 0.5.9", + "socket2", + "sync_wrapper", "tokio", "tokio-stream", "tower", @@ -2408,9 +2421,32 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.13.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac6f67be712d12f0b41328db3137e0d0757645d8904b4cb7d51cd9c2279e847" +checksum = "18262cdd13dec66e8e3f2e3fe535e4b2cc706fab444a7d3678d75d8ac2557329" +dependencies = [ + "prettyplease", + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "tonic-prost" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66bd50ad6ce1252d87ef024b3d64fe4c3cf54a86fb9ef4c631fdd0ded7aeaa67" +dependencies = [ + "bytes", + "prost", + "tonic", +] + +[[package]] +name = "tonic-prost-build" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4a16cba4043dc3ff43fcb3f96b4c5c154c64cbd18ca8dce2ab2c6a451d058a2" dependencies = [ "prettyplease", "proc-macro2", @@ -2418,6 +2454,8 @@ dependencies = [ "prost-types", "quote", "syn 2.0.101", + "tempfile", + "tonic-build", ] [[package]] @@ -2529,6 +2567,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "unicase" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" + [[package]] name = "unicode-bidi" version = "0.3.18" diff --git a/Cargo.toml b/Cargo.toml index c3f3d29..faf28c0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,7 @@ repository = "https://github.com/containers/netavark" categories = ["virtualization"] exclude = ["/.cirrus.yml", "/.github/*", "/hack/*"] build = "build.rs" -rust-version = "1.83" +rust-version = "1.86" [package.metadata.vendor-filter] platforms = ["*-unknown-linux-*"] @@ -53,9 +53,10 @@ nftables = "0.6.3" fs2 = "0.4.3" tokio = { version = "1.47.1", features = ["rt", "rt-multi-thread", "signal", "fs"] } tokio-stream = { version = "0.1.17", features = ["net"] } -tonic = "0.13.1" +tonic = "0.14.2" +tonic-prost = "0.14.2" +prost = "0.14.1" mozim = "0.2.7" -prost = "0.13.5" futures-channel = "0.3.31" futures-core = "0.3.31" futures-util = "0.3.31" @@ -64,7 +65,7 @@ hyper-util = "0.1.16" [build-dependencies] chrono = { version = "0.4.42", default-features = false, features = ["clock"] } -tonic-build = "0.13.1" +tonic-prost-build = "0.14.2" [dev-dependencies] once_cell = "1.21.3" diff --git a/README.md b/README.md index 4281255..4c1541d 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Netavark is a tool for configuring networking for Linux containers. Its features ## MSRV (Minimum Supported Rust Version) -v1.83 +v1.86 We test that Netavark can be build on this Rust version and on some newer versions. All newer versions should also build, and if they do not, the issue should be diff --git a/build.rs b/build.rs index a5bb645..3d5b79b 100644 --- a/build.rs +++ b/build.rs @@ -4,7 +4,7 @@ use std::path::Path; use std::process::Command; fn main() { - let builder = tonic_build::configure() + let builder = tonic_prost_build::configure() .type_attribute("netavark_proxy.Lease", "#[derive(serde::Serialize)]") .type_attribute("netavark_proxy.DhcpV4Lease", "#[derive(serde::Serialize)]") .type_attribute("netavark_proxy.DhcpV6Lease", "#[derive(serde::Serialize)]") diff --git a/contrib/container_images/Dockerfile.Rust b/contrib/container_images/Dockerfile.Rust index 2f9c825..e97f5f4 100644 --- a/contrib/container_images/Dockerfile.Rust +++ b/contrib/container_images/Dockerfile.Rust @@ -1,5 +1,5 @@ # Source for quay.io/libpod/nv-rust # This version should always match the MSRV, when you update this also update # the version in the root README.md and Cargo.toml. -FROM docker.io/library/rust:1.83 +FROM docker.io/library/rust:1.86 RUN apt-get update && apt-get -y install protobuf-compiler libprotobuf-dev