mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH] nmstate: add new package
@ 2025-05-21 14:45 Robert Schwebel
  2025-05-25 14:55 ` Michael Olbrich
  0 siblings, 1 reply; 2+ messages in thread
From: Robert Schwebel @ 2025-05-21 14:45 UTC (permalink / raw)
  To: ptxdist; +Cc: Robert Schwebel

Nmstate is a tool that manages host networking settings in a declarative
manner, written in Rust.

The Cargo.lock file is not shipped in the tarball, so we created one by
running 'cargo install' in rust/ and patching the resulting file into
the package.

Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
---
 .../0001-nmstate-add-Cargo.lock-file.patch    | 1812 +++++++++++++++++
 patches/nmstate-2.2.24/series                 |    4 +
 rules/nmstate.cargo.make                      |  937 +++++++++
 rules/nmstate.in                              |    8 +
 rules/nmstate.make                            |   64 +
 5 files changed, 2825 insertions(+)
 create mode 100644 patches/nmstate-2.2.24/0001-nmstate-add-Cargo.lock-file.patch
 create mode 100644 patches/nmstate-2.2.24/series
 create mode 100644 rules/nmstate.cargo.make
 create mode 100644 rules/nmstate.in
 create mode 100644 rules/nmstate.make

diff --git a/patches/nmstate-2.2.24/0001-nmstate-add-Cargo.lock-file.patch b/patches/nmstate-2.2.24/0001-nmstate-add-Cargo.lock-file.patch
new file mode 100644
index 000000000..eb75e2c04
--- /dev/null
+++ b/patches/nmstate-2.2.24/0001-nmstate-add-Cargo.lock-file.patch
@@ -0,0 +1,1812 @@
+From: Robert Schwebel <r.schwebel@pengutronix.de>
+Date: Wed, 21 May 2025 12:09:10 +0200
+Subject: [PATCH] nmstate: add Cargo.lock file
+
+The archives do not ship a Cargo.lock file.
+
+Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
+---
+ rust/Cargo.lock | 1794 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 1794 insertions(+)
+ create mode 100644 rust/Cargo.lock
+
+diff --git a/rust/Cargo.lock b/rust/Cargo.lock
+new file mode 100644
+index 000000000000..bf58e9cbd096
+--- /dev/null
++++ b/rust/Cargo.lock
+@@ -0,0 +1,1794 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++version = 3
++
++[[package]]
++name = "addr2line"
++version = "0.24.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
++dependencies = [
++ "gimli",
++]
++
++[[package]]
++name = "adler2"
++version = "2.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
++
++[[package]]
++name = "aho-corasick"
++version = "1.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "android-tzdata"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
++
++[[package]]
++name = "android_system_properties"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "anyhow"
++version = "1.0.98"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
++
++[[package]]
++name = "async-io"
++version = "1.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
++dependencies = [
++ "async-lock",
++ "autocfg",
++ "cfg-if",
++ "concurrent-queue",
++ "futures-lite",
++ "log",
++ "parking",
++ "polling",
++ "rustix",
++ "slab",
++ "socket2 0.4.10",
++ "waker-fn",
++]
++
++[[package]]
++name = "async-lock"
++version = "2.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
++dependencies = [
++ "event-listener",
++]
++
++[[package]]
++name = "atty"
++version = "0.2.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
++dependencies = [
++ "hermit-abi 0.1.19",
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "autocfg"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
++
++[[package]]
++name = "backtrace"
++version = "0.3.75"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002"
++dependencies = [
++ "addr2line",
++ "cfg-if",
++ "libc",
++ "miniz_oxide",
++ "object",
++ "rustc-demangle",
++ "windows-targets 0.52.6",
++]
++
++[[package]]
++name = "bitflags"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
++
++[[package]]
++name = "bitflags"
++version = "2.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
++
++[[package]]
++name = "bumpalo"
++version = "3.17.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf"
++
++[[package]]
++name = "byteorder"
++version = "1.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
++
++[[package]]
++name = "bytes"
++version = "1.10.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
++
++[[package]]
++name = "cc"
++version = "1.2.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5f4ac86a9e5bc1e2b3449ab9d7d3a6a405e3d1bb28d7b9be8614f55846ae3766"
++dependencies = [
++ "shlex",
++]
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
++
++[[package]]
++name = "cfg_aliases"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
++
++[[package]]
++name = "chrono"
++version = "0.4.41"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
++dependencies = [
++ "android-tzdata",
++ "iana-time-zone",
++ "js-sys",
++ "num-traits",
++ "wasm-bindgen",
++ "windows-link",
++]
++
++[[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",
++ "indexmap 1.9.3",
++ "once_cell",
++ "strsim",
++ "termcolor",
++ "textwrap",
++]
++
++[[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 = "concurrent-queue"
++version = "2.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
++dependencies = [
++ "crossbeam-utils",
++]
++
++[[package]]
++name = "core-foundation-sys"
++version = "0.8.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
++
++[[package]]
++name = "crossbeam-utils"
++version = "0.8.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
++
++[[package]]
++name = "ctrlc"
++version = "3.4.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "46f93780a459b7d656ef7f071fe699c4d3d2cb201c4b24d085b6ddc505276e73"
++dependencies = [
++ "nix 0.30.1",
++ "windows-sys 0.59.0",
++]
++
++[[package]]
++name = "derivative"
++version = "2.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 1.0.109",
++]
++
++[[package]]
++name = "enumflags2"
++version = "0.6.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "83c8d82922337cd23a15f88b70d8e4ef5f11da38dd7cdb55e84dd5de99695da0"
++dependencies = [
++ "enumflags2_derive",
++ "serde",
++]
++
++[[package]]
++name = "enumflags2_derive"
++version = "0.6.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 1.0.109",
++]
++
++[[package]]
++name = "env_logger"
++version = "0.10.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
++dependencies = [
++ "humantime",
++ "is-terminal",
++ "log",
++ "regex",
++ "termcolor",
++]
++
++[[package]]
++name = "equivalent"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
++
++[[package]]
++name = "errno"
++version = "0.3.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18"
++dependencies = [
++ "libc",
++ "windows-sys 0.59.0",
++]
++
++[[package]]
++name = "ethtool"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5479e15c34374ec0240622c15f2152647ba8726bc6e15f33335a83e309f7b1a5"
++dependencies = [
++ "anyhow",
++ "byteorder",
++ "futures",
++ "genetlink",
++ "log",
++ "netlink-packet-core",
++ "netlink-packet-generic",
++ "netlink-packet-utils",
++ "netlink-proto",
++ "netlink-sys",
++ "thiserror 1.0.69",
++ "tokio",
++]
++
++[[package]]
++name = "event-listener"
++version = "2.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
++
++[[package]]
++name = "fastrand"
++version = "1.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
++dependencies = [
++ "instant",
++]
++
++[[package]]
++name = "futures"
++version = "0.3.31"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876"
++dependencies = [
++ "futures-channel",
++ "futures-core",
++ "futures-executor",
++ "futures-io",
++ "futures-sink",
++ "futures-task",
++ "futures-util",
++]
++
++[[package]]
++name = "futures-channel"
++version = "0.3.31"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
++dependencies = [
++ "futures-core",
++ "futures-sink",
++]
++
++[[package]]
++name = "futures-core"
++version = "0.3.31"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
++
++[[package]]
++name = "futures-executor"
++version = "0.3.31"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"
++dependencies = [
++ "futures-core",
++ "futures-task",
++ "futures-util",
++]
++
++[[package]]
++name = "futures-io"
++version = "0.3.31"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
++
++[[package]]
++name = "futures-lite"
++version = "1.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
++dependencies = [
++ "fastrand",
++ "futures-core",
++ "futures-io",
++ "memchr",
++ "parking",
++ "pin-project-lite",
++ "waker-fn",
++]
++
++[[package]]
++name = "futures-macro"
++version = "0.3.31"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.101",
++]
++
++[[package]]
++name = "futures-sink"
++version = "0.3.31"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
++
++[[package]]
++name = "futures-task"
++version = "0.3.31"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
++
++[[package]]
++name = "futures-util"
++version = "0.3.31"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
++dependencies = [
++ "futures-channel",
++ "futures-core",
++ "futures-io",
++ "futures-macro",
++ "futures-sink",
++ "futures-task",
++ "memchr",
++ "pin-project-lite",
++ "pin-utils",
++ "slab",
++]
++
++[[package]]
++name = "genetlink"
++version = "0.2.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1f890076c1faa1298bf747ce3694a8d9e0d2cc4b06fe293f12dd95742bfd079f"
++dependencies = [
++ "futures",
++ "log",
++ "netlink-packet-core",
++ "netlink-packet-generic",
++ "netlink-packet-utils",
++ "netlink-proto",
++ "thiserror 1.0.69",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "r-efi",
++ "wasi 0.14.2+wasi-0.2.4",
++]
++
++[[package]]
++name = "gimli"
++version = "0.31.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
++
++[[package]]
++name = "hashbrown"
++version = "0.12.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
++
++[[package]]
++name = "hashbrown"
++version = "0.15.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3"
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "hermit-abi"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
++
++[[package]]
++name = "hermit-abi"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08"
++
++[[package]]
++name = "humantime"
++version = "2.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f"
++
++[[package]]
++name = "iana-time-zone"
++version = "0.1.63"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8"
++dependencies = [
++ "android_system_properties",
++ "core-foundation-sys",
++ "iana-time-zone-haiku",
++ "js-sys",
++ "log",
++ "wasm-bindgen",
++ "windows-core",
++]
++
++[[package]]
++name = "iana-time-zone-haiku"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
++dependencies = [
++ "cc",
++]
++
++[[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.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e"
++dependencies = [
++ "equivalent",
++ "hashbrown 0.15.3",
++]
++
++[[package]]
++name = "instant"
++version = "0.1.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "io-lifetimes"
++version = "1.0.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
++dependencies = [
++ "hermit-abi 0.3.9",
++ "libc",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "is-terminal"
++version = "0.4.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9"
++dependencies = [
++ "hermit-abi 0.5.1",
++ "libc",
++ "windows-sys 0.59.0",
++]
++
++[[package]]
++name = "itoa"
++version = "1.0.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
++
++[[package]]
++name = "js-sys"
++version = "0.3.77"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
++dependencies = [
++ "once_cell",
++ "wasm-bindgen",
++]
++
++[[package]]
++name = "libc"
++version = "0.2.172"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
++
++[[package]]
++name = "linux-raw-sys"
++version = "0.3.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
++
++[[package]]
++name = "log"
++version = "0.4.27"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
++
++[[package]]
++name = "memchr"
++version = "2.7.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
++
++[[package]]
++name = "memoffset"
++version = "0.6.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
++dependencies = [
++ "autocfg",
++]
++
++[[package]]
++name = "miniz_oxide"
++version = "0.8.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a"
++dependencies = [
++ "adler2",
++]
++
++[[package]]
++name = "mio"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
++dependencies = [
++ "libc",
++ "wasi 0.11.0+wasi-snapshot-preview1",
++ "windows-sys 0.52.0",
++]
++
++[[package]]
++name = "mptcp-pm"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3eafa8fc63dce407b75e336f9a22f18cf5510a3a5c3a5d83262688eb5cca42d5"
++dependencies = [
++ "anyhow",
++ "byteorder",
++ "futures",
++ "genetlink",
++ "log",
++ "netlink-packet-core",
++ "netlink-packet-generic",
++ "netlink-packet-utils",
++ "netlink-proto",
++ "netlink-sys",
++ "thiserror 1.0.69",
++ "tokio",
++]
++
++[[package]]
++name = "nb-connect"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b1bb540dc6ef51cfe1916ec038ce7a620daf3a111e2502d745197cd53d6bca15"
++dependencies = [
++ "libc",
++ "socket2 0.4.10",
++]
++
++[[package]]
++name = "netlink-packet-core"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4"
++dependencies = [
++ "anyhow",
++ "byteorder",
++ "netlink-packet-utils",
++]
++
++[[package]]
++name = "netlink-packet-generic"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1cd7eb8ad331c84c6b8cb7f685b448133e5ad82e1ffd5acafac374af4a5a308b"
++dependencies = [
++ "anyhow",
++ "byteorder",
++ "netlink-packet-core",
++ "netlink-packet-utils",
++]
++
++[[package]]
++name = "netlink-packet-route"
++version = "0.22.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc0e7987b28514adf555dc1f9a5c30dfc3e50750bbaffb1aec41ca7b23dcd8e4"
++dependencies = [
++ "anyhow",
++ "bitflags 2.9.1",
++ "byteorder",
++ "libc",
++ "log",
++ "netlink-packet-core",
++ "netlink-packet-utils",
++]
++
++[[package]]
++name = "netlink-packet-utils"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34"
++dependencies = [
++ "anyhow",
++ "byteorder",
++ "paste",
++ "thiserror 1.0.69",
++]
++
++[[package]]
++name = "netlink-proto"
++version = "0.11.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "72452e012c2f8d612410d89eea01e2d9b56205274abb35d53f60200b2ec41d60"
++dependencies = [
++ "bytes",
++ "futures",
++ "log",
++ "netlink-packet-core",
++ "netlink-sys",
++ "thiserror 2.0.12",
++]
++
++[[package]]
++name = "netlink-sys"
++version = "0.8.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23"
++dependencies = [
++ "bytes",
++ "futures",
++ "libc",
++ "log",
++ "tokio",
++]
++
++[[package]]
++name = "nispor"
++version = "1.2.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "de4f8494aa978fe693dc7f36cdfcac99f1f1441f71c44267278b889e36d52c1a"
++dependencies = [
++ "ethtool",
++ "futures",
++ "libc",
++ "log",
++ "mptcp-pm",
++ "rtnetlink",
++ "serde",
++ "serde_json",
++ "tokio",
++ "wl-nl80211",
++]
++
++[[package]]
++name = "nix"
++version = "0.22.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf"
++dependencies = [
++ "bitflags 1.3.2",
++ "cc",
++ "cfg-if",
++ "libc",
++ "memoffset",
++]
++
++[[package]]
++name = "nix"
++version = "0.26.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
++dependencies = [
++ "bitflags 1.3.2",
++ "cfg-if",
++ "libc",
++]
++
++[[package]]
++name = "nix"
++version = "0.29.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
++dependencies = [
++ "bitflags 2.9.1",
++ "cfg-if",
++ "cfg_aliases",
++ "libc",
++]
++
++[[package]]
++name = "nix"
++version = "0.30.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6"
++dependencies = [
++ "bitflags 2.9.1",
++ "cfg-if",
++ "cfg_aliases",
++ "libc",
++]
++
++[[package]]
++name = "nmstate"
++version = "2.2.24"
++dependencies = [
++ "log",
++ "nispor",
++ "nix 0.26.4",
++ "serde",
++ "serde_json",
++ "serde_yaml",
++ "uuid",
++ "zbus",
++ "zvariant",
++]
++
++[[package]]
++name = "nmstate-clib"
++version = "2.2.24"
++dependencies = [
++ "libc",
++ "log",
++ "nmstate",
++ "once_cell",
++ "serde",
++ "serde_json",
++ "serde_yaml",
++]
++
++[[package]]
++name = "nmstatectl"
++version = "2.2.24"
++dependencies = [
++ "chrono",
++ "clap",
++ "ctrlc",
++ "env_logger",
++ "log",
++ "nispor",
++ "nmstate",
++ "serde",
++ "serde_json",
++ "serde_yaml",
++ "toml 0.8.22",
++ "uuid",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.2.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
++dependencies = [
++ "autocfg",
++]
++
++[[package]]
++name = "object"
++version = "0.36.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "once_cell"
++version = "1.21.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
++
++[[package]]
++name = "os_str_bytes"
++version = "6.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
++
++[[package]]
++name = "parking"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
++
++[[package]]
++name = "paste"
++version = "1.0.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
++
++[[package]]
++name = "pin-project-lite"
++version = "0.2.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
++
++[[package]]
++name = "pin-utils"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
++
++[[package]]
++name = "polling"
++version = "2.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
++dependencies = [
++ "autocfg",
++ "bitflags 1.3.2",
++ "cfg-if",
++ "concurrent-queue",
++ "libc",
++ "log",
++ "pin-project-lite",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "proc-macro-crate"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785"
++dependencies = [
++ "toml 0.5.11",
++]
++
++[[package]]
++name = "proc-macro-crate"
++version = "1.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
++dependencies = [
++ "once_cell",
++ "toml_edit 0.19.15",
++]
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.95"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
++dependencies = [
++ "unicode-ident",
++]
++
++[[package]]
++name = "quote"
++version = "1.0.40"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "r-efi"
++version = "5.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
++
++[[package]]
++name = "regex"
++version = "1.11.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
++dependencies = [
++ "aho-corasick",
++ "memchr",
++ "regex-automata",
++ "regex-syntax",
++]
++
++[[package]]
++name = "regex-automata"
++version = "0.4.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
++dependencies = [
++ "aho-corasick",
++ "memchr",
++ "regex-syntax",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.8.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
++
++[[package]]
++name = "rtnetlink"
++version = "0.16.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3cb5850b5aa2c9c0ae44f157694bbe85107a2e13d76eb3178d0e3ee96c410f57"
++dependencies = [
++ "futures",
++ "log",
++ "netlink-packet-core",
++ "netlink-packet-route",
++ "netlink-packet-utils",
++ "netlink-proto",
++ "netlink-sys",
++ "nix 0.29.0",
++ "thiserror 1.0.69",
++ "tokio",
++]
++
++[[package]]
++name = "rustc-demangle"
++version = "0.1.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
++
++[[package]]
++name = "rustix"
++version = "0.37.28"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "519165d378b97752ca44bbe15047d5d3409e875f39327546b42ac81d7e18c1b6"
++dependencies = [
++ "bitflags 1.3.2",
++ "errno",
++ "io-lifetimes",
++ "libc",
++ "linux-raw-sys",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "rustversion"
++version = "1.0.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2"
++
++[[package]]
++name = "ryu"
++version = "1.0.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
++
++[[package]]
++name = "scoped-tls"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
++
++[[package]]
++name = "serde"
++version = "1.0.219"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
++dependencies = [
++ "serde_derive",
++]
++
++[[package]]
++name = "serde_derive"
++version = "1.0.219"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.101",
++]
++
++[[package]]
++name = "serde_json"
++version = "1.0.140"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
++dependencies = [
++ "indexmap 2.9.0",
++ "itoa",
++ "memchr",
++ "ryu",
++ "serde",
++]
++
++[[package]]
++name = "serde_repr"
++version = "0.1.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.101",
++]
++
++[[package]]
++name = "serde_spanned"
++version = "0.6.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "serde_yaml"
++version = "0.9.34+deprecated"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
++dependencies = [
++ "indexmap 2.9.0",
++ "itoa",
++ "ryu",
++ "serde",
++ "unsafe-libyaml",
++]
++
++[[package]]
++name = "sha1_smol"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d"
++
++[[package]]
++name = "shlex"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
++
++[[package]]
++name = "slab"
++version = "0.4.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
++dependencies = [
++ "autocfg",
++]
++
++[[package]]
++name = "socket2"
++version = "0.4.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
++dependencies = [
++ "libc",
++ "winapi",
++]
++
++[[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 = "static_assertions"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
++
++[[package]]
++name = "strsim"
++version = "0.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
++
++[[package]]
++name = "syn"
++version = "1.0.109"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-ident",
++]
++
++[[package]]
++name = "syn"
++version = "2.0.101"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-ident",
++]
++
++[[package]]
++name = "termcolor"
++version = "1.4.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "textwrap"
++version = "0.16.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057"
++
++[[package]]
++name = "thiserror"
++version = "1.0.69"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
++dependencies = [
++ "thiserror-impl 1.0.69",
++]
++
++[[package]]
++name = "thiserror"
++version = "2.0.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
++dependencies = [
++ "thiserror-impl 2.0.12",
++]
++
++[[package]]
++name = "thiserror-impl"
++version = "1.0.69"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.101",
++]
++
++[[package]]
++name = "thiserror-impl"
++version = "2.0.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.101",
++]
++
++[[package]]
++name = "tokio"
++version = "1.45.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165"
++dependencies = [
++ "backtrace",
++ "libc",
++ "mio",
++ "pin-project-lite",
++ "socket2 0.5.9",
++ "tokio-macros",
++ "windows-sys 0.52.0",
++]
++
++[[package]]
++name = "tokio-macros"
++version = "2.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.101",
++]
++
++[[package]]
++name = "toml"
++version = "0.5.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "toml"
++version = "0.8.22"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae"
++dependencies = [
++ "serde",
++ "serde_spanned",
++ "toml_datetime",
++ "toml_edit 0.22.26",
++]
++
++[[package]]
++name = "toml_datetime"
++version = "0.6.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "toml_edit"
++version = "0.19.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
++dependencies = [
++ "indexmap 2.9.0",
++ "toml_datetime",
++ "winnow 0.5.40",
++]
++
++[[package]]
++name = "toml_edit"
++version = "0.22.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e"
++dependencies = [
++ "indexmap 2.9.0",
++ "serde",
++ "serde_spanned",
++ "toml_datetime",
++ "toml_write",
++ "winnow 0.7.10",
++]
++
++[[package]]
++name = "toml_write"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076"
++
++[[package]]
++name = "unicode-ident"
++version = "1.0.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
++
++[[package]]
++name = "unsafe-libyaml"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
++
++[[package]]
++name = "uuid"
++version = "1.16.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9"
++dependencies = [
++ "getrandom",
++ "sha1_smol",
++]
++
++[[package]]
++name = "waker-fn"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7"
++
++[[package]]
++name = "wasi"
++version = "0.11.0+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
++
++[[package]]
++name = "wasi"
++version = "0.14.2+wasi-0.2.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
++dependencies = [
++ "wit-bindgen-rt",
++]
++
++[[package]]
++name = "wasm-bindgen"
++version = "0.2.100"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
++dependencies = [
++ "cfg-if",
++ "once_cell",
++ "rustversion",
++ "wasm-bindgen-macro",
++]
++
++[[package]]
++name = "wasm-bindgen-backend"
++version = "0.2.100"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
++dependencies = [
++ "bumpalo",
++ "log",
++ "proc-macro2",
++ "quote",
++ "syn 2.0.101",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-macro"
++version = "0.2.100"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
++dependencies = [
++ "quote",
++ "wasm-bindgen-macro-support",
++]
++
++[[package]]
++name = "wasm-bindgen-macro-support"
++version = "0.2.100"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.101",
++ "wasm-bindgen-backend",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-shared"
++version = "0.2.100"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
++dependencies = [
++ "unicode-ident",
++]
++
++[[package]]
++name = "winapi"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
++dependencies = [
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++
++[[package]]
++name = "winapi-util"
++version = "0.1.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
++dependencies = [
++ "windows-sys 0.59.0",
++]
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
++
++[[package]]
++name = "windows-core"
++version = "0.61.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
++dependencies = [
++ "windows-implement",
++ "windows-interface",
++ "windows-link",
++ "windows-result",
++ "windows-strings",
++]
++
++[[package]]
++name = "windows-implement"
++version = "0.60.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.101",
++]
++
++[[package]]
++name = "windows-interface"
++version = "0.59.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.101",
++]
++
++[[package]]
++name = "windows-link"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38"
++
++[[package]]
++name = "windows-result"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
++dependencies = [
++ "windows-link",
++]
++
++[[package]]
++name = "windows-strings"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
++dependencies = [
++ "windows-link",
++]
++
++[[package]]
++name = "windows-sys"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
++dependencies = [
++ "windows-targets 0.48.5",
++]
++
++[[package]]
++name = "windows-sys"
++version = "0.52.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
++dependencies = [
++ "windows-targets 0.52.6",
++]
++
++[[package]]
++name = "windows-sys"
++version = "0.59.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
++dependencies = [
++ "windows-targets 0.52.6",
++]
++
++[[package]]
++name = "windows-targets"
++version = "0.48.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
++dependencies = [
++ "windows_aarch64_gnullvm 0.48.5",
++ "windows_aarch64_msvc 0.48.5",
++ "windows_i686_gnu 0.48.5",
++ "windows_i686_msvc 0.48.5",
++ "windows_x86_64_gnu 0.48.5",
++ "windows_x86_64_gnullvm 0.48.5",
++ "windows_x86_64_msvc 0.48.5",
++]
++
++[[package]]
++name = "windows-targets"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
++dependencies = [
++ "windows_aarch64_gnullvm 0.52.6",
++ "windows_aarch64_msvc 0.52.6",
++ "windows_i686_gnu 0.52.6",
++ "windows_i686_gnullvm",
++ "windows_i686_msvc 0.52.6",
++ "windows_x86_64_gnu 0.52.6",
++ "windows_x86_64_gnullvm 0.52.6",
++ "windows_x86_64_msvc 0.52.6",
++]
++
++[[package]]
++name = "windows_aarch64_gnullvm"
++version = "0.48.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
++
++[[package]]
++name = "windows_aarch64_gnullvm"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
++
++[[package]]
++name = "windows_aarch64_msvc"
++version = "0.48.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
++
++[[package]]
++name = "windows_aarch64_msvc"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
++
++[[package]]
++name = "windows_i686_gnu"
++version = "0.48.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
++
++[[package]]
++name = "windows_i686_gnu"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
++
++[[package]]
++name = "windows_i686_gnullvm"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
++
++[[package]]
++name = "windows_i686_msvc"
++version = "0.48.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
++
++[[package]]
++name = "windows_i686_msvc"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
++
++[[package]]
++name = "windows_x86_64_gnu"
++version = "0.48.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
++
++[[package]]
++name = "windows_x86_64_gnu"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
++
++[[package]]
++name = "windows_x86_64_gnullvm"
++version = "0.48.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
++
++[[package]]
++name = "windows_x86_64_gnullvm"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
++
++[[package]]
++name = "windows_x86_64_msvc"
++version = "0.48.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
++
++[[package]]
++name = "windows_x86_64_msvc"
++version = "0.52.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
++
++[[package]]
++name = "winnow"
++version = "0.5.40"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "winnow"
++version = "0.7.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "wit-bindgen-rt"
++version = "0.39.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
++dependencies = [
++ "bitflags 2.9.1",
++]
++
++[[package]]
++name = "wl-nl80211"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5cffcf1e1dca38467779e22768bfc7f294f1b7b3bd99727edf13280eb2429789"
++dependencies = [
++ "anyhow",
++ "bitflags 2.9.1",
++ "byteorder",
++ "futures",
++ "genetlink",
++ "log",
++ "netlink-packet-core",
++ "netlink-packet-generic",
++ "netlink-packet-utils",
++ "netlink-proto",
++ "netlink-sys",
++ "thiserror 1.0.69",
++ "tokio",
++]
++
++[[package]]
++name = "zbus"
++version = "1.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9cbeb2291cd7267a94489b71376eda33496c1b9881adf6b36f26cc2779f3fc49"
++dependencies = [
++ "async-io",
++ "byteorder",
++ "derivative",
++ "enumflags2",
++ "fastrand",
++ "futures",
++ "nb-connect",
++ "nix 0.22.3",
++ "once_cell",
++ "polling",
++ "scoped-tls",
++ "serde",
++ "serde_repr",
++ "zbus_macros",
++ "zvariant",
++]
++
++[[package]]
++name = "zbus_macros"
++version = "1.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fa3959a7847cf95e3d51e312856617c5b1b77191176c65a79a5f14d778bbe0a6"
++dependencies = [
++ "proc-macro-crate 0.1.5",
++ "proc-macro2",
++ "quote",
++ "syn 1.0.109",
++]
++
++[[package]]
++name = "zvariant"
++version = "2.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a68c7b55f2074489b7e8e07d2d0a6ee6b4f233867a653c664d8020ba53692525"
++dependencies = [
++ "byteorder",
++ "enumflags2",
++ "libc",
++ "serde",
++ "static_assertions",
++ "zvariant_derive",
++]
++
++[[package]]
++name = "zvariant_derive"
++version = "2.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e4ca5e22593eb4212382d60d26350065bf2a02c34b85bc850474a74b589a3de9"
++dependencies = [
++ "proc-macro-crate 1.3.1",
++ "proc-macro2",
++ "quote",
++ "syn 1.0.109",
++]
diff --git a/patches/nmstate-2.2.24/series b/patches/nmstate-2.2.24/series
new file mode 100644
index 000000000..000c58669
--- /dev/null
+++ b/patches/nmstate-2.2.24/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-nmstate-add-Cargo.lock-file.patch
+# 37de70a81dc3bc3172acdd97c328e090  - git-ptx-patches magic
diff --git a/rules/nmstate.cargo.make b/rules/nmstate.cargo.make
new file mode 100644
index 000000000..859aa7d9c
--- /dev/null
+++ b/rules/nmstate.cargo.make
@@ -0,0 +1,937 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2025 by Robert Schwebel <r.schwebel@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# WARNING: This file is generated with 'ptxdist cargosync nmstate' and
+# should not be modified manually!
+#
+
+NMSTATE_CARGO_LOCK_MD5 := d1dc0c3c8eca47336112490948efd260
+
+NMSTATE_ADDR2LINE_0_24_2_MD5		:= fd1d0d5b3ecdfb40979711421742ddf5
+NMSTATE_ADDR2LINE_0_24_2_URL		:= https://crates.io/api/v1/crates/addr2line/0.24.2/download
+NMSTATE_ADDR2LINE_0_24_2_SOURCE	:= $(SRCDIR)/addr2line-0.24.2.crate
+NMSTATE_PARTS			+= NMSTATE_ADDR2LINE_0_24_2
+
+NMSTATE_ADLER2_2_0_0_MD5		:= 579e59ba996675f454d456471924ea9d
+NMSTATE_ADLER2_2_0_0_URL		:= https://crates.io/api/v1/crates/adler2/2.0.0/download
+NMSTATE_ADLER2_2_0_0_SOURCE	:= $(SRCDIR)/adler2-2.0.0.crate
+NMSTATE_PARTS			+= NMSTATE_ADLER2_2_0_0
+
+NMSTATE_AHO_CORASICK_1_1_3_MD5		:= 03b2d126766ed746706241b4c7487654
+NMSTATE_AHO_CORASICK_1_1_3_URL		:= https://crates.io/api/v1/crates/aho-corasick/1.1.3/download
+NMSTATE_AHO_CORASICK_1_1_3_SOURCE	:= $(SRCDIR)/aho-corasick-1.1.3.crate
+NMSTATE_PARTS			+= NMSTATE_AHO_CORASICK_1_1_3
+
+NMSTATE_ANDROID_TZDATA_0_1_1_MD5		:= e0a03581a6aea080315323651f272d65
+NMSTATE_ANDROID_TZDATA_0_1_1_URL		:= https://crates.io/api/v1/crates/android-tzdata/0.1.1/download
+NMSTATE_ANDROID_TZDATA_0_1_1_SOURCE	:= $(SRCDIR)/android-tzdata-0.1.1.crate
+NMSTATE_PARTS			+= NMSTATE_ANDROID_TZDATA_0_1_1
+
+NMSTATE_ANDROID_SYSTEM_PROPERTIES_0_1_5_MD5		:= bf23cd323c33a8c283c41bb9b79e4ce4
+NMSTATE_ANDROID_SYSTEM_PROPERTIES_0_1_5_URL		:= https://crates.io/api/v1/crates/android_system_properties/0.1.5/download
+NMSTATE_ANDROID_SYSTEM_PROPERTIES_0_1_5_SOURCE	:= $(SRCDIR)/android_system_properties-0.1.5.crate
+NMSTATE_PARTS			+= NMSTATE_ANDROID_SYSTEM_PROPERTIES_0_1_5
+
+NMSTATE_ANYHOW_1_0_98_MD5		:= 30a1c83a8e1919f634a08e25caec725f
+NMSTATE_ANYHOW_1_0_98_URL		:= https://crates.io/api/v1/crates/anyhow/1.0.98/download
+NMSTATE_ANYHOW_1_0_98_SOURCE	:= $(SRCDIR)/anyhow-1.0.98.crate
+NMSTATE_PARTS			+= NMSTATE_ANYHOW_1_0_98
+
+NMSTATE_ASYNC_IO_1_13_0_MD5		:= 85e67aace07fa2fc176e690c75109365
+NMSTATE_ASYNC_IO_1_13_0_URL		:= https://crates.io/api/v1/crates/async-io/1.13.0/download
+NMSTATE_ASYNC_IO_1_13_0_SOURCE	:= $(SRCDIR)/async-io-1.13.0.crate
+NMSTATE_PARTS			+= NMSTATE_ASYNC_IO_1_13_0
+
+NMSTATE_ASYNC_LOCK_2_8_0_MD5		:= f50aaa27a2bbd416782ea6b61cd81315
+NMSTATE_ASYNC_LOCK_2_8_0_URL		:= https://crates.io/api/v1/crates/async-lock/2.8.0/download
+NMSTATE_ASYNC_LOCK_2_8_0_SOURCE	:= $(SRCDIR)/async-lock-2.8.0.crate
+NMSTATE_PARTS			+= NMSTATE_ASYNC_LOCK_2_8_0
+
+NMSTATE_ATTY_0_2_14_MD5		:= 142cb4b9a653e56e56311f0c883b8582
+NMSTATE_ATTY_0_2_14_URL		:= https://crates.io/api/v1/crates/atty/0.2.14/download
+NMSTATE_ATTY_0_2_14_SOURCE	:= $(SRCDIR)/atty-0.2.14.crate
+NMSTATE_PARTS			+= NMSTATE_ATTY_0_2_14
+
+NMSTATE_AUTOCFG_1_4_0_MD5		:= 9e038efbd61e6d7cbc54983abc5b3948
+NMSTATE_AUTOCFG_1_4_0_URL		:= https://crates.io/api/v1/crates/autocfg/1.4.0/download
+NMSTATE_AUTOCFG_1_4_0_SOURCE	:= $(SRCDIR)/autocfg-1.4.0.crate
+NMSTATE_PARTS			+= NMSTATE_AUTOCFG_1_4_0
+
+NMSTATE_BACKTRACE_0_3_75_MD5		:= 103bdfd8ee51c1a5b4a68043e6c01188
+NMSTATE_BACKTRACE_0_3_75_URL		:= https://crates.io/api/v1/crates/backtrace/0.3.75/download
+NMSTATE_BACKTRACE_0_3_75_SOURCE	:= $(SRCDIR)/backtrace-0.3.75.crate
+NMSTATE_PARTS			+= NMSTATE_BACKTRACE_0_3_75
+
+NMSTATE_BITFLAGS_1_3_2_MD5		:= a295edb6953237ebbdfa8e731229f9a3
+NMSTATE_BITFLAGS_1_3_2_URL		:= https://crates.io/api/v1/crates/bitflags/1.3.2/download
+NMSTATE_BITFLAGS_1_3_2_SOURCE	:= $(SRCDIR)/bitflags-1.3.2.crate
+NMSTATE_PARTS			+= NMSTATE_BITFLAGS_1_3_2
+
+NMSTATE_BITFLAGS_2_9_1_MD5		:= 66940d1c249bc21e798d0acfc231d8f7
+NMSTATE_BITFLAGS_2_9_1_URL		:= https://crates.io/api/v1/crates/bitflags/2.9.1/download
+NMSTATE_BITFLAGS_2_9_1_SOURCE	:= $(SRCDIR)/bitflags-2.9.1.crate
+NMSTATE_PARTS			+= NMSTATE_BITFLAGS_2_9_1
+
+NMSTATE_BUMPALO_3_17_0_MD5		:= d383afbd0527ebb38acda5c532ba204e
+NMSTATE_BUMPALO_3_17_0_URL		:= https://crates.io/api/v1/crates/bumpalo/3.17.0/download
+NMSTATE_BUMPALO_3_17_0_SOURCE	:= $(SRCDIR)/bumpalo-3.17.0.crate
+NMSTATE_PARTS			+= NMSTATE_BUMPALO_3_17_0
+
+NMSTATE_BYTEORDER_1_5_0_MD5		:= 45339d90b2b3a4f123af5ec459954102
+NMSTATE_BYTEORDER_1_5_0_URL		:= https://crates.io/api/v1/crates/byteorder/1.5.0/download
+NMSTATE_BYTEORDER_1_5_0_SOURCE	:= $(SRCDIR)/byteorder-1.5.0.crate
+NMSTATE_PARTS			+= NMSTATE_BYTEORDER_1_5_0
+
+NMSTATE_BYTES_1_10_1_MD5		:= f5fbc93c70d12ab063028ace80b98677
+NMSTATE_BYTES_1_10_1_URL		:= https://crates.io/api/v1/crates/bytes/1.10.1/download
+NMSTATE_BYTES_1_10_1_SOURCE	:= $(SRCDIR)/bytes-1.10.1.crate
+NMSTATE_PARTS			+= NMSTATE_BYTES_1_10_1
+
+NMSTATE_CC_1_2_23_MD5		:= 5abb632d6fde1578c6e4a0fe6be0f088
+NMSTATE_CC_1_2_23_URL		:= https://crates.io/api/v1/crates/cc/1.2.23/download
+NMSTATE_CC_1_2_23_SOURCE	:= $(SRCDIR)/cc-1.2.23.crate
+NMSTATE_PARTS			+= NMSTATE_CC_1_2_23
+
+NMSTATE_CFG_IF_1_0_0_MD5		:= 74634128440dbc3766bda76fdf0aaa05
+NMSTATE_CFG_IF_1_0_0_URL		:= https://crates.io/api/v1/crates/cfg-if/1.0.0/download
+NMSTATE_CFG_IF_1_0_0_SOURCE	:= $(SRCDIR)/cfg-if-1.0.0.crate
+NMSTATE_PARTS			+= NMSTATE_CFG_IF_1_0_0
+
+NMSTATE_CFG_ALIASES_0_2_1_MD5		:= f5215c4283a1984b95043a7185245e00
+NMSTATE_CFG_ALIASES_0_2_1_URL		:= https://crates.io/api/v1/crates/cfg_aliases/0.2.1/download
+NMSTATE_CFG_ALIASES_0_2_1_SOURCE	:= $(SRCDIR)/cfg_aliases-0.2.1.crate
+NMSTATE_PARTS			+= NMSTATE_CFG_ALIASES_0_2_1
+
+NMSTATE_CHRONO_0_4_41_MD5		:= fffeee9da0f15363c41424bed77d30b2
+NMSTATE_CHRONO_0_4_41_URL		:= https://crates.io/api/v1/crates/chrono/0.4.41/download
+NMSTATE_CHRONO_0_4_41_SOURCE	:= $(SRCDIR)/chrono-0.4.41.crate
+NMSTATE_PARTS			+= NMSTATE_CHRONO_0_4_41
+
+NMSTATE_CLAP_3_2_25_MD5		:= f74bde8201e1c944db1108f1014dfb8e
+NMSTATE_CLAP_3_2_25_URL		:= https://crates.io/api/v1/crates/clap/3.2.25/download
+NMSTATE_CLAP_3_2_25_SOURCE	:= $(SRCDIR)/clap-3.2.25.crate
+NMSTATE_PARTS			+= NMSTATE_CLAP_3_2_25
+
+NMSTATE_CLAP_LEX_0_2_4_MD5		:= a2e1b64489b6bdae548ec08f883eaecf
+NMSTATE_CLAP_LEX_0_2_4_URL		:= https://crates.io/api/v1/crates/clap_lex/0.2.4/download
+NMSTATE_CLAP_LEX_0_2_4_SOURCE	:= $(SRCDIR)/clap_lex-0.2.4.crate
+NMSTATE_PARTS			+= NMSTATE_CLAP_LEX_0_2_4
+
+NMSTATE_CONCURRENT_QUEUE_2_5_0_MD5		:= d1f70680f36b13b74bab20250fb2f26f
+NMSTATE_CONCURRENT_QUEUE_2_5_0_URL		:= https://crates.io/api/v1/crates/concurrent-queue/2.5.0/download
+NMSTATE_CONCURRENT_QUEUE_2_5_0_SOURCE	:= $(SRCDIR)/concurrent-queue-2.5.0.crate
+NMSTATE_PARTS			+= NMSTATE_CONCURRENT_QUEUE_2_5_0
+
+NMSTATE_CORE_FOUNDATION_SYS_0_8_7_MD5		:= c5229cfccb6a1598e74a837dbc9e2797
+NMSTATE_CORE_FOUNDATION_SYS_0_8_7_URL		:= https://crates.io/api/v1/crates/core-foundation-sys/0.8.7/download
+NMSTATE_CORE_FOUNDATION_SYS_0_8_7_SOURCE	:= $(SRCDIR)/core-foundation-sys-0.8.7.crate
+NMSTATE_PARTS			+= NMSTATE_CORE_FOUNDATION_SYS_0_8_7
+
+NMSTATE_CROSSBEAM_UTILS_0_8_21_MD5		:= 897be1152015ad66fa30dbdc224af39d
+NMSTATE_CROSSBEAM_UTILS_0_8_21_URL		:= https://crates.io/api/v1/crates/crossbeam-utils/0.8.21/download
+NMSTATE_CROSSBEAM_UTILS_0_8_21_SOURCE	:= $(SRCDIR)/crossbeam-utils-0.8.21.crate
+NMSTATE_PARTS			+= NMSTATE_CROSSBEAM_UTILS_0_8_21
+
+NMSTATE_CTRLC_3_4_7_MD5		:= 855c3147fc856324b0ce0f9b2a9c7cd0
+NMSTATE_CTRLC_3_4_7_URL		:= https://crates.io/api/v1/crates/ctrlc/3.4.7/download
+NMSTATE_CTRLC_3_4_7_SOURCE	:= $(SRCDIR)/ctrlc-3.4.7.crate
+NMSTATE_PARTS			+= NMSTATE_CTRLC_3_4_7
+
+NMSTATE_DERIVATIVE_2_2_0_MD5		:= 59978ef7bcea7bc55e24d06a2d32a32c
+NMSTATE_DERIVATIVE_2_2_0_URL		:= https://crates.io/api/v1/crates/derivative/2.2.0/download
+NMSTATE_DERIVATIVE_2_2_0_SOURCE	:= $(SRCDIR)/derivative-2.2.0.crate
+NMSTATE_PARTS			+= NMSTATE_DERIVATIVE_2_2_0
+
+NMSTATE_ENUMFLAGS2_0_6_4_MD5		:= 8c1bba1510c915f915a9eca6fa95f476
+NMSTATE_ENUMFLAGS2_0_6_4_URL		:= https://crates.io/api/v1/crates/enumflags2/0.6.4/download
+NMSTATE_ENUMFLAGS2_0_6_4_SOURCE	:= $(SRCDIR)/enumflags2-0.6.4.crate
+NMSTATE_PARTS			+= NMSTATE_ENUMFLAGS2_0_6_4
+
+NMSTATE_ENUMFLAGS2_DERIVE_0_6_4_MD5		:= 3d2977b047e366303274ab03ebef1c2b
+NMSTATE_ENUMFLAGS2_DERIVE_0_6_4_URL		:= https://crates.io/api/v1/crates/enumflags2_derive/0.6.4/download
+NMSTATE_ENUMFLAGS2_DERIVE_0_6_4_SOURCE	:= $(SRCDIR)/enumflags2_derive-0.6.4.crate
+NMSTATE_PARTS			+= NMSTATE_ENUMFLAGS2_DERIVE_0_6_4
+
+NMSTATE_ENV_LOGGER_0_10_2_MD5		:= 955bb3f01413f4ea8fbaf6a523890178
+NMSTATE_ENV_LOGGER_0_10_2_URL		:= https://crates.io/api/v1/crates/env_logger/0.10.2/download
+NMSTATE_ENV_LOGGER_0_10_2_SOURCE	:= $(SRCDIR)/env_logger-0.10.2.crate
+NMSTATE_PARTS			+= NMSTATE_ENV_LOGGER_0_10_2
+
+NMSTATE_EQUIVALENT_1_0_2_MD5		:= 8ea35f559a34b5a0ba1b063e001773ca
+NMSTATE_EQUIVALENT_1_0_2_URL		:= https://crates.io/api/v1/crates/equivalent/1.0.2/download
+NMSTATE_EQUIVALENT_1_0_2_SOURCE	:= $(SRCDIR)/equivalent-1.0.2.crate
+NMSTATE_PARTS			+= NMSTATE_EQUIVALENT_1_0_2
+
+NMSTATE_ERRNO_0_3_12_MD5		:= 63f74ed7654ce2ca7255ba9a9aa92ee5
+NMSTATE_ERRNO_0_3_12_URL		:= https://crates.io/api/v1/crates/errno/0.3.12/download
+NMSTATE_ERRNO_0_3_12_SOURCE	:= $(SRCDIR)/errno-0.3.12.crate
+NMSTATE_PARTS			+= NMSTATE_ERRNO_0_3_12
+
+NMSTATE_ETHTOOL_0_2_8_MD5		:= e452e202b7243a16ebbdf7084d940797
+NMSTATE_ETHTOOL_0_2_8_URL		:= https://crates.io/api/v1/crates/ethtool/0.2.8/download
+NMSTATE_ETHTOOL_0_2_8_SOURCE	:= $(SRCDIR)/ethtool-0.2.8.crate
+NMSTATE_PARTS			+= NMSTATE_ETHTOOL_0_2_8
+
+NMSTATE_EVENT_LISTENER_2_5_3_MD5		:= 65934957ea79137686ded549467e1329
+NMSTATE_EVENT_LISTENER_2_5_3_URL		:= https://crates.io/api/v1/crates/event-listener/2.5.3/download
+NMSTATE_EVENT_LISTENER_2_5_3_SOURCE	:= $(SRCDIR)/event-listener-2.5.3.crate
+NMSTATE_PARTS			+= NMSTATE_EVENT_LISTENER_2_5_3
+
+NMSTATE_FASTRAND_1_9_0_MD5		:= 06e723078de46119c270eea21ec4344e
+NMSTATE_FASTRAND_1_9_0_URL		:= https://crates.io/api/v1/crates/fastrand/1.9.0/download
+NMSTATE_FASTRAND_1_9_0_SOURCE	:= $(SRCDIR)/fastrand-1.9.0.crate
+NMSTATE_PARTS			+= NMSTATE_FASTRAND_1_9_0
+
+NMSTATE_FUTURES_0_3_31_MD5		:= 17d69a1f0242b43b66a0e9a1887a73f4
+NMSTATE_FUTURES_0_3_31_URL		:= https://crates.io/api/v1/crates/futures/0.3.31/download
+NMSTATE_FUTURES_0_3_31_SOURCE	:= $(SRCDIR)/futures-0.3.31.crate
+NMSTATE_PARTS			+= NMSTATE_FUTURES_0_3_31
+
+NMSTATE_FUTURES_CHANNEL_0_3_31_MD5		:= a086623c9c2f91f23ae5afee7129c943
+NMSTATE_FUTURES_CHANNEL_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-channel/0.3.31/download
+NMSTATE_FUTURES_CHANNEL_0_3_31_SOURCE	:= $(SRCDIR)/futures-channel-0.3.31.crate
+NMSTATE_PARTS			+= NMSTATE_FUTURES_CHANNEL_0_3_31
+
+NMSTATE_FUTURES_CORE_0_3_31_MD5		:= 9a91b575ff300519839e2e765c124427
+NMSTATE_FUTURES_CORE_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-core/0.3.31/download
+NMSTATE_FUTURES_CORE_0_3_31_SOURCE	:= $(SRCDIR)/futures-core-0.3.31.crate
+NMSTATE_PARTS			+= NMSTATE_FUTURES_CORE_0_3_31
+
+NMSTATE_FUTURES_EXECUTOR_0_3_31_MD5		:= 6b8cf12fc0d02dbc2eb906b5cf74f8c1
+NMSTATE_FUTURES_EXECUTOR_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-executor/0.3.31/download
+NMSTATE_FUTURES_EXECUTOR_0_3_31_SOURCE	:= $(SRCDIR)/futures-executor-0.3.31.crate
+NMSTATE_PARTS			+= NMSTATE_FUTURES_EXECUTOR_0_3_31
+
+NMSTATE_FUTURES_IO_0_3_31_MD5		:= 118c724fa4cfcc59ef1bcaa438d997b2
+NMSTATE_FUTURES_IO_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-io/0.3.31/download
+NMSTATE_FUTURES_IO_0_3_31_SOURCE	:= $(SRCDIR)/futures-io-0.3.31.crate
+NMSTATE_PARTS			+= NMSTATE_FUTURES_IO_0_3_31
+
+NMSTATE_FUTURES_LITE_1_13_0_MD5		:= c5aab47b001d43b71b542984f783b4b3
+NMSTATE_FUTURES_LITE_1_13_0_URL		:= https://crates.io/api/v1/crates/futures-lite/1.13.0/download
+NMSTATE_FUTURES_LITE_1_13_0_SOURCE	:= $(SRCDIR)/futures-lite-1.13.0.crate
+NMSTATE_PARTS			+= NMSTATE_FUTURES_LITE_1_13_0
+
+NMSTATE_FUTURES_MACRO_0_3_31_MD5		:= e597e8c43837b595ee5922b605dec5b4
+NMSTATE_FUTURES_MACRO_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-macro/0.3.31/download
+NMSTATE_FUTURES_MACRO_0_3_31_SOURCE	:= $(SRCDIR)/futures-macro-0.3.31.crate
+NMSTATE_PARTS			+= NMSTATE_FUTURES_MACRO_0_3_31
+
+NMSTATE_FUTURES_SINK_0_3_31_MD5		:= b6667c48b9fc2e1cdae5697a19a021e1
+NMSTATE_FUTURES_SINK_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-sink/0.3.31/download
+NMSTATE_FUTURES_SINK_0_3_31_SOURCE	:= $(SRCDIR)/futures-sink-0.3.31.crate
+NMSTATE_PARTS			+= NMSTATE_FUTURES_SINK_0_3_31
+
+NMSTATE_FUTURES_TASK_0_3_31_MD5		:= 591cbad56682180a4160a8feedc6c468
+NMSTATE_FUTURES_TASK_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-task/0.3.31/download
+NMSTATE_FUTURES_TASK_0_3_31_SOURCE	:= $(SRCDIR)/futures-task-0.3.31.crate
+NMSTATE_PARTS			+= NMSTATE_FUTURES_TASK_0_3_31
+
+NMSTATE_FUTURES_UTIL_0_3_31_MD5		:= f63e8b6601cfe5fe91cb977b3bacd1a2
+NMSTATE_FUTURES_UTIL_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-util/0.3.31/download
+NMSTATE_FUTURES_UTIL_0_3_31_SOURCE	:= $(SRCDIR)/futures-util-0.3.31.crate
+NMSTATE_PARTS			+= NMSTATE_FUTURES_UTIL_0_3_31
+
+NMSTATE_GENETLINK_0_2_5_MD5		:= cb1ac4e7f6516be8fb68214a1009da54
+NMSTATE_GENETLINK_0_2_5_URL		:= https://crates.io/api/v1/crates/genetlink/0.2.5/download
+NMSTATE_GENETLINK_0_2_5_SOURCE	:= $(SRCDIR)/genetlink-0.2.5.crate
+NMSTATE_PARTS			+= NMSTATE_GENETLINK_0_2_5
+
+NMSTATE_GETRANDOM_0_3_3_MD5		:= f3426774ce46ffb82273b7568411c2dc
+NMSTATE_GETRANDOM_0_3_3_URL		:= https://crates.io/api/v1/crates/getrandom/0.3.3/download
+NMSTATE_GETRANDOM_0_3_3_SOURCE	:= $(SRCDIR)/getrandom-0.3.3.crate
+NMSTATE_PARTS			+= NMSTATE_GETRANDOM_0_3_3
+
+NMSTATE_GIMLI_0_31_1_MD5		:= af0a19b2d65a8a745d733aef0337fb02
+NMSTATE_GIMLI_0_31_1_URL		:= https://crates.io/api/v1/crates/gimli/0.31.1/download
+NMSTATE_GIMLI_0_31_1_SOURCE	:= $(SRCDIR)/gimli-0.31.1.crate
+NMSTATE_PARTS			+= NMSTATE_GIMLI_0_31_1
+
+NMSTATE_HASHBROWN_0_12_3_MD5		:= 1b41b97d982520b7364a87a39e2a1ed8
+NMSTATE_HASHBROWN_0_12_3_URL		:= https://crates.io/api/v1/crates/hashbrown/0.12.3/download
+NMSTATE_HASHBROWN_0_12_3_SOURCE	:= $(SRCDIR)/hashbrown-0.12.3.crate
+NMSTATE_PARTS			+= NMSTATE_HASHBROWN_0_12_3
+
+NMSTATE_HASHBROWN_0_15_3_MD5		:= 327eea52c1aa56419e84353cc55db1cd
+NMSTATE_HASHBROWN_0_15_3_URL		:= https://crates.io/api/v1/crates/hashbrown/0.15.3/download
+NMSTATE_HASHBROWN_0_15_3_SOURCE	:= $(SRCDIR)/hashbrown-0.15.3.crate
+NMSTATE_PARTS			+= NMSTATE_HASHBROWN_0_15_3
+
+NMSTATE_HERMIT_ABI_0_1_19_MD5		:= 0b7994d1256215201bdfb810a357ffa2
+NMSTATE_HERMIT_ABI_0_1_19_URL		:= https://crates.io/api/v1/crates/hermit-abi/0.1.19/download
+NMSTATE_HERMIT_ABI_0_1_19_SOURCE	:= $(SRCDIR)/hermit-abi-0.1.19.crate
+NMSTATE_PARTS			+= NMSTATE_HERMIT_ABI_0_1_19
+
+NMSTATE_HERMIT_ABI_0_3_9_MD5		:= 4daeb6abd6951210bed659c3c1ea01b4
+NMSTATE_HERMIT_ABI_0_3_9_URL		:= https://crates.io/api/v1/crates/hermit-abi/0.3.9/download
+NMSTATE_HERMIT_ABI_0_3_9_SOURCE	:= $(SRCDIR)/hermit-abi-0.3.9.crate
+NMSTATE_PARTS			+= NMSTATE_HERMIT_ABI_0_3_9
+
+NMSTATE_HERMIT_ABI_0_5_1_MD5		:= 523d83c72f2cb42268ecdb33f0eab20a
+NMSTATE_HERMIT_ABI_0_5_1_URL		:= https://crates.io/api/v1/crates/hermit-abi/0.5.1/download
+NMSTATE_HERMIT_ABI_0_5_1_SOURCE	:= $(SRCDIR)/hermit-abi-0.5.1.crate
+NMSTATE_PARTS			+= NMSTATE_HERMIT_ABI_0_5_1
+
+NMSTATE_HUMANTIME_2_2_0_MD5		:= 3ba90671392e5da62b511746dceb8067
+NMSTATE_HUMANTIME_2_2_0_URL		:= https://crates.io/api/v1/crates/humantime/2.2.0/download
+NMSTATE_HUMANTIME_2_2_0_SOURCE	:= $(SRCDIR)/humantime-2.2.0.crate
+NMSTATE_PARTS			+= NMSTATE_HUMANTIME_2_2_0
+
+NMSTATE_IANA_TIME_ZONE_0_1_63_MD5		:= 0af390dbe05b0ce39fd6fbe7e4584bff
+NMSTATE_IANA_TIME_ZONE_0_1_63_URL		:= https://crates.io/api/v1/crates/iana-time-zone/0.1.63/download
+NMSTATE_IANA_TIME_ZONE_0_1_63_SOURCE	:= $(SRCDIR)/iana-time-zone-0.1.63.crate
+NMSTATE_PARTS			+= NMSTATE_IANA_TIME_ZONE_0_1_63
+
+NMSTATE_IANA_TIME_ZONE_HAIKU_0_1_2_MD5		:= 87b1b7cb12ef4dfe842c212b98263048
+NMSTATE_IANA_TIME_ZONE_HAIKU_0_1_2_URL		:= https://crates.io/api/v1/crates/iana-time-zone-haiku/0.1.2/download
+NMSTATE_IANA_TIME_ZONE_HAIKU_0_1_2_SOURCE	:= $(SRCDIR)/iana-time-zone-haiku-0.1.2.crate
+NMSTATE_PARTS			+= NMSTATE_IANA_TIME_ZONE_HAIKU_0_1_2
+
+NMSTATE_INDEXMAP_1_9_3_MD5		:= 11ce8b5f52cd315e8f52985b834b87eb
+NMSTATE_INDEXMAP_1_9_3_URL		:= https://crates.io/api/v1/crates/indexmap/1.9.3/download
+NMSTATE_INDEXMAP_1_9_3_SOURCE	:= $(SRCDIR)/indexmap-1.9.3.crate
+NMSTATE_PARTS			+= NMSTATE_INDEXMAP_1_9_3
+
+NMSTATE_INDEXMAP_2_9_0_MD5		:= 9b19a29c7a8300474bf15347ced57198
+NMSTATE_INDEXMAP_2_9_0_URL		:= https://crates.io/api/v1/crates/indexmap/2.9.0/download
+NMSTATE_INDEXMAP_2_9_0_SOURCE	:= $(SRCDIR)/indexmap-2.9.0.crate
+NMSTATE_PARTS			+= NMSTATE_INDEXMAP_2_9_0
+
+NMSTATE_INSTANT_0_1_13_MD5		:= 43aa79b89b15111c5ea9314737302826
+NMSTATE_INSTANT_0_1_13_URL		:= https://crates.io/api/v1/crates/instant/0.1.13/download
+NMSTATE_INSTANT_0_1_13_SOURCE	:= $(SRCDIR)/instant-0.1.13.crate
+NMSTATE_PARTS			+= NMSTATE_INSTANT_0_1_13
+
+NMSTATE_IO_LIFETIMES_1_0_11_MD5		:= c6612f34c3ee98ced239da95fbede236
+NMSTATE_IO_LIFETIMES_1_0_11_URL		:= https://crates.io/api/v1/crates/io-lifetimes/1.0.11/download
+NMSTATE_IO_LIFETIMES_1_0_11_SOURCE	:= $(SRCDIR)/io-lifetimes-1.0.11.crate
+NMSTATE_PARTS			+= NMSTATE_IO_LIFETIMES_1_0_11
+
+NMSTATE_IS_TERMINAL_0_4_16_MD5		:= b651cd7c5ed8486a1f53e0c4b4918457
+NMSTATE_IS_TERMINAL_0_4_16_URL		:= https://crates.io/api/v1/crates/is-terminal/0.4.16/download
+NMSTATE_IS_TERMINAL_0_4_16_SOURCE	:= $(SRCDIR)/is-terminal-0.4.16.crate
+NMSTATE_PARTS			+= NMSTATE_IS_TERMINAL_0_4_16
+
+NMSTATE_ITOA_1_0_15_MD5		:= ba82a589ab0348c1be03dfb9dd33e2ad
+NMSTATE_ITOA_1_0_15_URL		:= https://crates.io/api/v1/crates/itoa/1.0.15/download
+NMSTATE_ITOA_1_0_15_SOURCE	:= $(SRCDIR)/itoa-1.0.15.crate
+NMSTATE_PARTS			+= NMSTATE_ITOA_1_0_15
+
+NMSTATE_JS_SYS_0_3_77_MD5		:= 1f421f29ba11d889e8b0693f29c62f84
+NMSTATE_JS_SYS_0_3_77_URL		:= https://crates.io/api/v1/crates/js-sys/0.3.77/download
+NMSTATE_JS_SYS_0_3_77_SOURCE	:= $(SRCDIR)/js-sys-0.3.77.crate
+NMSTATE_PARTS			+= NMSTATE_JS_SYS_0_3_77
+
+NMSTATE_LIBC_0_2_172_MD5		:= 8501391edc08ecfa366d4c421cf77657
+NMSTATE_LIBC_0_2_172_URL		:= https://crates.io/api/v1/crates/libc/0.2.172/download
+NMSTATE_LIBC_0_2_172_SOURCE	:= $(SRCDIR)/libc-0.2.172.crate
+NMSTATE_PARTS			+= NMSTATE_LIBC_0_2_172
+
+NMSTATE_LINUX_RAW_SYS_0_3_8_MD5		:= 18fa61f2d92d4df309c67cb3f3197987
+NMSTATE_LINUX_RAW_SYS_0_3_8_URL		:= https://crates.io/api/v1/crates/linux-raw-sys/0.3.8/download
+NMSTATE_LINUX_RAW_SYS_0_3_8_SOURCE	:= $(SRCDIR)/linux-raw-sys-0.3.8.crate
+NMSTATE_PARTS			+= NMSTATE_LINUX_RAW_SYS_0_3_8
+
+NMSTATE_LOG_0_4_27_MD5		:= 6024116d77633589f38c78bf1716c704
+NMSTATE_LOG_0_4_27_URL		:= https://crates.io/api/v1/crates/log/0.4.27/download
+NMSTATE_LOG_0_4_27_SOURCE	:= $(SRCDIR)/log-0.4.27.crate
+NMSTATE_PARTS			+= NMSTATE_LOG_0_4_27
+
+NMSTATE_MEMCHR_2_7_4_MD5		:= c0aab5e6eaaa6a2f3c7ed44f123d1c7d
+NMSTATE_MEMCHR_2_7_4_URL		:= https://crates.io/api/v1/crates/memchr/2.7.4/download
+NMSTATE_MEMCHR_2_7_4_SOURCE	:= $(SRCDIR)/memchr-2.7.4.crate
+NMSTATE_PARTS			+= NMSTATE_MEMCHR_2_7_4
+
+NMSTATE_MEMOFFSET_0_6_5_MD5		:= 76124c2327f642cddf19a4aa50cbcb7d
+NMSTATE_MEMOFFSET_0_6_5_URL		:= https://crates.io/api/v1/crates/memoffset/0.6.5/download
+NMSTATE_MEMOFFSET_0_6_5_SOURCE	:= $(SRCDIR)/memoffset-0.6.5.crate
+NMSTATE_PARTS			+= NMSTATE_MEMOFFSET_0_6_5
+
+NMSTATE_MINIZ_OXIDE_0_8_8_MD5		:= 7eda6ebdba25986c8a1b7e465641fc38
+NMSTATE_MINIZ_OXIDE_0_8_8_URL		:= https://crates.io/api/v1/crates/miniz_oxide/0.8.8/download
+NMSTATE_MINIZ_OXIDE_0_8_8_SOURCE	:= $(SRCDIR)/miniz_oxide-0.8.8.crate
+NMSTATE_PARTS			+= NMSTATE_MINIZ_OXIDE_0_8_8
+
+NMSTATE_MIO_1_0_3_MD5		:= 8c5b656fbc77cf40ea254ccea0bb189d
+NMSTATE_MIO_1_0_3_URL		:= https://crates.io/api/v1/crates/mio/1.0.3/download
+NMSTATE_MIO_1_0_3_SOURCE	:= $(SRCDIR)/mio-1.0.3.crate
+NMSTATE_PARTS			+= NMSTATE_MIO_1_0_3
+
+NMSTATE_MPTCP_PM_0_1_3_MD5		:= 08e3b3d125f680b62f4175a2883c67ad
+NMSTATE_MPTCP_PM_0_1_3_URL		:= https://crates.io/api/v1/crates/mptcp-pm/0.1.3/download
+NMSTATE_MPTCP_PM_0_1_3_SOURCE	:= $(SRCDIR)/mptcp-pm-0.1.3.crate
+NMSTATE_PARTS			+= NMSTATE_MPTCP_PM_0_1_3
+
+NMSTATE_NB_CONNECT_1_2_0_MD5		:= 4917ff4eaed099a21ff16b96f0df49cb
+NMSTATE_NB_CONNECT_1_2_0_URL		:= https://crates.io/api/v1/crates/nb-connect/1.2.0/download
+NMSTATE_NB_CONNECT_1_2_0_SOURCE	:= $(SRCDIR)/nb-connect-1.2.0.crate
+NMSTATE_PARTS			+= NMSTATE_NB_CONNECT_1_2_0
+
+NMSTATE_NETLINK_PACKET_CORE_0_7_0_MD5		:= 9bd492b34a2e1a642bdddf2496735019
+NMSTATE_NETLINK_PACKET_CORE_0_7_0_URL		:= https://crates.io/api/v1/crates/netlink-packet-core/0.7.0/download
+NMSTATE_NETLINK_PACKET_CORE_0_7_0_SOURCE	:= $(SRCDIR)/netlink-packet-core-0.7.0.crate
+NMSTATE_PARTS			+= NMSTATE_NETLINK_PACKET_CORE_0_7_0
+
+NMSTATE_NETLINK_PACKET_GENERIC_0_3_3_MD5		:= 31f2a7911a7271229789cbec1ce4cac8
+NMSTATE_NETLINK_PACKET_GENERIC_0_3_3_URL		:= https://crates.io/api/v1/crates/netlink-packet-generic/0.3.3/download
+NMSTATE_NETLINK_PACKET_GENERIC_0_3_3_SOURCE	:= $(SRCDIR)/netlink-packet-generic-0.3.3.crate
+NMSTATE_PARTS			+= NMSTATE_NETLINK_PACKET_GENERIC_0_3_3
+
+NMSTATE_NETLINK_PACKET_ROUTE_0_22_0_MD5		:= 2f30cb4e52c3980d72e46e16ada5d79e
+NMSTATE_NETLINK_PACKET_ROUTE_0_22_0_URL		:= https://crates.io/api/v1/crates/netlink-packet-route/0.22.0/download
+NMSTATE_NETLINK_PACKET_ROUTE_0_22_0_SOURCE	:= $(SRCDIR)/netlink-packet-route-0.22.0.crate
+NMSTATE_PARTS			+= NMSTATE_NETLINK_PACKET_ROUTE_0_22_0
+
+NMSTATE_NETLINK_PACKET_UTILS_0_5_2_MD5		:= 46f610f530c61a6c9b068afa5699ff7f
+NMSTATE_NETLINK_PACKET_UTILS_0_5_2_URL		:= https://crates.io/api/v1/crates/netlink-packet-utils/0.5.2/download
+NMSTATE_NETLINK_PACKET_UTILS_0_5_2_SOURCE	:= $(SRCDIR)/netlink-packet-utils-0.5.2.crate
+NMSTATE_PARTS			+= NMSTATE_NETLINK_PACKET_UTILS_0_5_2
+
+NMSTATE_NETLINK_PROTO_0_11_5_MD5		:= abdb7bd2ef5184a89e683377d2f598d2
+NMSTATE_NETLINK_PROTO_0_11_5_URL		:= https://crates.io/api/v1/crates/netlink-proto/0.11.5/download
+NMSTATE_NETLINK_PROTO_0_11_5_SOURCE	:= $(SRCDIR)/netlink-proto-0.11.5.crate
+NMSTATE_PARTS			+= NMSTATE_NETLINK_PROTO_0_11_5
+
+NMSTATE_NETLINK_SYS_0_8_7_MD5		:= a9ee827067c21dc2ad9e9a193f5d356c
+NMSTATE_NETLINK_SYS_0_8_7_URL		:= https://crates.io/api/v1/crates/netlink-sys/0.8.7/download
+NMSTATE_NETLINK_SYS_0_8_7_SOURCE	:= $(SRCDIR)/netlink-sys-0.8.7.crate
+NMSTATE_PARTS			+= NMSTATE_NETLINK_SYS_0_8_7
+
+NMSTATE_NISPOR_1_2_24_MD5		:= 1aab7a74e712a2faf2d40314db499558
+NMSTATE_NISPOR_1_2_24_URL		:= https://crates.io/api/v1/crates/nispor/1.2.24/download
+NMSTATE_NISPOR_1_2_24_SOURCE	:= $(SRCDIR)/nispor-1.2.24.crate
+NMSTATE_PARTS			+= NMSTATE_NISPOR_1_2_24
+
+NMSTATE_NIX_0_22_3_MD5		:= 00182a0bd2b30bb3694008ba56adadcb
+NMSTATE_NIX_0_22_3_URL		:= https://crates.io/api/v1/crates/nix/0.22.3/download
+NMSTATE_NIX_0_22_3_SOURCE	:= $(SRCDIR)/nix-0.22.3.crate
+NMSTATE_PARTS			+= NMSTATE_NIX_0_22_3
+
+NMSTATE_NIX_0_26_4_MD5		:= 44ab2701d152b855941648698cd7a99e
+NMSTATE_NIX_0_26_4_URL		:= https://crates.io/api/v1/crates/nix/0.26.4/download
+NMSTATE_NIX_0_26_4_SOURCE	:= $(SRCDIR)/nix-0.26.4.crate
+NMSTATE_PARTS			+= NMSTATE_NIX_0_26_4
+
+NMSTATE_NIX_0_29_0_MD5		:= ed4e44c8eeb59ccf02891681bd0a5f2d
+NMSTATE_NIX_0_29_0_URL		:= https://crates.io/api/v1/crates/nix/0.29.0/download
+NMSTATE_NIX_0_29_0_SOURCE	:= $(SRCDIR)/nix-0.29.0.crate
+NMSTATE_PARTS			+= NMSTATE_NIX_0_29_0
+
+NMSTATE_NIX_0_30_1_MD5		:= 87955f326fc2aa9627d446518454080f
+NMSTATE_NIX_0_30_1_URL		:= https://crates.io/api/v1/crates/nix/0.30.1/download
+NMSTATE_NIX_0_30_1_SOURCE	:= $(SRCDIR)/nix-0.30.1.crate
+NMSTATE_PARTS			+= NMSTATE_NIX_0_30_1
+
+NMSTATE_NUM_TRAITS_0_2_19_MD5		:= e092b3abcc54806f2a35889d725bf95f
+NMSTATE_NUM_TRAITS_0_2_19_URL		:= https://crates.io/api/v1/crates/num-traits/0.2.19/download
+NMSTATE_NUM_TRAITS_0_2_19_SOURCE	:= $(SRCDIR)/num-traits-0.2.19.crate
+NMSTATE_PARTS			+= NMSTATE_NUM_TRAITS_0_2_19
+
+NMSTATE_OBJECT_0_36_7_MD5		:= b0476c408e48108f9a8a74c64372fe53
+NMSTATE_OBJECT_0_36_7_URL		:= https://crates.io/api/v1/crates/object/0.36.7/download
+NMSTATE_OBJECT_0_36_7_SOURCE	:= $(SRCDIR)/object-0.36.7.crate
+NMSTATE_PARTS			+= NMSTATE_OBJECT_0_36_7
+
+NMSTATE_ONCE_CELL_1_21_3_MD5		:= 76f8e4dcc29ab304e065cced86a344d2
+NMSTATE_ONCE_CELL_1_21_3_URL		:= https://crates.io/api/v1/crates/once_cell/1.21.3/download
+NMSTATE_ONCE_CELL_1_21_3_SOURCE	:= $(SRCDIR)/once_cell-1.21.3.crate
+NMSTATE_PARTS			+= NMSTATE_ONCE_CELL_1_21_3
+
+NMSTATE_OS_STR_BYTES_6_6_1_MD5		:= 99df7a151e861c988b41f2d5e8b8ca08
+NMSTATE_OS_STR_BYTES_6_6_1_URL		:= https://crates.io/api/v1/crates/os_str_bytes/6.6.1/download
+NMSTATE_OS_STR_BYTES_6_6_1_SOURCE	:= $(SRCDIR)/os_str_bytes-6.6.1.crate
+NMSTATE_PARTS			+= NMSTATE_OS_STR_BYTES_6_6_1
+
+NMSTATE_PARKING_2_2_1_MD5		:= c98fa41bae9a9421fcf24801356ef5a8
+NMSTATE_PARKING_2_2_1_URL		:= https://crates.io/api/v1/crates/parking/2.2.1/download
+NMSTATE_PARKING_2_2_1_SOURCE	:= $(SRCDIR)/parking-2.2.1.crate
+NMSTATE_PARTS			+= NMSTATE_PARKING_2_2_1
+
+NMSTATE_PASTE_1_0_15_MD5		:= d57243eda469f74ab7f743a0c22ab1d7
+NMSTATE_PASTE_1_0_15_URL		:= https://crates.io/api/v1/crates/paste/1.0.15/download
+NMSTATE_PASTE_1_0_15_SOURCE	:= $(SRCDIR)/paste-1.0.15.crate
+NMSTATE_PARTS			+= NMSTATE_PASTE_1_0_15
+
+NMSTATE_PIN_PROJECT_LITE_0_2_16_MD5		:= f6c8ce4c412ca548e42dfd896c92112e
+NMSTATE_PIN_PROJECT_LITE_0_2_16_URL		:= https://crates.io/api/v1/crates/pin-project-lite/0.2.16/download
+NMSTATE_PIN_PROJECT_LITE_0_2_16_SOURCE	:= $(SRCDIR)/pin-project-lite-0.2.16.crate
+NMSTATE_PARTS			+= NMSTATE_PIN_PROJECT_LITE_0_2_16
+
+NMSTATE_PIN_UTILS_0_1_0_MD5		:= 07c75fec267864bcbb800ca7709ceae2
+NMSTATE_PIN_UTILS_0_1_0_URL		:= https://crates.io/api/v1/crates/pin-utils/0.1.0/download
+NMSTATE_PIN_UTILS_0_1_0_SOURCE	:= $(SRCDIR)/pin-utils-0.1.0.crate
+NMSTATE_PARTS			+= NMSTATE_PIN_UTILS_0_1_0
+
+NMSTATE_POLLING_2_8_0_MD5		:= 343b2fab0e168b874bc0d070034988b5
+NMSTATE_POLLING_2_8_0_URL		:= https://crates.io/api/v1/crates/polling/2.8.0/download
+NMSTATE_POLLING_2_8_0_SOURCE	:= $(SRCDIR)/polling-2.8.0.crate
+NMSTATE_PARTS			+= NMSTATE_POLLING_2_8_0
+
+NMSTATE_PROC_MACRO_CRATE_0_1_5_MD5		:= 5ecf56203dda9419751b532d99c3601d
+NMSTATE_PROC_MACRO_CRATE_0_1_5_URL		:= https://crates.io/api/v1/crates/proc-macro-crate/0.1.5/download
+NMSTATE_PROC_MACRO_CRATE_0_1_5_SOURCE	:= $(SRCDIR)/proc-macro-crate-0.1.5.crate
+NMSTATE_PARTS			+= NMSTATE_PROC_MACRO_CRATE_0_1_5
+
+NMSTATE_PROC_MACRO_CRATE_1_3_1_MD5		:= b5012003220ca5bf1512946914dfe295
+NMSTATE_PROC_MACRO_CRATE_1_3_1_URL		:= https://crates.io/api/v1/crates/proc-macro-crate/1.3.1/download
+NMSTATE_PROC_MACRO_CRATE_1_3_1_SOURCE	:= $(SRCDIR)/proc-macro-crate-1.3.1.crate
+NMSTATE_PARTS			+= NMSTATE_PROC_MACRO_CRATE_1_3_1
+
+NMSTATE_PROC_MACRO2_1_0_95_MD5		:= c16cc32167fa1743e25b85c7a2708a7c
+NMSTATE_PROC_MACRO2_1_0_95_URL		:= https://crates.io/api/v1/crates/proc-macro2/1.0.95/download
+NMSTATE_PROC_MACRO2_1_0_95_SOURCE	:= $(SRCDIR)/proc-macro2-1.0.95.crate
+NMSTATE_PARTS			+= NMSTATE_PROC_MACRO2_1_0_95
+
+NMSTATE_QUOTE_1_0_40_MD5		:= f6471dc7b34a49fca3f64c3c2cb641a4
+NMSTATE_QUOTE_1_0_40_URL		:= https://crates.io/api/v1/crates/quote/1.0.40/download
+NMSTATE_QUOTE_1_0_40_SOURCE	:= $(SRCDIR)/quote-1.0.40.crate
+NMSTATE_PARTS			+= NMSTATE_QUOTE_1_0_40
+
+NMSTATE_R_EFI_5_2_0_MD5		:= 2535f4ec6c6454ee31eeb69a81fe0163
+NMSTATE_R_EFI_5_2_0_URL		:= https://crates.io/api/v1/crates/r-efi/5.2.0/download
+NMSTATE_R_EFI_5_2_0_SOURCE	:= $(SRCDIR)/r-efi-5.2.0.crate
+NMSTATE_PARTS			+= NMSTATE_R_EFI_5_2_0
+
+NMSTATE_REGEX_1_11_1_MD5		:= 83ecafda24e071eea2198d9b440739ce
+NMSTATE_REGEX_1_11_1_URL		:= https://crates.io/api/v1/crates/regex/1.11.1/download
+NMSTATE_REGEX_1_11_1_SOURCE	:= $(SRCDIR)/regex-1.11.1.crate
+NMSTATE_PARTS			+= NMSTATE_REGEX_1_11_1
+
+NMSTATE_REGEX_AUTOMATA_0_4_9_MD5		:= 15ca0efe66412fae9536d428d93e6a73
+NMSTATE_REGEX_AUTOMATA_0_4_9_URL		:= https://crates.io/api/v1/crates/regex-automata/0.4.9/download
+NMSTATE_REGEX_AUTOMATA_0_4_9_SOURCE	:= $(SRCDIR)/regex-automata-0.4.9.crate
+NMSTATE_PARTS			+= NMSTATE_REGEX_AUTOMATA_0_4_9
+
+NMSTATE_REGEX_SYNTAX_0_8_5_MD5		:= 45c2ac064f6aedb1944b989742218e26
+NMSTATE_REGEX_SYNTAX_0_8_5_URL		:= https://crates.io/api/v1/crates/regex-syntax/0.8.5/download
+NMSTATE_REGEX_SYNTAX_0_8_5_SOURCE	:= $(SRCDIR)/regex-syntax-0.8.5.crate
+NMSTATE_PARTS			+= NMSTATE_REGEX_SYNTAX_0_8_5
+
+NMSTATE_RTNETLINK_0_16_0_MD5		:= 38132eb35fa8d25f51b56c022a4da0b4
+NMSTATE_RTNETLINK_0_16_0_URL		:= https://crates.io/api/v1/crates/rtnetlink/0.16.0/download
+NMSTATE_RTNETLINK_0_16_0_SOURCE	:= $(SRCDIR)/rtnetlink-0.16.0.crate
+NMSTATE_PARTS			+= NMSTATE_RTNETLINK_0_16_0
+
+NMSTATE_RUSTC_DEMANGLE_0_1_24_MD5		:= b400c455aaf7d3e6a216261f07c4bc93
+NMSTATE_RUSTC_DEMANGLE_0_1_24_URL		:= https://crates.io/api/v1/crates/rustc-demangle/0.1.24/download
+NMSTATE_RUSTC_DEMANGLE_0_1_24_SOURCE	:= $(SRCDIR)/rustc-demangle-0.1.24.crate
+NMSTATE_PARTS			+= NMSTATE_RUSTC_DEMANGLE_0_1_24
+
+NMSTATE_RUSTIX_0_37_28_MD5		:= 63841fe8957f9e4ca944c944fc9d5355
+NMSTATE_RUSTIX_0_37_28_URL		:= https://crates.io/api/v1/crates/rustix/0.37.28/download
+NMSTATE_RUSTIX_0_37_28_SOURCE	:= $(SRCDIR)/rustix-0.37.28.crate
+NMSTATE_PARTS			+= NMSTATE_RUSTIX_0_37_28
+
+NMSTATE_RUSTVERSION_1_0_20_MD5		:= f78b0c36a0f74a479aa2207667eab643
+NMSTATE_RUSTVERSION_1_0_20_URL		:= https://crates.io/api/v1/crates/rustversion/1.0.20/download
+NMSTATE_RUSTVERSION_1_0_20_SOURCE	:= $(SRCDIR)/rustversion-1.0.20.crate
+NMSTATE_PARTS			+= NMSTATE_RUSTVERSION_1_0_20
+
+NMSTATE_RYU_1_0_20_MD5		:= dc3cd3d0dc142df381bc6728ef740748
+NMSTATE_RYU_1_0_20_URL		:= https://crates.io/api/v1/crates/ryu/1.0.20/download
+NMSTATE_RYU_1_0_20_SOURCE	:= $(SRCDIR)/ryu-1.0.20.crate
+NMSTATE_PARTS			+= NMSTATE_RYU_1_0_20
+
+NMSTATE_SCOPED_TLS_1_0_1_MD5		:= b898bcf321bba46ecd15c9279cdbb290
+NMSTATE_SCOPED_TLS_1_0_1_URL		:= https://crates.io/api/v1/crates/scoped-tls/1.0.1/download
+NMSTATE_SCOPED_TLS_1_0_1_SOURCE	:= $(SRCDIR)/scoped-tls-1.0.1.crate
+NMSTATE_PARTS			+= NMSTATE_SCOPED_TLS_1_0_1
+
+NMSTATE_SERDE_1_0_219_MD5		:= c7251782043416b8adca3bf107f7b667
+NMSTATE_SERDE_1_0_219_URL		:= https://crates.io/api/v1/crates/serde/1.0.219/download
+NMSTATE_SERDE_1_0_219_SOURCE	:= $(SRCDIR)/serde-1.0.219.crate
+NMSTATE_PARTS			+= NMSTATE_SERDE_1_0_219
+
+NMSTATE_SERDE_DERIVE_1_0_219_MD5		:= 1a4ffa27fc05042873cff99ef4b4405d
+NMSTATE_SERDE_DERIVE_1_0_219_URL		:= https://crates.io/api/v1/crates/serde_derive/1.0.219/download
+NMSTATE_SERDE_DERIVE_1_0_219_SOURCE	:= $(SRCDIR)/serde_derive-1.0.219.crate
+NMSTATE_PARTS			+= NMSTATE_SERDE_DERIVE_1_0_219
+
+NMSTATE_SERDE_JSON_1_0_140_MD5		:= d23def43a238240dfaa85ac619e29944
+NMSTATE_SERDE_JSON_1_0_140_URL		:= https://crates.io/api/v1/crates/serde_json/1.0.140/download
+NMSTATE_SERDE_JSON_1_0_140_SOURCE	:= $(SRCDIR)/serde_json-1.0.140.crate
+NMSTATE_PARTS			+= NMSTATE_SERDE_JSON_1_0_140
+
+NMSTATE_SERDE_REPR_0_1_20_MD5		:= 676e65dace8aca0ab03d8d3b39e7f618
+NMSTATE_SERDE_REPR_0_1_20_URL		:= https://crates.io/api/v1/crates/serde_repr/0.1.20/download
+NMSTATE_SERDE_REPR_0_1_20_SOURCE	:= $(SRCDIR)/serde_repr-0.1.20.crate
+NMSTATE_PARTS			+= NMSTATE_SERDE_REPR_0_1_20
+
+NMSTATE_SERDE_SPANNED_0_6_8_MD5		:= 717e66a221741e82f082a07b16e698bd
+NMSTATE_SERDE_SPANNED_0_6_8_URL		:= https://crates.io/api/v1/crates/serde_spanned/0.6.8/download
+NMSTATE_SERDE_SPANNED_0_6_8_SOURCE	:= $(SRCDIR)/serde_spanned-0.6.8.crate
+NMSTATE_PARTS			+= NMSTATE_SERDE_SPANNED_0_6_8
+
+NMSTATE_SERDE_YAML_0_9_34_DEPRECATED_MD5		:= 39e3168b0ff2d77bcca05882310b2a06
+NMSTATE_SERDE_YAML_0_9_34_DEPRECATED_URL		:= https://crates.io/api/v1/crates/serde_yaml/0.9.34+deprecated/download
+NMSTATE_SERDE_YAML_0_9_34_DEPRECATED_SOURCE	:= $(SRCDIR)/serde_yaml-0.9.34+deprecated.crate
+NMSTATE_PARTS			+= NMSTATE_SERDE_YAML_0_9_34_DEPRECATED
+
+NMSTATE_SHA1_SMOL_1_0_1_MD5		:= 3426961d0acb81854d9b734c59ba60f7
+NMSTATE_SHA1_SMOL_1_0_1_URL		:= https://crates.io/api/v1/crates/sha1_smol/1.0.1/download
+NMSTATE_SHA1_SMOL_1_0_1_SOURCE	:= $(SRCDIR)/sha1_smol-1.0.1.crate
+NMSTATE_PARTS			+= NMSTATE_SHA1_SMOL_1_0_1
+
+NMSTATE_SHLEX_1_3_0_MD5		:= 6c623a8eed8450399ec323a72e96855c
+NMSTATE_SHLEX_1_3_0_URL		:= https://crates.io/api/v1/crates/shlex/1.3.0/download
+NMSTATE_SHLEX_1_3_0_SOURCE	:= $(SRCDIR)/shlex-1.3.0.crate
+NMSTATE_PARTS			+= NMSTATE_SHLEX_1_3_0
+
+NMSTATE_SLAB_0_4_9_MD5		:= 5d8c25fc51ffebca67935516c2325860
+NMSTATE_SLAB_0_4_9_URL		:= https://crates.io/api/v1/crates/slab/0.4.9/download
+NMSTATE_SLAB_0_4_9_SOURCE	:= $(SRCDIR)/slab-0.4.9.crate
+NMSTATE_PARTS			+= NMSTATE_SLAB_0_4_9
+
+NMSTATE_SOCKET2_0_4_10_MD5		:= e23a09ecbf1aab486b90dfbc3bbae657
+NMSTATE_SOCKET2_0_4_10_URL		:= https://crates.io/api/v1/crates/socket2/0.4.10/download
+NMSTATE_SOCKET2_0_4_10_SOURCE	:= $(SRCDIR)/socket2-0.4.10.crate
+NMSTATE_PARTS			+= NMSTATE_SOCKET2_0_4_10
+
+NMSTATE_SOCKET2_0_5_9_MD5		:= 3282872f9416c315c372b9ba3eae7e4b
+NMSTATE_SOCKET2_0_5_9_URL		:= https://crates.io/api/v1/crates/socket2/0.5.9/download
+NMSTATE_SOCKET2_0_5_9_SOURCE	:= $(SRCDIR)/socket2-0.5.9.crate
+NMSTATE_PARTS			+= NMSTATE_SOCKET2_0_5_9
+
+NMSTATE_STATIC_ASSERTIONS_1_1_0_MD5		:= c9defe80406280bcfce4ecf31c0200b3
+NMSTATE_STATIC_ASSERTIONS_1_1_0_URL		:= https://crates.io/api/v1/crates/static_assertions/1.1.0/download
+NMSTATE_STATIC_ASSERTIONS_1_1_0_SOURCE	:= $(SRCDIR)/static_assertions-1.1.0.crate
+NMSTATE_PARTS			+= NMSTATE_STATIC_ASSERTIONS_1_1_0
+
+NMSTATE_STRSIM_0_10_0_MD5		:= 82d98dc87dc8503400aa095f5aa70f13
+NMSTATE_STRSIM_0_10_0_URL		:= https://crates.io/api/v1/crates/strsim/0.10.0/download
+NMSTATE_STRSIM_0_10_0_SOURCE	:= $(SRCDIR)/strsim-0.10.0.crate
+NMSTATE_PARTS			+= NMSTATE_STRSIM_0_10_0
+
+NMSTATE_SYN_1_0_109_MD5		:= 64d9f46e9ba78f68c30c486be3d8b7df
+NMSTATE_SYN_1_0_109_URL		:= https://crates.io/api/v1/crates/syn/1.0.109/download
+NMSTATE_SYN_1_0_109_SOURCE	:= $(SRCDIR)/syn-1.0.109.crate
+NMSTATE_PARTS			+= NMSTATE_SYN_1_0_109
+
+NMSTATE_SYN_2_0_101_MD5		:= 2eb8bb4ce0f40cec88a7f3e842e4feaa
+NMSTATE_SYN_2_0_101_URL		:= https://crates.io/api/v1/crates/syn/2.0.101/download
+NMSTATE_SYN_2_0_101_SOURCE	:= $(SRCDIR)/syn-2.0.101.crate
+NMSTATE_PARTS			+= NMSTATE_SYN_2_0_101
+
+NMSTATE_TERMCOLOR_1_4_1_MD5		:= b83e3c4eee8862b3cd0dc8570da6d0c0
+NMSTATE_TERMCOLOR_1_4_1_URL		:= https://crates.io/api/v1/crates/termcolor/1.4.1/download
+NMSTATE_TERMCOLOR_1_4_1_SOURCE	:= $(SRCDIR)/termcolor-1.4.1.crate
+NMSTATE_PARTS			+= NMSTATE_TERMCOLOR_1_4_1
+
+NMSTATE_TEXTWRAP_0_16_2_MD5		:= 4b5ece77b3e731cba47059a5e2385b86
+NMSTATE_TEXTWRAP_0_16_2_URL		:= https://crates.io/api/v1/crates/textwrap/0.16.2/download
+NMSTATE_TEXTWRAP_0_16_2_SOURCE	:= $(SRCDIR)/textwrap-0.16.2.crate
+NMSTATE_PARTS			+= NMSTATE_TEXTWRAP_0_16_2
+
+NMSTATE_THISERROR_1_0_69_MD5		:= 9c02495b380dc51331dcd8789b26cbfb
+NMSTATE_THISERROR_1_0_69_URL		:= https://crates.io/api/v1/crates/thiserror/1.0.69/download
+NMSTATE_THISERROR_1_0_69_SOURCE	:= $(SRCDIR)/thiserror-1.0.69.crate
+NMSTATE_PARTS			+= NMSTATE_THISERROR_1_0_69
+
+NMSTATE_THISERROR_2_0_12_MD5		:= ac74b7498f7923458b7537a812c90970
+NMSTATE_THISERROR_2_0_12_URL		:= https://crates.io/api/v1/crates/thiserror/2.0.12/download
+NMSTATE_THISERROR_2_0_12_SOURCE	:= $(SRCDIR)/thiserror-2.0.12.crate
+NMSTATE_PARTS			+= NMSTATE_THISERROR_2_0_12
+
+NMSTATE_THISERROR_IMPL_1_0_69_MD5		:= a4bb1b92a5b098fdaa5694733ea73e7a
+NMSTATE_THISERROR_IMPL_1_0_69_URL		:= https://crates.io/api/v1/crates/thiserror-impl/1.0.69/download
+NMSTATE_THISERROR_IMPL_1_0_69_SOURCE	:= $(SRCDIR)/thiserror-impl-1.0.69.crate
+NMSTATE_PARTS			+= NMSTATE_THISERROR_IMPL_1_0_69
+
+NMSTATE_THISERROR_IMPL_2_0_12_MD5		:= 13830a64c2daa5ff8dcee8f0f25bead1
+NMSTATE_THISERROR_IMPL_2_0_12_URL		:= https://crates.io/api/v1/crates/thiserror-impl/2.0.12/download
+NMSTATE_THISERROR_IMPL_2_0_12_SOURCE	:= $(SRCDIR)/thiserror-impl-2.0.12.crate
+NMSTATE_PARTS			+= NMSTATE_THISERROR_IMPL_2_0_12
+
+NMSTATE_TOKIO_1_45_0_MD5		:= c4b72acfed980c38c5b7eb7afbd9d1d2
+NMSTATE_TOKIO_1_45_0_URL		:= https://crates.io/api/v1/crates/tokio/1.45.0/download
+NMSTATE_TOKIO_1_45_0_SOURCE	:= $(SRCDIR)/tokio-1.45.0.crate
+NMSTATE_PARTS			+= NMSTATE_TOKIO_1_45_0
+
+NMSTATE_TOKIO_MACROS_2_5_0_MD5		:= 23c2d55b2debcd452d1320d9e563c8f4
+NMSTATE_TOKIO_MACROS_2_5_0_URL		:= https://crates.io/api/v1/crates/tokio-macros/2.5.0/download
+NMSTATE_TOKIO_MACROS_2_5_0_SOURCE	:= $(SRCDIR)/tokio-macros-2.5.0.crate
+NMSTATE_PARTS			+= NMSTATE_TOKIO_MACROS_2_5_0
+
+NMSTATE_TOML_0_5_11_MD5		:= b21820f2664242498beba7783b32bef4
+NMSTATE_TOML_0_5_11_URL		:= https://crates.io/api/v1/crates/toml/0.5.11/download
+NMSTATE_TOML_0_5_11_SOURCE	:= $(SRCDIR)/toml-0.5.11.crate
+NMSTATE_PARTS			+= NMSTATE_TOML_0_5_11
+
+NMSTATE_TOML_0_8_22_MD5		:= 1d34f5052a64f54504e659fed75edf0b
+NMSTATE_TOML_0_8_22_URL		:= https://crates.io/api/v1/crates/toml/0.8.22/download
+NMSTATE_TOML_0_8_22_SOURCE	:= $(SRCDIR)/toml-0.8.22.crate
+NMSTATE_PARTS			+= NMSTATE_TOML_0_8_22
+
+NMSTATE_TOML_DATETIME_0_6_9_MD5		:= 864df15eaaa6fbb0ba919ee1142a05c0
+NMSTATE_TOML_DATETIME_0_6_9_URL		:= https://crates.io/api/v1/crates/toml_datetime/0.6.9/download
+NMSTATE_TOML_DATETIME_0_6_9_SOURCE	:= $(SRCDIR)/toml_datetime-0.6.9.crate
+NMSTATE_PARTS			+= NMSTATE_TOML_DATETIME_0_6_9
+
+NMSTATE_TOML_EDIT_0_19_15_MD5		:= 467f480ef05d416ac677d12315214f59
+NMSTATE_TOML_EDIT_0_19_15_URL		:= https://crates.io/api/v1/crates/toml_edit/0.19.15/download
+NMSTATE_TOML_EDIT_0_19_15_SOURCE	:= $(SRCDIR)/toml_edit-0.19.15.crate
+NMSTATE_PARTS			+= NMSTATE_TOML_EDIT_0_19_15
+
+NMSTATE_TOML_EDIT_0_22_26_MD5		:= e7a4f81ca0eacbe7e808f3aa1c4e54a4
+NMSTATE_TOML_EDIT_0_22_26_URL		:= https://crates.io/api/v1/crates/toml_edit/0.22.26/download
+NMSTATE_TOML_EDIT_0_22_26_SOURCE	:= $(SRCDIR)/toml_edit-0.22.26.crate
+NMSTATE_PARTS			+= NMSTATE_TOML_EDIT_0_22_26
+
+NMSTATE_TOML_WRITE_0_1_1_MD5		:= 0ad6a2bd5d980b69085a1765cac99e0a
+NMSTATE_TOML_WRITE_0_1_1_URL		:= https://crates.io/api/v1/crates/toml_write/0.1.1/download
+NMSTATE_TOML_WRITE_0_1_1_SOURCE	:= $(SRCDIR)/toml_write-0.1.1.crate
+NMSTATE_PARTS			+= NMSTATE_TOML_WRITE_0_1_1
+
+NMSTATE_UNICODE_IDENT_1_0_18_MD5		:= 5a9574684952eb362f96d6421b3b70cf
+NMSTATE_UNICODE_IDENT_1_0_18_URL		:= https://crates.io/api/v1/crates/unicode-ident/1.0.18/download
+NMSTATE_UNICODE_IDENT_1_0_18_SOURCE	:= $(SRCDIR)/unicode-ident-1.0.18.crate
+NMSTATE_PARTS			+= NMSTATE_UNICODE_IDENT_1_0_18
+
+NMSTATE_UNSAFE_LIBYAML_0_2_11_MD5		:= a8c6d404eec9e0efc975e65312b76228
+NMSTATE_UNSAFE_LIBYAML_0_2_11_URL		:= https://crates.io/api/v1/crates/unsafe-libyaml/0.2.11/download
+NMSTATE_UNSAFE_LIBYAML_0_2_11_SOURCE	:= $(SRCDIR)/unsafe-libyaml-0.2.11.crate
+NMSTATE_PARTS			+= NMSTATE_UNSAFE_LIBYAML_0_2_11
+
+NMSTATE_UUID_1_16_0_MD5		:= 9fceef8c6691f529b4298aee75475f77
+NMSTATE_UUID_1_16_0_URL		:= https://crates.io/api/v1/crates/uuid/1.16.0/download
+NMSTATE_UUID_1_16_0_SOURCE	:= $(SRCDIR)/uuid-1.16.0.crate
+NMSTATE_PARTS			+= NMSTATE_UUID_1_16_0
+
+NMSTATE_WAKER_FN_1_2_0_MD5		:= 3f6532604aeeeb2e27936a1558899443
+NMSTATE_WAKER_FN_1_2_0_URL		:= https://crates.io/api/v1/crates/waker-fn/1.2.0/download
+NMSTATE_WAKER_FN_1_2_0_SOURCE	:= $(SRCDIR)/waker-fn-1.2.0.crate
+NMSTATE_PARTS			+= NMSTATE_WAKER_FN_1_2_0
+
+NMSTATE_WASI_0_11_0_WASI_SNAPSHOT_PREVIEW1_MD5		:= e972ea58ec203bfa6c79c1207852298b
+NMSTATE_WASI_0_11_0_WASI_SNAPSHOT_PREVIEW1_URL		:= https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download
+NMSTATE_WASI_0_11_0_WASI_SNAPSHOT_PREVIEW1_SOURCE	:= $(SRCDIR)/wasi-0.11.0+wasi-snapshot-preview1.crate
+NMSTATE_PARTS			+= NMSTATE_WASI_0_11_0_WASI_SNAPSHOT_PREVIEW1
+
+NMSTATE_WASI_0_14_2_WASI_0_2_4_MD5		:= 609a0e13a5c1257c16fcecfa3d1b2e84
+NMSTATE_WASI_0_14_2_WASI_0_2_4_URL		:= https://crates.io/api/v1/crates/wasi/0.14.2+wasi-0.2.4/download
+NMSTATE_WASI_0_14_2_WASI_0_2_4_SOURCE	:= $(SRCDIR)/wasi-0.14.2+wasi-0.2.4.crate
+NMSTATE_PARTS			+= NMSTATE_WASI_0_14_2_WASI_0_2_4
+
+NMSTATE_WASM_BINDGEN_0_2_100_MD5		:= a91da194698f9923ced32fb4d2c015b1
+NMSTATE_WASM_BINDGEN_0_2_100_URL		:= https://crates.io/api/v1/crates/wasm-bindgen/0.2.100/download
+NMSTATE_WASM_BINDGEN_0_2_100_SOURCE	:= $(SRCDIR)/wasm-bindgen-0.2.100.crate
+NMSTATE_PARTS			+= NMSTATE_WASM_BINDGEN_0_2_100
+
+NMSTATE_WASM_BINDGEN_BACKEND_0_2_100_MD5		:= 2b6f5bf7082672c9e3550290b0f97edc
+NMSTATE_WASM_BINDGEN_BACKEND_0_2_100_URL		:= https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.100/download
+NMSTATE_WASM_BINDGEN_BACKEND_0_2_100_SOURCE	:= $(SRCDIR)/wasm-bindgen-backend-0.2.100.crate
+NMSTATE_PARTS			+= NMSTATE_WASM_BINDGEN_BACKEND_0_2_100
+
+NMSTATE_WASM_BINDGEN_MACRO_0_2_100_MD5		:= d71786c9742b6771a222c9285ef8d416
+NMSTATE_WASM_BINDGEN_MACRO_0_2_100_URL		:= https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.100/download
+NMSTATE_WASM_BINDGEN_MACRO_0_2_100_SOURCE	:= $(SRCDIR)/wasm-bindgen-macro-0.2.100.crate
+NMSTATE_PARTS			+= NMSTATE_WASM_BINDGEN_MACRO_0_2_100
+
+NMSTATE_WASM_BINDGEN_MACRO_SUPPORT_0_2_100_MD5		:= 97837379187cff7de19972e4dc416fb0
+NMSTATE_WASM_BINDGEN_MACRO_SUPPORT_0_2_100_URL		:= https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.100/download
+NMSTATE_WASM_BINDGEN_MACRO_SUPPORT_0_2_100_SOURCE	:= $(SRCDIR)/wasm-bindgen-macro-support-0.2.100.crate
+NMSTATE_PARTS			+= NMSTATE_WASM_BINDGEN_MACRO_SUPPORT_0_2_100
+
+NMSTATE_WASM_BINDGEN_SHARED_0_2_100_MD5		:= 3c3cb3400101cd793def7061c432b8ec
+NMSTATE_WASM_BINDGEN_SHARED_0_2_100_URL		:= https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.100/download
+NMSTATE_WASM_BINDGEN_SHARED_0_2_100_SOURCE	:= $(SRCDIR)/wasm-bindgen-shared-0.2.100.crate
+NMSTATE_PARTS			+= NMSTATE_WASM_BINDGEN_SHARED_0_2_100
+
+NMSTATE_WINAPI_0_3_9_MD5		:= 0498c4a11448bfc35dc7bb2caa64c753
+NMSTATE_WINAPI_0_3_9_URL		:= https://crates.io/api/v1/crates/winapi/0.3.9/download
+NMSTATE_WINAPI_0_3_9_SOURCE	:= $(SRCDIR)/winapi-0.3.9.crate
+NMSTATE_PARTS			+= NMSTATE_WINAPI_0_3_9
+
+NMSTATE_WINAPI_I686_PC_WINDOWS_GNU_0_4_0_MD5		:= db96b50050277bf05a3c68534bbb9586
+NMSTATE_WINAPI_I686_PC_WINDOWS_GNU_0_4_0_URL		:= https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download
+NMSTATE_WINAPI_I686_PC_WINDOWS_GNU_0_4_0_SOURCE	:= $(SRCDIR)/winapi-i686-pc-windows-gnu-0.4.0.crate
+NMSTATE_PARTS			+= NMSTATE_WINAPI_I686_PC_WINDOWS_GNU_0_4_0
+
+NMSTATE_WINAPI_UTIL_0_1_9_MD5		:= e908e1808f2a480449f8d86281ae24ef
+NMSTATE_WINAPI_UTIL_0_1_9_URL		:= https://crates.io/api/v1/crates/winapi-util/0.1.9/download
+NMSTATE_WINAPI_UTIL_0_1_9_SOURCE	:= $(SRCDIR)/winapi-util-0.1.9.crate
+NMSTATE_PARTS			+= NMSTATE_WINAPI_UTIL_0_1_9
+
+NMSTATE_WINAPI_X86_64_PC_WINDOWS_GNU_0_4_0_MD5		:= 09de9d01e7331ff3da11f58be8bef0df
+NMSTATE_WINAPI_X86_64_PC_WINDOWS_GNU_0_4_0_URL		:= https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download
+NMSTATE_WINAPI_X86_64_PC_WINDOWS_GNU_0_4_0_SOURCE	:= $(SRCDIR)/winapi-x86_64-pc-windows-gnu-0.4.0.crate
+NMSTATE_PARTS			+= NMSTATE_WINAPI_X86_64_PC_WINDOWS_GNU_0_4_0
+
+NMSTATE_WINDOWS_CORE_0_61_2_MD5		:= 74820c7dae31dabf7552cdc97456d1a1
+NMSTATE_WINDOWS_CORE_0_61_2_URL		:= https://crates.io/api/v1/crates/windows-core/0.61.2/download
+NMSTATE_WINDOWS_CORE_0_61_2_SOURCE	:= $(SRCDIR)/windows-core-0.61.2.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_CORE_0_61_2
+
+NMSTATE_WINDOWS_IMPLEMENT_0_60_0_MD5		:= fd6a44cbe3e73a89671c68696e779ecb
+NMSTATE_WINDOWS_IMPLEMENT_0_60_0_URL		:= https://crates.io/api/v1/crates/windows-implement/0.60.0/download
+NMSTATE_WINDOWS_IMPLEMENT_0_60_0_SOURCE	:= $(SRCDIR)/windows-implement-0.60.0.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_IMPLEMENT_0_60_0
+
+NMSTATE_WINDOWS_INTERFACE_0_59_1_MD5		:= ea196ee9ec24e54d8f0f2211c0951c5f
+NMSTATE_WINDOWS_INTERFACE_0_59_1_URL		:= https://crates.io/api/v1/crates/windows-interface/0.59.1/download
+NMSTATE_WINDOWS_INTERFACE_0_59_1_SOURCE	:= $(SRCDIR)/windows-interface-0.59.1.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_INTERFACE_0_59_1
+
+NMSTATE_WINDOWS_LINK_0_1_1_MD5		:= f578d00496ac73c80fe7f90c2a847892
+NMSTATE_WINDOWS_LINK_0_1_1_URL		:= https://crates.io/api/v1/crates/windows-link/0.1.1/download
+NMSTATE_WINDOWS_LINK_0_1_1_SOURCE	:= $(SRCDIR)/windows-link-0.1.1.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_LINK_0_1_1
+
+NMSTATE_WINDOWS_RESULT_0_3_4_MD5		:= 2cf4b2fb70efbaf9cfbaeba6f8dcf347
+NMSTATE_WINDOWS_RESULT_0_3_4_URL		:= https://crates.io/api/v1/crates/windows-result/0.3.4/download
+NMSTATE_WINDOWS_RESULT_0_3_4_SOURCE	:= $(SRCDIR)/windows-result-0.3.4.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_RESULT_0_3_4
+
+NMSTATE_WINDOWS_STRINGS_0_4_2_MD5		:= 16b2a1e77c38f1265b35c9c1f76166ec
+NMSTATE_WINDOWS_STRINGS_0_4_2_URL		:= https://crates.io/api/v1/crates/windows-strings/0.4.2/download
+NMSTATE_WINDOWS_STRINGS_0_4_2_SOURCE	:= $(SRCDIR)/windows-strings-0.4.2.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_STRINGS_0_4_2
+
+NMSTATE_WINDOWS_SYS_0_48_0_MD5		:= f2797ade0e36f1e5d6be9d11b5076582
+NMSTATE_WINDOWS_SYS_0_48_0_URL		:= https://crates.io/api/v1/crates/windows-sys/0.48.0/download
+NMSTATE_WINDOWS_SYS_0_48_0_SOURCE	:= $(SRCDIR)/windows-sys-0.48.0.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_SYS_0_48_0
+
+NMSTATE_WINDOWS_SYS_0_52_0_MD5		:= 2376de634160158ece40c4bc2ab3eb41
+NMSTATE_WINDOWS_SYS_0_52_0_URL		:= https://crates.io/api/v1/crates/windows-sys/0.52.0/download
+NMSTATE_WINDOWS_SYS_0_52_0_SOURCE	:= $(SRCDIR)/windows-sys-0.52.0.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_SYS_0_52_0
+
+NMSTATE_WINDOWS_SYS_0_59_0_MD5		:= 73b177d6d000daaa8f05790414a887a3
+NMSTATE_WINDOWS_SYS_0_59_0_URL		:= https://crates.io/api/v1/crates/windows-sys/0.59.0/download
+NMSTATE_WINDOWS_SYS_0_59_0_SOURCE	:= $(SRCDIR)/windows-sys-0.59.0.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_SYS_0_59_0
+
+NMSTATE_WINDOWS_TARGETS_0_48_5_MD5		:= 24c64817e85ef77765ed0f26c31c9b4c
+NMSTATE_WINDOWS_TARGETS_0_48_5_URL		:= https://crates.io/api/v1/crates/windows-targets/0.48.5/download
+NMSTATE_WINDOWS_TARGETS_0_48_5_SOURCE	:= $(SRCDIR)/windows-targets-0.48.5.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_TARGETS_0_48_5
+
+NMSTATE_WINDOWS_TARGETS_0_52_6_MD5		:= 9e876a38acd8262d97e9302ecb4e0f72
+NMSTATE_WINDOWS_TARGETS_0_52_6_URL		:= https://crates.io/api/v1/crates/windows-targets/0.52.6/download
+NMSTATE_WINDOWS_TARGETS_0_52_6_SOURCE	:= $(SRCDIR)/windows-targets-0.52.6.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_TARGETS_0_52_6
+
+NMSTATE_WINDOWS_AARCH64_GNULLVM_0_48_5_MD5		:= dae6d89034a6988042fd8be4cf5e037d
+NMSTATE_WINDOWS_AARCH64_GNULLVM_0_48_5_URL		:= https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.5/download
+NMSTATE_WINDOWS_AARCH64_GNULLVM_0_48_5_SOURCE	:= $(SRCDIR)/windows_aarch64_gnullvm-0.48.5.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_AARCH64_GNULLVM_0_48_5
+
+NMSTATE_WINDOWS_AARCH64_GNULLVM_0_52_6_MD5		:= 8c8adde50f0a531c407c5b68ab928f0b
+NMSTATE_WINDOWS_AARCH64_GNULLVM_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.52.6/download
+NMSTATE_WINDOWS_AARCH64_GNULLVM_0_52_6_SOURCE	:= $(SRCDIR)/windows_aarch64_gnullvm-0.52.6.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_AARCH64_GNULLVM_0_52_6
+
+NMSTATE_WINDOWS_AARCH64_MSVC_0_48_5_MD5		:= de2839e16d9d7a9fd1c397da62f62b4a
+NMSTATE_WINDOWS_AARCH64_MSVC_0_48_5_URL		:= https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.5/download
+NMSTATE_WINDOWS_AARCH64_MSVC_0_48_5_SOURCE	:= $(SRCDIR)/windows_aarch64_msvc-0.48.5.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_AARCH64_MSVC_0_48_5
+
+NMSTATE_WINDOWS_AARCH64_MSVC_0_52_6_MD5		:= 233b17dfcf7e49ac791eef30b7f406e3
+NMSTATE_WINDOWS_AARCH64_MSVC_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_aarch64_msvc/0.52.6/download
+NMSTATE_WINDOWS_AARCH64_MSVC_0_52_6_SOURCE	:= $(SRCDIR)/windows_aarch64_msvc-0.52.6.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_AARCH64_MSVC_0_52_6
+
+NMSTATE_WINDOWS_I686_GNU_0_48_5_MD5		:= e0c35ffb8cfdb74a39bf799811f79304
+NMSTATE_WINDOWS_I686_GNU_0_48_5_URL		:= https://crates.io/api/v1/crates/windows_i686_gnu/0.48.5/download
+NMSTATE_WINDOWS_I686_GNU_0_48_5_SOURCE	:= $(SRCDIR)/windows_i686_gnu-0.48.5.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_I686_GNU_0_48_5
+
+NMSTATE_WINDOWS_I686_GNU_0_52_6_MD5		:= 7cb99b00381f697eaf8a322ed3b8205c
+NMSTATE_WINDOWS_I686_GNU_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_i686_gnu/0.52.6/download
+NMSTATE_WINDOWS_I686_GNU_0_52_6_SOURCE	:= $(SRCDIR)/windows_i686_gnu-0.52.6.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_I686_GNU_0_52_6
+
+NMSTATE_WINDOWS_I686_GNULLVM_0_52_6_MD5		:= 1baf62319b533f3d996993b82305e547
+NMSTATE_WINDOWS_I686_GNULLVM_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_i686_gnullvm/0.52.6/download
+NMSTATE_WINDOWS_I686_GNULLVM_0_52_6_SOURCE	:= $(SRCDIR)/windows_i686_gnullvm-0.52.6.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_I686_GNULLVM_0_52_6
+
+NMSTATE_WINDOWS_I686_MSVC_0_48_5_MD5		:= d990172b607020701f9e84ca8e1c043c
+NMSTATE_WINDOWS_I686_MSVC_0_48_5_URL		:= https://crates.io/api/v1/crates/windows_i686_msvc/0.48.5/download
+NMSTATE_WINDOWS_I686_MSVC_0_48_5_SOURCE	:= $(SRCDIR)/windows_i686_msvc-0.48.5.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_I686_MSVC_0_48_5
+
+NMSTATE_WINDOWS_I686_MSVC_0_52_6_MD5		:= 311ded6588844e072d3fb953a8f994da
+NMSTATE_WINDOWS_I686_MSVC_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_i686_msvc/0.52.6/download
+NMSTATE_WINDOWS_I686_MSVC_0_52_6_SOURCE	:= $(SRCDIR)/windows_i686_msvc-0.52.6.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_I686_MSVC_0_52_6
+
+NMSTATE_WINDOWS_X86_64_GNU_0_48_5_MD5		:= 0a68848588e847ceccf504891584d00b
+NMSTATE_WINDOWS_X86_64_GNU_0_48_5_URL		:= https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.5/download
+NMSTATE_WINDOWS_X86_64_GNU_0_48_5_SOURCE	:= $(SRCDIR)/windows_x86_64_gnu-0.48.5.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_X86_64_GNU_0_48_5
+
+NMSTATE_WINDOWS_X86_64_GNU_0_52_6_MD5		:= 3f265cbde7668f38c1229043475470a9
+NMSTATE_WINDOWS_X86_64_GNU_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_x86_64_gnu/0.52.6/download
+NMSTATE_WINDOWS_X86_64_GNU_0_52_6_SOURCE	:= $(SRCDIR)/windows_x86_64_gnu-0.52.6.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_X86_64_GNU_0_52_6
+
+NMSTATE_WINDOWS_X86_64_GNULLVM_0_48_5_MD5		:= 45b469ad607b912256b7c80141fa2d17
+NMSTATE_WINDOWS_X86_64_GNULLVM_0_48_5_URL		:= https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.5/download
+NMSTATE_WINDOWS_X86_64_GNULLVM_0_48_5_SOURCE	:= $(SRCDIR)/windows_x86_64_gnullvm-0.48.5.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_X86_64_GNULLVM_0_48_5
+
+NMSTATE_WINDOWS_X86_64_GNULLVM_0_52_6_MD5		:= 4e50e886c72204c268c15a3230001d71
+NMSTATE_WINDOWS_X86_64_GNULLVM_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.52.6/download
+NMSTATE_WINDOWS_X86_64_GNULLVM_0_52_6_SOURCE	:= $(SRCDIR)/windows_x86_64_gnullvm-0.52.6.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_X86_64_GNULLVM_0_52_6
+
+NMSTATE_WINDOWS_X86_64_MSVC_0_48_5_MD5		:= 7799baff9a5664205d9110a2624e8989
+NMSTATE_WINDOWS_X86_64_MSVC_0_48_5_URL		:= https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.5/download
+NMSTATE_WINDOWS_X86_64_MSVC_0_48_5_SOURCE	:= $(SRCDIR)/windows_x86_64_msvc-0.48.5.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_X86_64_MSVC_0_48_5
+
+NMSTATE_WINDOWS_X86_64_MSVC_0_52_6_MD5		:= b95760e9133ba1bb456d0f0cef74c9a4
+NMSTATE_WINDOWS_X86_64_MSVC_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_x86_64_msvc/0.52.6/download
+NMSTATE_WINDOWS_X86_64_MSVC_0_52_6_SOURCE	:= $(SRCDIR)/windows_x86_64_msvc-0.52.6.crate
+NMSTATE_PARTS			+= NMSTATE_WINDOWS_X86_64_MSVC_0_52_6
+
+NMSTATE_WINNOW_0_5_40_MD5		:= cb7c86af4d8a969d849c6fce363af240
+NMSTATE_WINNOW_0_5_40_URL		:= https://crates.io/api/v1/crates/winnow/0.5.40/download
+NMSTATE_WINNOW_0_5_40_SOURCE	:= $(SRCDIR)/winnow-0.5.40.crate
+NMSTATE_PARTS			+= NMSTATE_WINNOW_0_5_40
+
+NMSTATE_WINNOW_0_7_10_MD5		:= fc84efd3a60e6edd151ca93326dfc0de
+NMSTATE_WINNOW_0_7_10_URL		:= https://crates.io/api/v1/crates/winnow/0.7.10/download
+NMSTATE_WINNOW_0_7_10_SOURCE	:= $(SRCDIR)/winnow-0.7.10.crate
+NMSTATE_PARTS			+= NMSTATE_WINNOW_0_7_10
+
+NMSTATE_WIT_BINDGEN_RT_0_39_0_MD5		:= 4f774fa728b562c8d195457a9ca93a57
+NMSTATE_WIT_BINDGEN_RT_0_39_0_URL		:= https://crates.io/api/v1/crates/wit-bindgen-rt/0.39.0/download
+NMSTATE_WIT_BINDGEN_RT_0_39_0_SOURCE	:= $(SRCDIR)/wit-bindgen-rt-0.39.0.crate
+NMSTATE_PARTS			+= NMSTATE_WIT_BINDGEN_RT_0_39_0
+
+NMSTATE_WL_NL80211_0_2_0_MD5		:= 66e6c02a0d60b33e1b025e4f7fd04cde
+NMSTATE_WL_NL80211_0_2_0_URL		:= https://crates.io/api/v1/crates/wl-nl80211/0.2.0/download
+NMSTATE_WL_NL80211_0_2_0_SOURCE	:= $(SRCDIR)/wl-nl80211-0.2.0.crate
+NMSTATE_PARTS			+= NMSTATE_WL_NL80211_0_2_0
+
+NMSTATE_ZBUS_1_9_3_MD5		:= 576c4ed218ed71e7ccb54a8fd2aa833c
+NMSTATE_ZBUS_1_9_3_URL		:= https://crates.io/api/v1/crates/zbus/1.9.3/download
+NMSTATE_ZBUS_1_9_3_SOURCE	:= $(SRCDIR)/zbus-1.9.3.crate
+NMSTATE_PARTS			+= NMSTATE_ZBUS_1_9_3
+
+NMSTATE_ZBUS_MACROS_1_9_3_MD5		:= 845d3a99bde01391a4e37f5dd6d4fb30
+NMSTATE_ZBUS_MACROS_1_9_3_URL		:= https://crates.io/api/v1/crates/zbus_macros/1.9.3/download
+NMSTATE_ZBUS_MACROS_1_9_3_SOURCE	:= $(SRCDIR)/zbus_macros-1.9.3.crate
+NMSTATE_PARTS			+= NMSTATE_ZBUS_MACROS_1_9_3
+
+NMSTATE_ZVARIANT_2_10_0_MD5		:= 0137ff709b7fe58cc99d835bb01a84bf
+NMSTATE_ZVARIANT_2_10_0_URL		:= https://crates.io/api/v1/crates/zvariant/2.10.0/download
+NMSTATE_ZVARIANT_2_10_0_SOURCE	:= $(SRCDIR)/zvariant-2.10.0.crate
+NMSTATE_PARTS			+= NMSTATE_ZVARIANT_2_10_0
+
+NMSTATE_ZVARIANT_DERIVE_2_10_0_MD5		:= 9196c9f6e81d7775d63a9444b4fdfd3d
+NMSTATE_ZVARIANT_DERIVE_2_10_0_URL		:= https://crates.io/api/v1/crates/zvariant_derive/2.10.0/download
+NMSTATE_ZVARIANT_DERIVE_2_10_0_SOURCE	:= $(SRCDIR)/zvariant_derive-2.10.0.crate
+NMSTATE_PARTS			+= NMSTATE_ZVARIANT_DERIVE_2_10_0
+
+
+# vim: syntax=make
diff --git a/rules/nmstate.in b/rules/nmstate.in
new file mode 100644
index 000000000..5e43aa14b
--- /dev/null
+++ b/rules/nmstate.in
@@ -0,0 +1,8 @@
+## SECTION=networking
+
+config NMSTATE
+	tristate
+	prompt "nmstate"
+	help
+          Nmstate is a library with an accompanying command line tool that manages
+          host networking settings in a declarative manner.
diff --git a/rules/nmstate.make b/rules/nmstate.make
new file mode 100644
index 000000000..ae92ea270
--- /dev/null
+++ b/rules/nmstate.make
@@ -0,0 +1,64 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2025 by Robert Schwebel <r.schwebel@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_NMSTATE) += nmstate
+
+#
+# Paths and names
+#
+NMSTATE_VERSION		:= 2.2.24
+NMSTATE_MD5		:= df4f43b459f8c1709f9e8a8346eb2492
+NMSTATE			:= nmstate-$(NMSTATE_VERSION)
+NMSTATE_SUFFIX		:= tar.gz
+NMSTATE_URL		:= https://github.com/nmstate/nmstate/releases/download/v$(NMSTATE_VERSION)/nmstate-$(NMSTATE_VERSION).$(NMSTATE_SUFFIX)
+NMSTATE_SOURCE		:= $(SRCDIR)/$(NMSTATE).$(NMSTATE_SUFFIX)
+NMSTATE_DIR		:= $(BUILDDIR)/$(NMSTATE)
+NMSTATE_SUBDIR		:= rust
+NMSTATE_CARGO_LOCK	:= rust/Cargo.lock
+NMSTATE_LICENSE		:= Apache-2.0
+NMSTATE_LICENSE_FILES	:= file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+NMSTATE_CONF_TOOL	:= cargo
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/nmstate.install:
+	@$(call targetinfo)
+	@$(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/nmstate.targetinstall:
+	@$(call targetinfo)
+
+	@$(call install_init,  nmstate)
+	@$(call install_fixup, nmstate,PRIORITY,optional)
+	@$(call install_fixup, nmstate,SECTION,base)
+	@$(call install_fixup, nmstate,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
+	@$(call install_fixup, nmstate,DESCRIPTION,missing)
+
+	@$(call install_copy, nmstate, 0, 0, 0755, \
+		$(NMSTATE_DIR)/rust/target/arm-v7a-linux-gnueabihf/release/nmstatectl, \
+		/usr/bin/nmstatectl)
+
+	@$(call install_finish, nmstate)
+
+	@$(call touch)
+
+# vim: syntax=make
-- 
2.39.5




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [ptxdist] [PATCH] nmstate: add new package
  2025-05-21 14:45 [ptxdist] [PATCH] nmstate: add new package Robert Schwebel
@ 2025-05-25 14:55 ` Michael Olbrich
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Olbrich @ 2025-05-25 14:55 UTC (permalink / raw)
  To: Robert Schwebel; +Cc: ptxdist

On Wed, May 21, 2025 at 04:45:09PM +0200, Robert Schwebel wrote:
> Nmstate is a tool that manages host networking settings in a declarative
> manner, written in Rust.
> 
> The Cargo.lock file is not shipped in the tarball, so we created one by
> running 'cargo install' in rust/ and patching the resulting file into
> the package.
> 
> Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
> ---
>  .../0001-nmstate-add-Cargo.lock-file.patch    | 1812 +++++++++++++++++
>  patches/nmstate-2.2.24/series                 |    4 +
>  rules/nmstate.cargo.make                      |  937 +++++++++
>  rules/nmstate.in                              |    8 +
>  rules/nmstate.make                            |   64 +
>  5 files changed, 2825 insertions(+)
>  create mode 100644 patches/nmstate-2.2.24/0001-nmstate-add-Cargo.lock-file.patch
>  create mode 100644 patches/nmstate-2.2.24/series
>  create mode 100644 rules/nmstate.cargo.make
>  create mode 100644 rules/nmstate.in
>  create mode 100644 rules/nmstate.make
> 
> diff --git a/patches/nmstate-2.2.24/0001-nmstate-add-Cargo.lock-file.patch b/patches/nmstate-2.2.24/0001-nmstate-add-Cargo.lock-file.patch
> new file mode 100644
> index 000000000..eb75e2c04
> --- /dev/null
> +++ b/patches/nmstate-2.2.24/0001-nmstate-add-Cargo.lock-file.patch
> @@ -0,0 +1,1812 @@
> +From: Robert Schwebel <r.schwebel@pengutronix.de>
> +Date: Wed, 21 May 2025 12:09:10 +0200
> +Subject: [PATCH] nmstate: add Cargo.lock file
> +
> +The archives do not ship a Cargo.lock file.
> +
> +Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
> +---
> + rust/Cargo.lock | 1794 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
> + 1 file changed, 1794 insertions(+)
> + create mode 100644 rust/Cargo.lock
> +
> +diff --git a/rust/Cargo.lock b/rust/Cargo.lock
> +new file mode 100644
> +index 000000000000..bf58e9cbd096
> +--- /dev/null
> ++++ b/rust/Cargo.lock
> +@@ -0,0 +1,1794 @@
> ++# This file is automatically @generated by Cargo.
> ++# It is not intended for manual editing.
> ++version = 3
> ++
> ++[[package]]
> ++name = "addr2line"
> ++version = "0.24.2"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
> ++dependencies = [
> ++ "gimli",
> ++]
> ++
> ++[[package]]
> ++name = "adler2"
> ++version = "2.0.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
> ++
> ++[[package]]
> ++name = "aho-corasick"
> ++version = "1.1.3"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
> ++dependencies = [
> ++ "memchr",
> ++]
> ++
> ++[[package]]
> ++name = "android-tzdata"
> ++version = "0.1.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
> ++
> ++[[package]]
> ++name = "android_system_properties"
> ++version = "0.1.5"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
> ++dependencies = [
> ++ "libc",
> ++]
> ++
> ++[[package]]
> ++name = "anyhow"
> ++version = "1.0.98"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
> ++
> ++[[package]]
> ++name = "async-io"
> ++version = "1.13.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af"
> ++dependencies = [
> ++ "async-lock",
> ++ "autocfg",
> ++ "cfg-if",
> ++ "concurrent-queue",
> ++ "futures-lite",
> ++ "log",
> ++ "parking",
> ++ "polling",
> ++ "rustix",
> ++ "slab",
> ++ "socket2 0.4.10",
> ++ "waker-fn",
> ++]
> ++
> ++[[package]]
> ++name = "async-lock"
> ++version = "2.8.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
> ++dependencies = [
> ++ "event-listener",
> ++]
> ++
> ++[[package]]
> ++name = "atty"
> ++version = "0.2.14"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
> ++dependencies = [
> ++ "hermit-abi 0.1.19",
> ++ "libc",
> ++ "winapi",
> ++]
> ++
> ++[[package]]
> ++name = "autocfg"
> ++version = "1.4.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
> ++
> ++[[package]]
> ++name = "backtrace"
> ++version = "0.3.75"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002"
> ++dependencies = [
> ++ "addr2line",
> ++ "cfg-if",
> ++ "libc",
> ++ "miniz_oxide",
> ++ "object",
> ++ "rustc-demangle",
> ++ "windows-targets 0.52.6",
> ++]
> ++
> ++[[package]]
> ++name = "bitflags"
> ++version = "1.3.2"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
> ++
> ++[[package]]
> ++name = "bitflags"
> ++version = "2.9.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
> ++
> ++[[package]]
> ++name = "bumpalo"
> ++version = "3.17.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf"
> ++
> ++[[package]]
> ++name = "byteorder"
> ++version = "1.5.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
> ++
> ++[[package]]
> ++name = "bytes"
> ++version = "1.10.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
> ++
> ++[[package]]
> ++name = "cc"
> ++version = "1.2.23"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "5f4ac86a9e5bc1e2b3449ab9d7d3a6a405e3d1bb28d7b9be8614f55846ae3766"
> ++dependencies = [
> ++ "shlex",
> ++]
> ++
> ++[[package]]
> ++name = "cfg-if"
> ++version = "1.0.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
> ++
> ++[[package]]
> ++name = "cfg_aliases"
> ++version = "0.2.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
> ++
> ++[[package]]
> ++name = "chrono"
> ++version = "0.4.41"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
> ++dependencies = [
> ++ "android-tzdata",
> ++ "iana-time-zone",
> ++ "js-sys",
> ++ "num-traits",
> ++ "wasm-bindgen",
> ++ "windows-link",
> ++]
> ++
> ++[[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",
> ++ "indexmap 1.9.3",
> ++ "once_cell",
> ++ "strsim",
> ++ "termcolor",
> ++ "textwrap",
> ++]
> ++
> ++[[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 = "concurrent-queue"
> ++version = "2.5.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
> ++dependencies = [
> ++ "crossbeam-utils",
> ++]
> ++
> ++[[package]]
> ++name = "core-foundation-sys"
> ++version = "0.8.7"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
> ++
> ++[[package]]
> ++name = "crossbeam-utils"
> ++version = "0.8.21"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
> ++
> ++[[package]]
> ++name = "ctrlc"
> ++version = "3.4.7"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "46f93780a459b7d656ef7f071fe699c4d3d2cb201c4b24d085b6ddc505276e73"
> ++dependencies = [
> ++ "nix 0.30.1",
> ++ "windows-sys 0.59.0",
> ++]
> ++
> ++[[package]]
> ++name = "derivative"
> ++version = "2.2.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
> ++dependencies = [
> ++ "proc-macro2",
> ++ "quote",
> ++ "syn 1.0.109",
> ++]
> ++
> ++[[package]]
> ++name = "enumflags2"
> ++version = "0.6.4"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "83c8d82922337cd23a15f88b70d8e4ef5f11da38dd7cdb55e84dd5de99695da0"
> ++dependencies = [
> ++ "enumflags2_derive",
> ++ "serde",
> ++]
> ++
> ++[[package]]
> ++name = "enumflags2_derive"
> ++version = "0.6.4"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce"
> ++dependencies = [
> ++ "proc-macro2",
> ++ "quote",
> ++ "syn 1.0.109",
> ++]
> ++
> ++[[package]]
> ++name = "env_logger"
> ++version = "0.10.2"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
> ++dependencies = [
> ++ "humantime",
> ++ "is-terminal",
> ++ "log",
> ++ "regex",
> ++ "termcolor",
> ++]
> ++
> ++[[package]]
> ++name = "equivalent"
> ++version = "1.0.2"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
> ++
> ++[[package]]
> ++name = "errno"
> ++version = "0.3.12"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18"
> ++dependencies = [
> ++ "libc",
> ++ "windows-sys 0.59.0",
> ++]
> ++
> ++[[package]]
> ++name = "ethtool"
> ++version = "0.2.8"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "5479e15c34374ec0240622c15f2152647ba8726bc6e15f33335a83e309f7b1a5"
> ++dependencies = [
> ++ "anyhow",
> ++ "byteorder",
> ++ "futures",
> ++ "genetlink",
> ++ "log",
> ++ "netlink-packet-core",
> ++ "netlink-packet-generic",
> ++ "netlink-packet-utils",
> ++ "netlink-proto",
> ++ "netlink-sys",
> ++ "thiserror 1.0.69",
> ++ "tokio",
> ++]
> ++
> ++[[package]]
> ++name = "event-listener"
> ++version = "2.5.3"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
> ++
> ++[[package]]
> ++name = "fastrand"
> ++version = "1.9.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
> ++dependencies = [
> ++ "instant",
> ++]
> ++
> ++[[package]]
> ++name = "futures"
> ++version = "0.3.31"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876"
> ++dependencies = [
> ++ "futures-channel",
> ++ "futures-core",
> ++ "futures-executor",
> ++ "futures-io",
> ++ "futures-sink",
> ++ "futures-task",
> ++ "futures-util",
> ++]
> ++
> ++[[package]]
> ++name = "futures-channel"
> ++version = "0.3.31"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
> ++dependencies = [
> ++ "futures-core",
> ++ "futures-sink",
> ++]
> ++
> ++[[package]]
> ++name = "futures-core"
> ++version = "0.3.31"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
> ++
> ++[[package]]
> ++name = "futures-executor"
> ++version = "0.3.31"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"
> ++dependencies = [
> ++ "futures-core",
> ++ "futures-task",
> ++ "futures-util",
> ++]
> ++
> ++[[package]]
> ++name = "futures-io"
> ++version = "0.3.31"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
> ++
> ++[[package]]
> ++name = "futures-lite"
> ++version = "1.13.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
> ++dependencies = [
> ++ "fastrand",
> ++ "futures-core",
> ++ "futures-io",
> ++ "memchr",
> ++ "parking",
> ++ "pin-project-lite",
> ++ "waker-fn",
> ++]
> ++
> ++[[package]]
> ++name = "futures-macro"
> ++version = "0.3.31"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
> ++dependencies = [
> ++ "proc-macro2",
> ++ "quote",
> ++ "syn 2.0.101",
> ++]
> ++
> ++[[package]]
> ++name = "futures-sink"
> ++version = "0.3.31"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
> ++
> ++[[package]]
> ++name = "futures-task"
> ++version = "0.3.31"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
> ++
> ++[[package]]
> ++name = "futures-util"
> ++version = "0.3.31"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
> ++dependencies = [
> ++ "futures-channel",
> ++ "futures-core",
> ++ "futures-io",
> ++ "futures-macro",
> ++ "futures-sink",
> ++ "futures-task",
> ++ "memchr",
> ++ "pin-project-lite",
> ++ "pin-utils",
> ++ "slab",
> ++]
> ++
> ++[[package]]
> ++name = "genetlink"
> ++version = "0.2.5"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "1f890076c1faa1298bf747ce3694a8d9e0d2cc4b06fe293f12dd95742bfd079f"
> ++dependencies = [
> ++ "futures",
> ++ "log",
> ++ "netlink-packet-core",
> ++ "netlink-packet-generic",
> ++ "netlink-packet-utils",
> ++ "netlink-proto",
> ++ "thiserror 1.0.69",
> ++]
> ++
> ++[[package]]
> ++name = "getrandom"
> ++version = "0.3.3"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
> ++dependencies = [
> ++ "cfg-if",
> ++ "libc",
> ++ "r-efi",
> ++ "wasi 0.14.2+wasi-0.2.4",
> ++]
> ++
> ++[[package]]
> ++name = "gimli"
> ++version = "0.31.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
> ++
> ++[[package]]
> ++name = "hashbrown"
> ++version = "0.12.3"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
> ++
> ++[[package]]
> ++name = "hashbrown"
> ++version = "0.15.3"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3"
> ++
> ++[[package]]
> ++name = "hermit-abi"
> ++version = "0.1.19"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
> ++dependencies = [
> ++ "libc",
> ++]
> ++
> ++[[package]]
> ++name = "hermit-abi"
> ++version = "0.3.9"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
> ++
> ++[[package]]
> ++name = "hermit-abi"
> ++version = "0.5.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08"
> ++
> ++[[package]]
> ++name = "humantime"
> ++version = "2.2.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f"
> ++
> ++[[package]]
> ++name = "iana-time-zone"
> ++version = "0.1.63"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8"
> ++dependencies = [
> ++ "android_system_properties",
> ++ "core-foundation-sys",
> ++ "iana-time-zone-haiku",
> ++ "js-sys",
> ++ "log",
> ++ "wasm-bindgen",
> ++ "windows-core",
> ++]
> ++
> ++[[package]]
> ++name = "iana-time-zone-haiku"
> ++version = "0.1.2"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
> ++dependencies = [
> ++ "cc",
> ++]
> ++
> ++[[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.9.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e"
> ++dependencies = [
> ++ "equivalent",
> ++ "hashbrown 0.15.3",
> ++]
> ++
> ++[[package]]
> ++name = "instant"
> ++version = "0.1.13"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"
> ++dependencies = [
> ++ "cfg-if",
> ++]
> ++
> ++[[package]]
> ++name = "io-lifetimes"
> ++version = "1.0.11"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
> ++dependencies = [
> ++ "hermit-abi 0.3.9",
> ++ "libc",
> ++ "windows-sys 0.48.0",
> ++]
> ++
> ++[[package]]
> ++name = "is-terminal"
> ++version = "0.4.16"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9"
> ++dependencies = [
> ++ "hermit-abi 0.5.1",
> ++ "libc",
> ++ "windows-sys 0.59.0",
> ++]
> ++
> ++[[package]]
> ++name = "itoa"
> ++version = "1.0.15"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
> ++
> ++[[package]]
> ++name = "js-sys"
> ++version = "0.3.77"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
> ++dependencies = [
> ++ "once_cell",
> ++ "wasm-bindgen",
> ++]
> ++
> ++[[package]]
> ++name = "libc"
> ++version = "0.2.172"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
> ++
> ++[[package]]
> ++name = "linux-raw-sys"
> ++version = "0.3.8"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
> ++
> ++[[package]]
> ++name = "log"
> ++version = "0.4.27"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
> ++
> ++[[package]]
> ++name = "memchr"
> ++version = "2.7.4"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
> ++
> ++[[package]]
> ++name = "memoffset"
> ++version = "0.6.5"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
> ++dependencies = [
> ++ "autocfg",
> ++]
> ++
> ++[[package]]
> ++name = "miniz_oxide"
> ++version = "0.8.8"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a"
> ++dependencies = [
> ++ "adler2",
> ++]
> ++
> ++[[package]]
> ++name = "mio"
> ++version = "1.0.3"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
> ++dependencies = [
> ++ "libc",
> ++ "wasi 0.11.0+wasi-snapshot-preview1",
> ++ "windows-sys 0.52.0",
> ++]
> ++
> ++[[package]]
> ++name = "mptcp-pm"
> ++version = "0.1.3"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "3eafa8fc63dce407b75e336f9a22f18cf5510a3a5c3a5d83262688eb5cca42d5"
> ++dependencies = [
> ++ "anyhow",
> ++ "byteorder",
> ++ "futures",
> ++ "genetlink",
> ++ "log",
> ++ "netlink-packet-core",
> ++ "netlink-packet-generic",
> ++ "netlink-packet-utils",
> ++ "netlink-proto",
> ++ "netlink-sys",
> ++ "thiserror 1.0.69",
> ++ "tokio",
> ++]
> ++
> ++[[package]]
> ++name = "nb-connect"
> ++version = "1.2.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "b1bb540dc6ef51cfe1916ec038ce7a620daf3a111e2502d745197cd53d6bca15"
> ++dependencies = [
> ++ "libc",
> ++ "socket2 0.4.10",
> ++]
> ++
> ++[[package]]
> ++name = "netlink-packet-core"
> ++version = "0.7.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4"
> ++dependencies = [
> ++ "anyhow",
> ++ "byteorder",
> ++ "netlink-packet-utils",
> ++]
> ++
> ++[[package]]
> ++name = "netlink-packet-generic"
> ++version = "0.3.3"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "1cd7eb8ad331c84c6b8cb7f685b448133e5ad82e1ffd5acafac374af4a5a308b"
> ++dependencies = [
> ++ "anyhow",
> ++ "byteorder",
> ++ "netlink-packet-core",
> ++ "netlink-packet-utils",
> ++]
> ++
> ++[[package]]
> ++name = "netlink-packet-route"
> ++version = "0.22.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "fc0e7987b28514adf555dc1f9a5c30dfc3e50750bbaffb1aec41ca7b23dcd8e4"
> ++dependencies = [
> ++ "anyhow",
> ++ "bitflags 2.9.1",
> ++ "byteorder",
> ++ "libc",
> ++ "log",
> ++ "netlink-packet-core",
> ++ "netlink-packet-utils",
> ++]
> ++
> ++[[package]]
> ++name = "netlink-packet-utils"
> ++version = "0.5.2"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34"
> ++dependencies = [
> ++ "anyhow",
> ++ "byteorder",
> ++ "paste",
> ++ "thiserror 1.0.69",
> ++]
> ++
> ++[[package]]
> ++name = "netlink-proto"
> ++version = "0.11.5"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "72452e012c2f8d612410d89eea01e2d9b56205274abb35d53f60200b2ec41d60"
> ++dependencies = [
> ++ "bytes",
> ++ "futures",
> ++ "log",
> ++ "netlink-packet-core",
> ++ "netlink-sys",
> ++ "thiserror 2.0.12",
> ++]
> ++
> ++[[package]]
> ++name = "netlink-sys"
> ++version = "0.8.7"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23"
> ++dependencies = [
> ++ "bytes",
> ++ "futures",
> ++ "libc",
> ++ "log",
> ++ "tokio",
> ++]
> ++
> ++[[package]]
> ++name = "nispor"
> ++version = "1.2.24"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "de4f8494aa978fe693dc7f36cdfcac99f1f1441f71c44267278b889e36d52c1a"
> ++dependencies = [
> ++ "ethtool",
> ++ "futures",
> ++ "libc",
> ++ "log",
> ++ "mptcp-pm",
> ++ "rtnetlink",
> ++ "serde",
> ++ "serde_json",
> ++ "tokio",
> ++ "wl-nl80211",
> ++]
> ++
> ++[[package]]
> ++name = "nix"
> ++version = "0.22.3"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf"
> ++dependencies = [
> ++ "bitflags 1.3.2",
> ++ "cc",
> ++ "cfg-if",
> ++ "libc",
> ++ "memoffset",
> ++]
> ++
> ++[[package]]
> ++name = "nix"
> ++version = "0.26.4"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
> ++dependencies = [
> ++ "bitflags 1.3.2",
> ++ "cfg-if",
> ++ "libc",
> ++]
> ++
> ++[[package]]
> ++name = "nix"
> ++version = "0.29.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
> ++dependencies = [
> ++ "bitflags 2.9.1",
> ++ "cfg-if",
> ++ "cfg_aliases",
> ++ "libc",
> ++]
> ++
> ++[[package]]
> ++name = "nix"
> ++version = "0.30.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6"
> ++dependencies = [
> ++ "bitflags 2.9.1",
> ++ "cfg-if",
> ++ "cfg_aliases",
> ++ "libc",
> ++]
> ++
> ++[[package]]
> ++name = "nmstate"
> ++version = "2.2.24"
> ++dependencies = [
> ++ "log",
> ++ "nispor",
> ++ "nix 0.26.4",
> ++ "serde",
> ++ "serde_json",
> ++ "serde_yaml",
> ++ "uuid",
> ++ "zbus",
> ++ "zvariant",
> ++]
> ++
> ++[[package]]
> ++name = "nmstate-clib"
> ++version = "2.2.24"
> ++dependencies = [
> ++ "libc",
> ++ "log",
> ++ "nmstate",
> ++ "once_cell",
> ++ "serde",
> ++ "serde_json",
> ++ "serde_yaml",
> ++]
> ++
> ++[[package]]
> ++name = "nmstatectl"
> ++version = "2.2.24"
> ++dependencies = [
> ++ "chrono",
> ++ "clap",
> ++ "ctrlc",
> ++ "env_logger",
> ++ "log",
> ++ "nispor",
> ++ "nmstate",
> ++ "serde",
> ++ "serde_json",
> ++ "serde_yaml",
> ++ "toml 0.8.22",
> ++ "uuid",
> ++]
> ++
> ++[[package]]
> ++name = "num-traits"
> ++version = "0.2.19"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
> ++dependencies = [
> ++ "autocfg",
> ++]
> ++
> ++[[package]]
> ++name = "object"
> ++version = "0.36.7"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
> ++dependencies = [
> ++ "memchr",
> ++]
> ++
> ++[[package]]
> ++name = "once_cell"
> ++version = "1.21.3"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
> ++
> ++[[package]]
> ++name = "os_str_bytes"
> ++version = "6.6.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
> ++
> ++[[package]]
> ++name = "parking"
> ++version = "2.2.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
> ++
> ++[[package]]
> ++name = "paste"
> ++version = "1.0.15"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
> ++
> ++[[package]]
> ++name = "pin-project-lite"
> ++version = "0.2.16"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
> ++
> ++[[package]]
> ++name = "pin-utils"
> ++version = "0.1.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
> ++
> ++[[package]]
> ++name = "polling"
> ++version = "2.8.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
> ++dependencies = [
> ++ "autocfg",
> ++ "bitflags 1.3.2",
> ++ "cfg-if",
> ++ "concurrent-queue",
> ++ "libc",
> ++ "log",
> ++ "pin-project-lite",
> ++ "windows-sys 0.48.0",
> ++]
> ++
> ++[[package]]
> ++name = "proc-macro-crate"
> ++version = "0.1.5"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785"
> ++dependencies = [
> ++ "toml 0.5.11",
> ++]
> ++
> ++[[package]]
> ++name = "proc-macro-crate"
> ++version = "1.3.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
> ++dependencies = [
> ++ "once_cell",
> ++ "toml_edit 0.19.15",
> ++]
> ++
> ++[[package]]
> ++name = "proc-macro2"
> ++version = "1.0.95"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
> ++dependencies = [
> ++ "unicode-ident",
> ++]
> ++
> ++[[package]]
> ++name = "quote"
> ++version = "1.0.40"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
> ++dependencies = [
> ++ "proc-macro2",
> ++]
> ++
> ++[[package]]
> ++name = "r-efi"
> ++version = "5.2.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
> ++
> ++[[package]]
> ++name = "regex"
> ++version = "1.11.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
> ++dependencies = [
> ++ "aho-corasick",
> ++ "memchr",
> ++ "regex-automata",
> ++ "regex-syntax",
> ++]
> ++
> ++[[package]]
> ++name = "regex-automata"
> ++version = "0.4.9"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
> ++dependencies = [
> ++ "aho-corasick",
> ++ "memchr",
> ++ "regex-syntax",
> ++]
> ++
> ++[[package]]
> ++name = "regex-syntax"
> ++version = "0.8.5"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
> ++
> ++[[package]]
> ++name = "rtnetlink"
> ++version = "0.16.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "3cb5850b5aa2c9c0ae44f157694bbe85107a2e13d76eb3178d0e3ee96c410f57"
> ++dependencies = [
> ++ "futures",
> ++ "log",
> ++ "netlink-packet-core",
> ++ "netlink-packet-route",
> ++ "netlink-packet-utils",
> ++ "netlink-proto",
> ++ "netlink-sys",
> ++ "nix 0.29.0",
> ++ "thiserror 1.0.69",
> ++ "tokio",
> ++]
> ++
> ++[[package]]
> ++name = "rustc-demangle"
> ++version = "0.1.24"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
> ++
> ++[[package]]
> ++name = "rustix"
> ++version = "0.37.28"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "519165d378b97752ca44bbe15047d5d3409e875f39327546b42ac81d7e18c1b6"
> ++dependencies = [
> ++ "bitflags 1.3.2",
> ++ "errno",
> ++ "io-lifetimes",
> ++ "libc",
> ++ "linux-raw-sys",
> ++ "windows-sys 0.48.0",
> ++]
> ++
> ++[[package]]
> ++name = "rustversion"
> ++version = "1.0.20"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2"
> ++
> ++[[package]]
> ++name = "ryu"
> ++version = "1.0.20"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
> ++
> ++[[package]]
> ++name = "scoped-tls"
> ++version = "1.0.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
> ++
> ++[[package]]
> ++name = "serde"
> ++version = "1.0.219"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
> ++dependencies = [
> ++ "serde_derive",
> ++]
> ++
> ++[[package]]
> ++name = "serde_derive"
> ++version = "1.0.219"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
> ++dependencies = [
> ++ "proc-macro2",
> ++ "quote",
> ++ "syn 2.0.101",
> ++]
> ++
> ++[[package]]
> ++name = "serde_json"
> ++version = "1.0.140"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
> ++dependencies = [
> ++ "indexmap 2.9.0",
> ++ "itoa",
> ++ "memchr",
> ++ "ryu",
> ++ "serde",
> ++]
> ++
> ++[[package]]
> ++name = "serde_repr"
> ++version = "0.1.20"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c"
> ++dependencies = [
> ++ "proc-macro2",
> ++ "quote",
> ++ "syn 2.0.101",
> ++]
> ++
> ++[[package]]
> ++name = "serde_spanned"
> ++version = "0.6.8"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"
> ++dependencies = [
> ++ "serde",
> ++]
> ++
> ++[[package]]
> ++name = "serde_yaml"
> ++version = "0.9.34+deprecated"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
> ++dependencies = [
> ++ "indexmap 2.9.0",
> ++ "itoa",
> ++ "ryu",
> ++ "serde",
> ++ "unsafe-libyaml",
> ++]
> ++
> ++[[package]]
> ++name = "sha1_smol"
> ++version = "1.0.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d"
> ++
> ++[[package]]
> ++name = "shlex"
> ++version = "1.3.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
> ++
> ++[[package]]
> ++name = "slab"
> ++version = "0.4.9"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
> ++dependencies = [
> ++ "autocfg",
> ++]
> ++
> ++[[package]]
> ++name = "socket2"
> ++version = "0.4.10"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
> ++dependencies = [
> ++ "libc",
> ++ "winapi",
> ++]
> ++
> ++[[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 = "static_assertions"
> ++version = "1.1.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
> ++
> ++[[package]]
> ++name = "strsim"
> ++version = "0.10.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
> ++
> ++[[package]]
> ++name = "syn"
> ++version = "1.0.109"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
> ++dependencies = [
> ++ "proc-macro2",
> ++ "quote",
> ++ "unicode-ident",
> ++]
> ++
> ++[[package]]
> ++name = "syn"
> ++version = "2.0.101"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
> ++dependencies = [
> ++ "proc-macro2",
> ++ "quote",
> ++ "unicode-ident",
> ++]
> ++
> ++[[package]]
> ++name = "termcolor"
> ++version = "1.4.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
> ++dependencies = [
> ++ "winapi-util",
> ++]
> ++
> ++[[package]]
> ++name = "textwrap"
> ++version = "0.16.2"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057"
> ++
> ++[[package]]
> ++name = "thiserror"
> ++version = "1.0.69"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
> ++dependencies = [
> ++ "thiserror-impl 1.0.69",
> ++]
> ++
> ++[[package]]
> ++name = "thiserror"
> ++version = "2.0.12"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
> ++dependencies = [
> ++ "thiserror-impl 2.0.12",
> ++]
> ++
> ++[[package]]
> ++name = "thiserror-impl"
> ++version = "1.0.69"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
> ++dependencies = [
> ++ "proc-macro2",
> ++ "quote",
> ++ "syn 2.0.101",
> ++]
> ++
> ++[[package]]
> ++name = "thiserror-impl"
> ++version = "2.0.12"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
> ++dependencies = [
> ++ "proc-macro2",
> ++ "quote",
> ++ "syn 2.0.101",
> ++]
> ++
> ++[[package]]
> ++name = "tokio"
> ++version = "1.45.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165"
> ++dependencies = [
> ++ "backtrace",
> ++ "libc",
> ++ "mio",
> ++ "pin-project-lite",
> ++ "socket2 0.5.9",
> ++ "tokio-macros",
> ++ "windows-sys 0.52.0",
> ++]
> ++
> ++[[package]]
> ++name = "tokio-macros"
> ++version = "2.5.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
> ++dependencies = [
> ++ "proc-macro2",
> ++ "quote",
> ++ "syn 2.0.101",
> ++]
> ++
> ++[[package]]
> ++name = "toml"
> ++version = "0.5.11"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
> ++dependencies = [
> ++ "serde",
> ++]
> ++
> ++[[package]]
> ++name = "toml"
> ++version = "0.8.22"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae"
> ++dependencies = [
> ++ "serde",
> ++ "serde_spanned",
> ++ "toml_datetime",
> ++ "toml_edit 0.22.26",
> ++]
> ++
> ++[[package]]
> ++name = "toml_datetime"
> ++version = "0.6.9"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3"
> ++dependencies = [
> ++ "serde",
> ++]
> ++
> ++[[package]]
> ++name = "toml_edit"
> ++version = "0.19.15"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
> ++dependencies = [
> ++ "indexmap 2.9.0",
> ++ "toml_datetime",
> ++ "winnow 0.5.40",
> ++]
> ++
> ++[[package]]
> ++name = "toml_edit"
> ++version = "0.22.26"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e"
> ++dependencies = [
> ++ "indexmap 2.9.0",
> ++ "serde",
> ++ "serde_spanned",
> ++ "toml_datetime",
> ++ "toml_write",
> ++ "winnow 0.7.10",
> ++]
> ++
> ++[[package]]
> ++name = "toml_write"
> ++version = "0.1.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076"
> ++
> ++[[package]]
> ++name = "unicode-ident"
> ++version = "1.0.18"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
> ++
> ++[[package]]
> ++name = "unsafe-libyaml"
> ++version = "0.2.11"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
> ++
> ++[[package]]
> ++name = "uuid"
> ++version = "1.16.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9"
> ++dependencies = [
> ++ "getrandom",
> ++ "sha1_smol",
> ++]
> ++
> ++[[package]]
> ++name = "waker-fn"
> ++version = "1.2.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7"
> ++
> ++[[package]]
> ++name = "wasi"
> ++version = "0.11.0+wasi-snapshot-preview1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
> ++
> ++[[package]]
> ++name = "wasi"
> ++version = "0.14.2+wasi-0.2.4"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
> ++dependencies = [
> ++ "wit-bindgen-rt",
> ++]
> ++
> ++[[package]]
> ++name = "wasm-bindgen"
> ++version = "0.2.100"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
> ++dependencies = [
> ++ "cfg-if",
> ++ "once_cell",
> ++ "rustversion",
> ++ "wasm-bindgen-macro",
> ++]
> ++
> ++[[package]]
> ++name = "wasm-bindgen-backend"
> ++version = "0.2.100"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
> ++dependencies = [
> ++ "bumpalo",
> ++ "log",
> ++ "proc-macro2",
> ++ "quote",
> ++ "syn 2.0.101",
> ++ "wasm-bindgen-shared",
> ++]
> ++
> ++[[package]]
> ++name = "wasm-bindgen-macro"
> ++version = "0.2.100"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
> ++dependencies = [
> ++ "quote",
> ++ "wasm-bindgen-macro-support",
> ++]
> ++
> ++[[package]]
> ++name = "wasm-bindgen-macro-support"
> ++version = "0.2.100"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
> ++dependencies = [
> ++ "proc-macro2",
> ++ "quote",
> ++ "syn 2.0.101",
> ++ "wasm-bindgen-backend",
> ++ "wasm-bindgen-shared",
> ++]
> ++
> ++[[package]]
> ++name = "wasm-bindgen-shared"
> ++version = "0.2.100"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
> ++dependencies = [
> ++ "unicode-ident",
> ++]
> ++
> ++[[package]]
> ++name = "winapi"
> ++version = "0.3.9"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
> ++dependencies = [
> ++ "winapi-i686-pc-windows-gnu",
> ++ "winapi-x86_64-pc-windows-gnu",
> ++]
> ++
> ++[[package]]
> ++name = "winapi-i686-pc-windows-gnu"
> ++version = "0.4.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
> ++
> ++[[package]]
> ++name = "winapi-util"
> ++version = "0.1.9"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
> ++dependencies = [
> ++ "windows-sys 0.59.0",
> ++]
> ++
> ++[[package]]
> ++name = "winapi-x86_64-pc-windows-gnu"
> ++version = "0.4.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
> ++
> ++[[package]]
> ++name = "windows-core"
> ++version = "0.61.2"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
> ++dependencies = [
> ++ "windows-implement",
> ++ "windows-interface",
> ++ "windows-link",
> ++ "windows-result",
> ++ "windows-strings",
> ++]
> ++
> ++[[package]]
> ++name = "windows-implement"
> ++version = "0.60.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
> ++dependencies = [
> ++ "proc-macro2",
> ++ "quote",
> ++ "syn 2.0.101",
> ++]
> ++
> ++[[package]]
> ++name = "windows-interface"
> ++version = "0.59.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
> ++dependencies = [
> ++ "proc-macro2",
> ++ "quote",
> ++ "syn 2.0.101",
> ++]
> ++
> ++[[package]]
> ++name = "windows-link"
> ++version = "0.1.1"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38"
> ++
> ++[[package]]
> ++name = "windows-result"
> ++version = "0.3.4"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
> ++dependencies = [
> ++ "windows-link",
> ++]
> ++
> ++[[package]]
> ++name = "windows-strings"
> ++version = "0.4.2"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
> ++dependencies = [
> ++ "windows-link",
> ++]
> ++
> ++[[package]]
> ++name = "windows-sys"
> ++version = "0.48.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
> ++dependencies = [
> ++ "windows-targets 0.48.5",
> ++]
> ++
> ++[[package]]
> ++name = "windows-sys"
> ++version = "0.52.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
> ++dependencies = [
> ++ "windows-targets 0.52.6",
> ++]
> ++
> ++[[package]]
> ++name = "windows-sys"
> ++version = "0.59.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
> ++dependencies = [
> ++ "windows-targets 0.52.6",
> ++]
> ++
> ++[[package]]
> ++name = "windows-targets"
> ++version = "0.48.5"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
> ++dependencies = [
> ++ "windows_aarch64_gnullvm 0.48.5",
> ++ "windows_aarch64_msvc 0.48.5",
> ++ "windows_i686_gnu 0.48.5",
> ++ "windows_i686_msvc 0.48.5",
> ++ "windows_x86_64_gnu 0.48.5",
> ++ "windows_x86_64_gnullvm 0.48.5",
> ++ "windows_x86_64_msvc 0.48.5",
> ++]
> ++
> ++[[package]]
> ++name = "windows-targets"
> ++version = "0.52.6"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
> ++dependencies = [
> ++ "windows_aarch64_gnullvm 0.52.6",
> ++ "windows_aarch64_msvc 0.52.6",
> ++ "windows_i686_gnu 0.52.6",
> ++ "windows_i686_gnullvm",
> ++ "windows_i686_msvc 0.52.6",
> ++ "windows_x86_64_gnu 0.52.6",
> ++ "windows_x86_64_gnullvm 0.52.6",
> ++ "windows_x86_64_msvc 0.52.6",
> ++]
> ++
> ++[[package]]
> ++name = "windows_aarch64_gnullvm"
> ++version = "0.48.5"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
> ++
> ++[[package]]
> ++name = "windows_aarch64_gnullvm"
> ++version = "0.52.6"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
> ++
> ++[[package]]
> ++name = "windows_aarch64_msvc"
> ++version = "0.48.5"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
> ++
> ++[[package]]
> ++name = "windows_aarch64_msvc"
> ++version = "0.52.6"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
> ++
> ++[[package]]
> ++name = "windows_i686_gnu"
> ++version = "0.48.5"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
> ++
> ++[[package]]
> ++name = "windows_i686_gnu"
> ++version = "0.52.6"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
> ++
> ++[[package]]
> ++name = "windows_i686_gnullvm"
> ++version = "0.52.6"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
> ++
> ++[[package]]
> ++name = "windows_i686_msvc"
> ++version = "0.48.5"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
> ++
> ++[[package]]
> ++name = "windows_i686_msvc"
> ++version = "0.52.6"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
> ++
> ++[[package]]
> ++name = "windows_x86_64_gnu"
> ++version = "0.48.5"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
> ++
> ++[[package]]
> ++name = "windows_x86_64_gnu"
> ++version = "0.52.6"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
> ++
> ++[[package]]
> ++name = "windows_x86_64_gnullvm"
> ++version = "0.48.5"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
> ++
> ++[[package]]
> ++name = "windows_x86_64_gnullvm"
> ++version = "0.52.6"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
> ++
> ++[[package]]
> ++name = "windows_x86_64_msvc"
> ++version = "0.48.5"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
> ++
> ++[[package]]
> ++name = "windows_x86_64_msvc"
> ++version = "0.52.6"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
> ++
> ++[[package]]
> ++name = "winnow"
> ++version = "0.5.40"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
> ++dependencies = [
> ++ "memchr",
> ++]
> ++
> ++[[package]]
> ++name = "winnow"
> ++version = "0.7.10"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec"
> ++dependencies = [
> ++ "memchr",
> ++]
> ++
> ++[[package]]
> ++name = "wit-bindgen-rt"
> ++version = "0.39.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
> ++dependencies = [
> ++ "bitflags 2.9.1",
> ++]
> ++
> ++[[package]]
> ++name = "wl-nl80211"
> ++version = "0.2.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "5cffcf1e1dca38467779e22768bfc7f294f1b7b3bd99727edf13280eb2429789"
> ++dependencies = [
> ++ "anyhow",
> ++ "bitflags 2.9.1",
> ++ "byteorder",
> ++ "futures",
> ++ "genetlink",
> ++ "log",
> ++ "netlink-packet-core",
> ++ "netlink-packet-generic",
> ++ "netlink-packet-utils",
> ++ "netlink-proto",
> ++ "netlink-sys",
> ++ "thiserror 1.0.69",
> ++ "tokio",
> ++]
> ++
> ++[[package]]
> ++name = "zbus"
> ++version = "1.9.3"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "9cbeb2291cd7267a94489b71376eda33496c1b9881adf6b36f26cc2779f3fc49"
> ++dependencies = [
> ++ "async-io",
> ++ "byteorder",
> ++ "derivative",
> ++ "enumflags2",
> ++ "fastrand",
> ++ "futures",
> ++ "nb-connect",
> ++ "nix 0.22.3",
> ++ "once_cell",
> ++ "polling",
> ++ "scoped-tls",
> ++ "serde",
> ++ "serde_repr",
> ++ "zbus_macros",
> ++ "zvariant",
> ++]
> ++
> ++[[package]]
> ++name = "zbus_macros"
> ++version = "1.9.3"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "fa3959a7847cf95e3d51e312856617c5b1b77191176c65a79a5f14d778bbe0a6"
> ++dependencies = [
> ++ "proc-macro-crate 0.1.5",
> ++ "proc-macro2",
> ++ "quote",
> ++ "syn 1.0.109",
> ++]
> ++
> ++[[package]]
> ++name = "zvariant"
> ++version = "2.10.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "a68c7b55f2074489b7e8e07d2d0a6ee6b4f233867a653c664d8020ba53692525"
> ++dependencies = [
> ++ "byteorder",
> ++ "enumflags2",
> ++ "libc",
> ++ "serde",
> ++ "static_assertions",
> ++ "zvariant_derive",
> ++]
> ++
> ++[[package]]
> ++name = "zvariant_derive"
> ++version = "2.10.0"
> ++source = "registry+https://github.com/rust-lang/crates.io-index"
> ++checksum = "e4ca5e22593eb4212382d60d26350065bf2a02c34b85bc850474a74b589a3de9"
> ++dependencies = [
> ++ "proc-macro-crate 1.3.1",
> ++ "proc-macro2",
> ++ "quote",
> ++ "syn 1.0.109",
> ++]
> diff --git a/patches/nmstate-2.2.24/series b/patches/nmstate-2.2.24/series
> new file mode 100644
> index 000000000..000c58669
> --- /dev/null
> +++ b/patches/nmstate-2.2.24/series
> @@ -0,0 +1,4 @@
> +# generated by git-ptx-patches
> +#tag:base --start-number 1
> +0001-nmstate-add-Cargo.lock-file.patch
> +# 37de70a81dc3bc3172acdd97c328e090  - git-ptx-patches magic
> diff --git a/rules/nmstate.cargo.make b/rules/nmstate.cargo.make
> new file mode 100644
> index 000000000..859aa7d9c
> --- /dev/null
> +++ b/rules/nmstate.cargo.make
> @@ -0,0 +1,937 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2025 by Robert Schwebel <r.schwebel@pengutronix.de>
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# WARNING: This file is generated with 'ptxdist cargosync nmstate' and
> +# should not be modified manually!
> +#
> +
> +NMSTATE_CARGO_LOCK_MD5 := d1dc0c3c8eca47336112490948efd260
> +
> +NMSTATE_ADDR2LINE_0_24_2_MD5		:= fd1d0d5b3ecdfb40979711421742ddf5
> +NMSTATE_ADDR2LINE_0_24_2_URL		:= https://crates.io/api/v1/crates/addr2line/0.24.2/download
> +NMSTATE_ADDR2LINE_0_24_2_SOURCE	:= $(SRCDIR)/addr2line-0.24.2.crate
> +NMSTATE_PARTS			+= NMSTATE_ADDR2LINE_0_24_2
> +
> +NMSTATE_ADLER2_2_0_0_MD5		:= 579e59ba996675f454d456471924ea9d
> +NMSTATE_ADLER2_2_0_0_URL		:= https://crates.io/api/v1/crates/adler2/2.0.0/download
> +NMSTATE_ADLER2_2_0_0_SOURCE	:= $(SRCDIR)/adler2-2.0.0.crate
> +NMSTATE_PARTS			+= NMSTATE_ADLER2_2_0_0
> +
> +NMSTATE_AHO_CORASICK_1_1_3_MD5		:= 03b2d126766ed746706241b4c7487654
> +NMSTATE_AHO_CORASICK_1_1_3_URL		:= https://crates.io/api/v1/crates/aho-corasick/1.1.3/download
> +NMSTATE_AHO_CORASICK_1_1_3_SOURCE	:= $(SRCDIR)/aho-corasick-1.1.3.crate
> +NMSTATE_PARTS			+= NMSTATE_AHO_CORASICK_1_1_3
> +
> +NMSTATE_ANDROID_TZDATA_0_1_1_MD5		:= e0a03581a6aea080315323651f272d65
> +NMSTATE_ANDROID_TZDATA_0_1_1_URL		:= https://crates.io/api/v1/crates/android-tzdata/0.1.1/download
> +NMSTATE_ANDROID_TZDATA_0_1_1_SOURCE	:= $(SRCDIR)/android-tzdata-0.1.1.crate
> +NMSTATE_PARTS			+= NMSTATE_ANDROID_TZDATA_0_1_1
> +
> +NMSTATE_ANDROID_SYSTEM_PROPERTIES_0_1_5_MD5		:= bf23cd323c33a8c283c41bb9b79e4ce4
> +NMSTATE_ANDROID_SYSTEM_PROPERTIES_0_1_5_URL		:= https://crates.io/api/v1/crates/android_system_properties/0.1.5/download
> +NMSTATE_ANDROID_SYSTEM_PROPERTIES_0_1_5_SOURCE	:= $(SRCDIR)/android_system_properties-0.1.5.crate
> +NMSTATE_PARTS			+= NMSTATE_ANDROID_SYSTEM_PROPERTIES_0_1_5
> +
> +NMSTATE_ANYHOW_1_0_98_MD5		:= 30a1c83a8e1919f634a08e25caec725f
> +NMSTATE_ANYHOW_1_0_98_URL		:= https://crates.io/api/v1/crates/anyhow/1.0.98/download
> +NMSTATE_ANYHOW_1_0_98_SOURCE	:= $(SRCDIR)/anyhow-1.0.98.crate
> +NMSTATE_PARTS			+= NMSTATE_ANYHOW_1_0_98
> +
> +NMSTATE_ASYNC_IO_1_13_0_MD5		:= 85e67aace07fa2fc176e690c75109365
> +NMSTATE_ASYNC_IO_1_13_0_URL		:= https://crates.io/api/v1/crates/async-io/1.13.0/download
> +NMSTATE_ASYNC_IO_1_13_0_SOURCE	:= $(SRCDIR)/async-io-1.13.0.crate
> +NMSTATE_PARTS			+= NMSTATE_ASYNC_IO_1_13_0
> +
> +NMSTATE_ASYNC_LOCK_2_8_0_MD5		:= f50aaa27a2bbd416782ea6b61cd81315
> +NMSTATE_ASYNC_LOCK_2_8_0_URL		:= https://crates.io/api/v1/crates/async-lock/2.8.0/download
> +NMSTATE_ASYNC_LOCK_2_8_0_SOURCE	:= $(SRCDIR)/async-lock-2.8.0.crate
> +NMSTATE_PARTS			+= NMSTATE_ASYNC_LOCK_2_8_0
> +
> +NMSTATE_ATTY_0_2_14_MD5		:= 142cb4b9a653e56e56311f0c883b8582
> +NMSTATE_ATTY_0_2_14_URL		:= https://crates.io/api/v1/crates/atty/0.2.14/download
> +NMSTATE_ATTY_0_2_14_SOURCE	:= $(SRCDIR)/atty-0.2.14.crate
> +NMSTATE_PARTS			+= NMSTATE_ATTY_0_2_14
> +
> +NMSTATE_AUTOCFG_1_4_0_MD5		:= 9e038efbd61e6d7cbc54983abc5b3948
> +NMSTATE_AUTOCFG_1_4_0_URL		:= https://crates.io/api/v1/crates/autocfg/1.4.0/download
> +NMSTATE_AUTOCFG_1_4_0_SOURCE	:= $(SRCDIR)/autocfg-1.4.0.crate
> +NMSTATE_PARTS			+= NMSTATE_AUTOCFG_1_4_0
> +
> +NMSTATE_BACKTRACE_0_3_75_MD5		:= 103bdfd8ee51c1a5b4a68043e6c01188
> +NMSTATE_BACKTRACE_0_3_75_URL		:= https://crates.io/api/v1/crates/backtrace/0.3.75/download
> +NMSTATE_BACKTRACE_0_3_75_SOURCE	:= $(SRCDIR)/backtrace-0.3.75.crate
> +NMSTATE_PARTS			+= NMSTATE_BACKTRACE_0_3_75
> +
> +NMSTATE_BITFLAGS_1_3_2_MD5		:= a295edb6953237ebbdfa8e731229f9a3
> +NMSTATE_BITFLAGS_1_3_2_URL		:= https://crates.io/api/v1/crates/bitflags/1.3.2/download
> +NMSTATE_BITFLAGS_1_3_2_SOURCE	:= $(SRCDIR)/bitflags-1.3.2.crate
> +NMSTATE_PARTS			+= NMSTATE_BITFLAGS_1_3_2
> +
> +NMSTATE_BITFLAGS_2_9_1_MD5		:= 66940d1c249bc21e798d0acfc231d8f7
> +NMSTATE_BITFLAGS_2_9_1_URL		:= https://crates.io/api/v1/crates/bitflags/2.9.1/download
> +NMSTATE_BITFLAGS_2_9_1_SOURCE	:= $(SRCDIR)/bitflags-2.9.1.crate
> +NMSTATE_PARTS			+= NMSTATE_BITFLAGS_2_9_1
> +
> +NMSTATE_BUMPALO_3_17_0_MD5		:= d383afbd0527ebb38acda5c532ba204e
> +NMSTATE_BUMPALO_3_17_0_URL		:= https://crates.io/api/v1/crates/bumpalo/3.17.0/download
> +NMSTATE_BUMPALO_3_17_0_SOURCE	:= $(SRCDIR)/bumpalo-3.17.0.crate
> +NMSTATE_PARTS			+= NMSTATE_BUMPALO_3_17_0
> +
> +NMSTATE_BYTEORDER_1_5_0_MD5		:= 45339d90b2b3a4f123af5ec459954102
> +NMSTATE_BYTEORDER_1_5_0_URL		:= https://crates.io/api/v1/crates/byteorder/1.5.0/download
> +NMSTATE_BYTEORDER_1_5_0_SOURCE	:= $(SRCDIR)/byteorder-1.5.0.crate
> +NMSTATE_PARTS			+= NMSTATE_BYTEORDER_1_5_0
> +
> +NMSTATE_BYTES_1_10_1_MD5		:= f5fbc93c70d12ab063028ace80b98677
> +NMSTATE_BYTES_1_10_1_URL		:= https://crates.io/api/v1/crates/bytes/1.10.1/download
> +NMSTATE_BYTES_1_10_1_SOURCE	:= $(SRCDIR)/bytes-1.10.1.crate
> +NMSTATE_PARTS			+= NMSTATE_BYTES_1_10_1
> +
> +NMSTATE_CC_1_2_23_MD5		:= 5abb632d6fde1578c6e4a0fe6be0f088
> +NMSTATE_CC_1_2_23_URL		:= https://crates.io/api/v1/crates/cc/1.2.23/download
> +NMSTATE_CC_1_2_23_SOURCE	:= $(SRCDIR)/cc-1.2.23.crate
> +NMSTATE_PARTS			+= NMSTATE_CC_1_2_23
> +
> +NMSTATE_CFG_IF_1_0_0_MD5		:= 74634128440dbc3766bda76fdf0aaa05
> +NMSTATE_CFG_IF_1_0_0_URL		:= https://crates.io/api/v1/crates/cfg-if/1.0.0/download
> +NMSTATE_CFG_IF_1_0_0_SOURCE	:= $(SRCDIR)/cfg-if-1.0.0.crate
> +NMSTATE_PARTS			+= NMSTATE_CFG_IF_1_0_0
> +
> +NMSTATE_CFG_ALIASES_0_2_1_MD5		:= f5215c4283a1984b95043a7185245e00
> +NMSTATE_CFG_ALIASES_0_2_1_URL		:= https://crates.io/api/v1/crates/cfg_aliases/0.2.1/download
> +NMSTATE_CFG_ALIASES_0_2_1_SOURCE	:= $(SRCDIR)/cfg_aliases-0.2.1.crate
> +NMSTATE_PARTS			+= NMSTATE_CFG_ALIASES_0_2_1
> +
> +NMSTATE_CHRONO_0_4_41_MD5		:= fffeee9da0f15363c41424bed77d30b2
> +NMSTATE_CHRONO_0_4_41_URL		:= https://crates.io/api/v1/crates/chrono/0.4.41/download
> +NMSTATE_CHRONO_0_4_41_SOURCE	:= $(SRCDIR)/chrono-0.4.41.crate
> +NMSTATE_PARTS			+= NMSTATE_CHRONO_0_4_41
> +
> +NMSTATE_CLAP_3_2_25_MD5		:= f74bde8201e1c944db1108f1014dfb8e
> +NMSTATE_CLAP_3_2_25_URL		:= https://crates.io/api/v1/crates/clap/3.2.25/download
> +NMSTATE_CLAP_3_2_25_SOURCE	:= $(SRCDIR)/clap-3.2.25.crate
> +NMSTATE_PARTS			+= NMSTATE_CLAP_3_2_25
> +
> +NMSTATE_CLAP_LEX_0_2_4_MD5		:= a2e1b64489b6bdae548ec08f883eaecf
> +NMSTATE_CLAP_LEX_0_2_4_URL		:= https://crates.io/api/v1/crates/clap_lex/0.2.4/download
> +NMSTATE_CLAP_LEX_0_2_4_SOURCE	:= $(SRCDIR)/clap_lex-0.2.4.crate
> +NMSTATE_PARTS			+= NMSTATE_CLAP_LEX_0_2_4
> +
> +NMSTATE_CONCURRENT_QUEUE_2_5_0_MD5		:= d1f70680f36b13b74bab20250fb2f26f
> +NMSTATE_CONCURRENT_QUEUE_2_5_0_URL		:= https://crates.io/api/v1/crates/concurrent-queue/2.5.0/download
> +NMSTATE_CONCURRENT_QUEUE_2_5_0_SOURCE	:= $(SRCDIR)/concurrent-queue-2.5.0.crate
> +NMSTATE_PARTS			+= NMSTATE_CONCURRENT_QUEUE_2_5_0
> +
> +NMSTATE_CORE_FOUNDATION_SYS_0_8_7_MD5		:= c5229cfccb6a1598e74a837dbc9e2797
> +NMSTATE_CORE_FOUNDATION_SYS_0_8_7_URL		:= https://crates.io/api/v1/crates/core-foundation-sys/0.8.7/download
> +NMSTATE_CORE_FOUNDATION_SYS_0_8_7_SOURCE	:= $(SRCDIR)/core-foundation-sys-0.8.7.crate
> +NMSTATE_PARTS			+= NMSTATE_CORE_FOUNDATION_SYS_0_8_7
> +
> +NMSTATE_CROSSBEAM_UTILS_0_8_21_MD5		:= 897be1152015ad66fa30dbdc224af39d
> +NMSTATE_CROSSBEAM_UTILS_0_8_21_URL		:= https://crates.io/api/v1/crates/crossbeam-utils/0.8.21/download
> +NMSTATE_CROSSBEAM_UTILS_0_8_21_SOURCE	:= $(SRCDIR)/crossbeam-utils-0.8.21.crate
> +NMSTATE_PARTS			+= NMSTATE_CROSSBEAM_UTILS_0_8_21
> +
> +NMSTATE_CTRLC_3_4_7_MD5		:= 855c3147fc856324b0ce0f9b2a9c7cd0
> +NMSTATE_CTRLC_3_4_7_URL		:= https://crates.io/api/v1/crates/ctrlc/3.4.7/download
> +NMSTATE_CTRLC_3_4_7_SOURCE	:= $(SRCDIR)/ctrlc-3.4.7.crate
> +NMSTATE_PARTS			+= NMSTATE_CTRLC_3_4_7
> +
> +NMSTATE_DERIVATIVE_2_2_0_MD5		:= 59978ef7bcea7bc55e24d06a2d32a32c
> +NMSTATE_DERIVATIVE_2_2_0_URL		:= https://crates.io/api/v1/crates/derivative/2.2.0/download
> +NMSTATE_DERIVATIVE_2_2_0_SOURCE	:= $(SRCDIR)/derivative-2.2.0.crate
> +NMSTATE_PARTS			+= NMSTATE_DERIVATIVE_2_2_0
> +
> +NMSTATE_ENUMFLAGS2_0_6_4_MD5		:= 8c1bba1510c915f915a9eca6fa95f476
> +NMSTATE_ENUMFLAGS2_0_6_4_URL		:= https://crates.io/api/v1/crates/enumflags2/0.6.4/download
> +NMSTATE_ENUMFLAGS2_0_6_4_SOURCE	:= $(SRCDIR)/enumflags2-0.6.4.crate
> +NMSTATE_PARTS			+= NMSTATE_ENUMFLAGS2_0_6_4
> +
> +NMSTATE_ENUMFLAGS2_DERIVE_0_6_4_MD5		:= 3d2977b047e366303274ab03ebef1c2b
> +NMSTATE_ENUMFLAGS2_DERIVE_0_6_4_URL		:= https://crates.io/api/v1/crates/enumflags2_derive/0.6.4/download
> +NMSTATE_ENUMFLAGS2_DERIVE_0_6_4_SOURCE	:= $(SRCDIR)/enumflags2_derive-0.6.4.crate
> +NMSTATE_PARTS			+= NMSTATE_ENUMFLAGS2_DERIVE_0_6_4
> +
> +NMSTATE_ENV_LOGGER_0_10_2_MD5		:= 955bb3f01413f4ea8fbaf6a523890178
> +NMSTATE_ENV_LOGGER_0_10_2_URL		:= https://crates.io/api/v1/crates/env_logger/0.10.2/download
> +NMSTATE_ENV_LOGGER_0_10_2_SOURCE	:= $(SRCDIR)/env_logger-0.10.2.crate
> +NMSTATE_PARTS			+= NMSTATE_ENV_LOGGER_0_10_2
> +
> +NMSTATE_EQUIVALENT_1_0_2_MD5		:= 8ea35f559a34b5a0ba1b063e001773ca
> +NMSTATE_EQUIVALENT_1_0_2_URL		:= https://crates.io/api/v1/crates/equivalent/1.0.2/download
> +NMSTATE_EQUIVALENT_1_0_2_SOURCE	:= $(SRCDIR)/equivalent-1.0.2.crate
> +NMSTATE_PARTS			+= NMSTATE_EQUIVALENT_1_0_2
> +
> +NMSTATE_ERRNO_0_3_12_MD5		:= 63f74ed7654ce2ca7255ba9a9aa92ee5
> +NMSTATE_ERRNO_0_3_12_URL		:= https://crates.io/api/v1/crates/errno/0.3.12/download
> +NMSTATE_ERRNO_0_3_12_SOURCE	:= $(SRCDIR)/errno-0.3.12.crate
> +NMSTATE_PARTS			+= NMSTATE_ERRNO_0_3_12
> +
> +NMSTATE_ETHTOOL_0_2_8_MD5		:= e452e202b7243a16ebbdf7084d940797
> +NMSTATE_ETHTOOL_0_2_8_URL		:= https://crates.io/api/v1/crates/ethtool/0.2.8/download
> +NMSTATE_ETHTOOL_0_2_8_SOURCE	:= $(SRCDIR)/ethtool-0.2.8.crate
> +NMSTATE_PARTS			+= NMSTATE_ETHTOOL_0_2_8
> +
> +NMSTATE_EVENT_LISTENER_2_5_3_MD5		:= 65934957ea79137686ded549467e1329
> +NMSTATE_EVENT_LISTENER_2_5_3_URL		:= https://crates.io/api/v1/crates/event-listener/2.5.3/download
> +NMSTATE_EVENT_LISTENER_2_5_3_SOURCE	:= $(SRCDIR)/event-listener-2.5.3.crate
> +NMSTATE_PARTS			+= NMSTATE_EVENT_LISTENER_2_5_3
> +
> +NMSTATE_FASTRAND_1_9_0_MD5		:= 06e723078de46119c270eea21ec4344e
> +NMSTATE_FASTRAND_1_9_0_URL		:= https://crates.io/api/v1/crates/fastrand/1.9.0/download
> +NMSTATE_FASTRAND_1_9_0_SOURCE	:= $(SRCDIR)/fastrand-1.9.0.crate
> +NMSTATE_PARTS			+= NMSTATE_FASTRAND_1_9_0
> +
> +NMSTATE_FUTURES_0_3_31_MD5		:= 17d69a1f0242b43b66a0e9a1887a73f4
> +NMSTATE_FUTURES_0_3_31_URL		:= https://crates.io/api/v1/crates/futures/0.3.31/download
> +NMSTATE_FUTURES_0_3_31_SOURCE	:= $(SRCDIR)/futures-0.3.31.crate
> +NMSTATE_PARTS			+= NMSTATE_FUTURES_0_3_31
> +
> +NMSTATE_FUTURES_CHANNEL_0_3_31_MD5		:= a086623c9c2f91f23ae5afee7129c943
> +NMSTATE_FUTURES_CHANNEL_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-channel/0.3.31/download
> +NMSTATE_FUTURES_CHANNEL_0_3_31_SOURCE	:= $(SRCDIR)/futures-channel-0.3.31.crate
> +NMSTATE_PARTS			+= NMSTATE_FUTURES_CHANNEL_0_3_31
> +
> +NMSTATE_FUTURES_CORE_0_3_31_MD5		:= 9a91b575ff300519839e2e765c124427
> +NMSTATE_FUTURES_CORE_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-core/0.3.31/download
> +NMSTATE_FUTURES_CORE_0_3_31_SOURCE	:= $(SRCDIR)/futures-core-0.3.31.crate
> +NMSTATE_PARTS			+= NMSTATE_FUTURES_CORE_0_3_31
> +
> +NMSTATE_FUTURES_EXECUTOR_0_3_31_MD5		:= 6b8cf12fc0d02dbc2eb906b5cf74f8c1
> +NMSTATE_FUTURES_EXECUTOR_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-executor/0.3.31/download
> +NMSTATE_FUTURES_EXECUTOR_0_3_31_SOURCE	:= $(SRCDIR)/futures-executor-0.3.31.crate
> +NMSTATE_PARTS			+= NMSTATE_FUTURES_EXECUTOR_0_3_31
> +
> +NMSTATE_FUTURES_IO_0_3_31_MD5		:= 118c724fa4cfcc59ef1bcaa438d997b2
> +NMSTATE_FUTURES_IO_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-io/0.3.31/download
> +NMSTATE_FUTURES_IO_0_3_31_SOURCE	:= $(SRCDIR)/futures-io-0.3.31.crate
> +NMSTATE_PARTS			+= NMSTATE_FUTURES_IO_0_3_31
> +
> +NMSTATE_FUTURES_LITE_1_13_0_MD5		:= c5aab47b001d43b71b542984f783b4b3
> +NMSTATE_FUTURES_LITE_1_13_0_URL		:= https://crates.io/api/v1/crates/futures-lite/1.13.0/download
> +NMSTATE_FUTURES_LITE_1_13_0_SOURCE	:= $(SRCDIR)/futures-lite-1.13.0.crate
> +NMSTATE_PARTS			+= NMSTATE_FUTURES_LITE_1_13_0
> +
> +NMSTATE_FUTURES_MACRO_0_3_31_MD5		:= e597e8c43837b595ee5922b605dec5b4
> +NMSTATE_FUTURES_MACRO_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-macro/0.3.31/download
> +NMSTATE_FUTURES_MACRO_0_3_31_SOURCE	:= $(SRCDIR)/futures-macro-0.3.31.crate
> +NMSTATE_PARTS			+= NMSTATE_FUTURES_MACRO_0_3_31
> +
> +NMSTATE_FUTURES_SINK_0_3_31_MD5		:= b6667c48b9fc2e1cdae5697a19a021e1
> +NMSTATE_FUTURES_SINK_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-sink/0.3.31/download
> +NMSTATE_FUTURES_SINK_0_3_31_SOURCE	:= $(SRCDIR)/futures-sink-0.3.31.crate
> +NMSTATE_PARTS			+= NMSTATE_FUTURES_SINK_0_3_31
> +
> +NMSTATE_FUTURES_TASK_0_3_31_MD5		:= 591cbad56682180a4160a8feedc6c468
> +NMSTATE_FUTURES_TASK_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-task/0.3.31/download
> +NMSTATE_FUTURES_TASK_0_3_31_SOURCE	:= $(SRCDIR)/futures-task-0.3.31.crate
> +NMSTATE_PARTS			+= NMSTATE_FUTURES_TASK_0_3_31
> +
> +NMSTATE_FUTURES_UTIL_0_3_31_MD5		:= f63e8b6601cfe5fe91cb977b3bacd1a2
> +NMSTATE_FUTURES_UTIL_0_3_31_URL		:= https://crates.io/api/v1/crates/futures-util/0.3.31/download
> +NMSTATE_FUTURES_UTIL_0_3_31_SOURCE	:= $(SRCDIR)/futures-util-0.3.31.crate
> +NMSTATE_PARTS			+= NMSTATE_FUTURES_UTIL_0_3_31
> +
> +NMSTATE_GENETLINK_0_2_5_MD5		:= cb1ac4e7f6516be8fb68214a1009da54
> +NMSTATE_GENETLINK_0_2_5_URL		:= https://crates.io/api/v1/crates/genetlink/0.2.5/download
> +NMSTATE_GENETLINK_0_2_5_SOURCE	:= $(SRCDIR)/genetlink-0.2.5.crate
> +NMSTATE_PARTS			+= NMSTATE_GENETLINK_0_2_5
> +
> +NMSTATE_GETRANDOM_0_3_3_MD5		:= f3426774ce46ffb82273b7568411c2dc
> +NMSTATE_GETRANDOM_0_3_3_URL		:= https://crates.io/api/v1/crates/getrandom/0.3.3/download
> +NMSTATE_GETRANDOM_0_3_3_SOURCE	:= $(SRCDIR)/getrandom-0.3.3.crate
> +NMSTATE_PARTS			+= NMSTATE_GETRANDOM_0_3_3
> +
> +NMSTATE_GIMLI_0_31_1_MD5		:= af0a19b2d65a8a745d733aef0337fb02
> +NMSTATE_GIMLI_0_31_1_URL		:= https://crates.io/api/v1/crates/gimli/0.31.1/download
> +NMSTATE_GIMLI_0_31_1_SOURCE	:= $(SRCDIR)/gimli-0.31.1.crate
> +NMSTATE_PARTS			+= NMSTATE_GIMLI_0_31_1
> +
> +NMSTATE_HASHBROWN_0_12_3_MD5		:= 1b41b97d982520b7364a87a39e2a1ed8
> +NMSTATE_HASHBROWN_0_12_3_URL		:= https://crates.io/api/v1/crates/hashbrown/0.12.3/download
> +NMSTATE_HASHBROWN_0_12_3_SOURCE	:= $(SRCDIR)/hashbrown-0.12.3.crate
> +NMSTATE_PARTS			+= NMSTATE_HASHBROWN_0_12_3
> +
> +NMSTATE_HASHBROWN_0_15_3_MD5		:= 327eea52c1aa56419e84353cc55db1cd
> +NMSTATE_HASHBROWN_0_15_3_URL		:= https://crates.io/api/v1/crates/hashbrown/0.15.3/download
> +NMSTATE_HASHBROWN_0_15_3_SOURCE	:= $(SRCDIR)/hashbrown-0.15.3.crate
> +NMSTATE_PARTS			+= NMSTATE_HASHBROWN_0_15_3
> +
> +NMSTATE_HERMIT_ABI_0_1_19_MD5		:= 0b7994d1256215201bdfb810a357ffa2
> +NMSTATE_HERMIT_ABI_0_1_19_URL		:= https://crates.io/api/v1/crates/hermit-abi/0.1.19/download
> +NMSTATE_HERMIT_ABI_0_1_19_SOURCE	:= $(SRCDIR)/hermit-abi-0.1.19.crate
> +NMSTATE_PARTS			+= NMSTATE_HERMIT_ABI_0_1_19
> +
> +NMSTATE_HERMIT_ABI_0_3_9_MD5		:= 4daeb6abd6951210bed659c3c1ea01b4
> +NMSTATE_HERMIT_ABI_0_3_9_URL		:= https://crates.io/api/v1/crates/hermit-abi/0.3.9/download
> +NMSTATE_HERMIT_ABI_0_3_9_SOURCE	:= $(SRCDIR)/hermit-abi-0.3.9.crate
> +NMSTATE_PARTS			+= NMSTATE_HERMIT_ABI_0_3_9
> +
> +NMSTATE_HERMIT_ABI_0_5_1_MD5		:= 523d83c72f2cb42268ecdb33f0eab20a
> +NMSTATE_HERMIT_ABI_0_5_1_URL		:= https://crates.io/api/v1/crates/hermit-abi/0.5.1/download
> +NMSTATE_HERMIT_ABI_0_5_1_SOURCE	:= $(SRCDIR)/hermit-abi-0.5.1.crate
> +NMSTATE_PARTS			+= NMSTATE_HERMIT_ABI_0_5_1
> +
> +NMSTATE_HUMANTIME_2_2_0_MD5		:= 3ba90671392e5da62b511746dceb8067
> +NMSTATE_HUMANTIME_2_2_0_URL		:= https://crates.io/api/v1/crates/humantime/2.2.0/download
> +NMSTATE_HUMANTIME_2_2_0_SOURCE	:= $(SRCDIR)/humantime-2.2.0.crate
> +NMSTATE_PARTS			+= NMSTATE_HUMANTIME_2_2_0
> +
> +NMSTATE_IANA_TIME_ZONE_0_1_63_MD5		:= 0af390dbe05b0ce39fd6fbe7e4584bff
> +NMSTATE_IANA_TIME_ZONE_0_1_63_URL		:= https://crates.io/api/v1/crates/iana-time-zone/0.1.63/download
> +NMSTATE_IANA_TIME_ZONE_0_1_63_SOURCE	:= $(SRCDIR)/iana-time-zone-0.1.63.crate
> +NMSTATE_PARTS			+= NMSTATE_IANA_TIME_ZONE_0_1_63
> +
> +NMSTATE_IANA_TIME_ZONE_HAIKU_0_1_2_MD5		:= 87b1b7cb12ef4dfe842c212b98263048
> +NMSTATE_IANA_TIME_ZONE_HAIKU_0_1_2_URL		:= https://crates.io/api/v1/crates/iana-time-zone-haiku/0.1.2/download
> +NMSTATE_IANA_TIME_ZONE_HAIKU_0_1_2_SOURCE	:= $(SRCDIR)/iana-time-zone-haiku-0.1.2.crate
> +NMSTATE_PARTS			+= NMSTATE_IANA_TIME_ZONE_HAIKU_0_1_2
> +
> +NMSTATE_INDEXMAP_1_9_3_MD5		:= 11ce8b5f52cd315e8f52985b834b87eb
> +NMSTATE_INDEXMAP_1_9_3_URL		:= https://crates.io/api/v1/crates/indexmap/1.9.3/download
> +NMSTATE_INDEXMAP_1_9_3_SOURCE	:= $(SRCDIR)/indexmap-1.9.3.crate
> +NMSTATE_PARTS			+= NMSTATE_INDEXMAP_1_9_3
> +
> +NMSTATE_INDEXMAP_2_9_0_MD5		:= 9b19a29c7a8300474bf15347ced57198
> +NMSTATE_INDEXMAP_2_9_0_URL		:= https://crates.io/api/v1/crates/indexmap/2.9.0/download
> +NMSTATE_INDEXMAP_2_9_0_SOURCE	:= $(SRCDIR)/indexmap-2.9.0.crate
> +NMSTATE_PARTS			+= NMSTATE_INDEXMAP_2_9_0
> +
> +NMSTATE_INSTANT_0_1_13_MD5		:= 43aa79b89b15111c5ea9314737302826
> +NMSTATE_INSTANT_0_1_13_URL		:= https://crates.io/api/v1/crates/instant/0.1.13/download
> +NMSTATE_INSTANT_0_1_13_SOURCE	:= $(SRCDIR)/instant-0.1.13.crate
> +NMSTATE_PARTS			+= NMSTATE_INSTANT_0_1_13
> +
> +NMSTATE_IO_LIFETIMES_1_0_11_MD5		:= c6612f34c3ee98ced239da95fbede236
> +NMSTATE_IO_LIFETIMES_1_0_11_URL		:= https://crates.io/api/v1/crates/io-lifetimes/1.0.11/download
> +NMSTATE_IO_LIFETIMES_1_0_11_SOURCE	:= $(SRCDIR)/io-lifetimes-1.0.11.crate
> +NMSTATE_PARTS			+= NMSTATE_IO_LIFETIMES_1_0_11
> +
> +NMSTATE_IS_TERMINAL_0_4_16_MD5		:= b651cd7c5ed8486a1f53e0c4b4918457
> +NMSTATE_IS_TERMINAL_0_4_16_URL		:= https://crates.io/api/v1/crates/is-terminal/0.4.16/download
> +NMSTATE_IS_TERMINAL_0_4_16_SOURCE	:= $(SRCDIR)/is-terminal-0.4.16.crate
> +NMSTATE_PARTS			+= NMSTATE_IS_TERMINAL_0_4_16
> +
> +NMSTATE_ITOA_1_0_15_MD5		:= ba82a589ab0348c1be03dfb9dd33e2ad
> +NMSTATE_ITOA_1_0_15_URL		:= https://crates.io/api/v1/crates/itoa/1.0.15/download
> +NMSTATE_ITOA_1_0_15_SOURCE	:= $(SRCDIR)/itoa-1.0.15.crate
> +NMSTATE_PARTS			+= NMSTATE_ITOA_1_0_15
> +
> +NMSTATE_JS_SYS_0_3_77_MD5		:= 1f421f29ba11d889e8b0693f29c62f84
> +NMSTATE_JS_SYS_0_3_77_URL		:= https://crates.io/api/v1/crates/js-sys/0.3.77/download
> +NMSTATE_JS_SYS_0_3_77_SOURCE	:= $(SRCDIR)/js-sys-0.3.77.crate
> +NMSTATE_PARTS			+= NMSTATE_JS_SYS_0_3_77
> +
> +NMSTATE_LIBC_0_2_172_MD5		:= 8501391edc08ecfa366d4c421cf77657
> +NMSTATE_LIBC_0_2_172_URL		:= https://crates.io/api/v1/crates/libc/0.2.172/download
> +NMSTATE_LIBC_0_2_172_SOURCE	:= $(SRCDIR)/libc-0.2.172.crate
> +NMSTATE_PARTS			+= NMSTATE_LIBC_0_2_172
> +
> +NMSTATE_LINUX_RAW_SYS_0_3_8_MD5		:= 18fa61f2d92d4df309c67cb3f3197987
> +NMSTATE_LINUX_RAW_SYS_0_3_8_URL		:= https://crates.io/api/v1/crates/linux-raw-sys/0.3.8/download
> +NMSTATE_LINUX_RAW_SYS_0_3_8_SOURCE	:= $(SRCDIR)/linux-raw-sys-0.3.8.crate
> +NMSTATE_PARTS			+= NMSTATE_LINUX_RAW_SYS_0_3_8
> +
> +NMSTATE_LOG_0_4_27_MD5		:= 6024116d77633589f38c78bf1716c704
> +NMSTATE_LOG_0_4_27_URL		:= https://crates.io/api/v1/crates/log/0.4.27/download
> +NMSTATE_LOG_0_4_27_SOURCE	:= $(SRCDIR)/log-0.4.27.crate
> +NMSTATE_PARTS			+= NMSTATE_LOG_0_4_27
> +
> +NMSTATE_MEMCHR_2_7_4_MD5		:= c0aab5e6eaaa6a2f3c7ed44f123d1c7d
> +NMSTATE_MEMCHR_2_7_4_URL		:= https://crates.io/api/v1/crates/memchr/2.7.4/download
> +NMSTATE_MEMCHR_2_7_4_SOURCE	:= $(SRCDIR)/memchr-2.7.4.crate
> +NMSTATE_PARTS			+= NMSTATE_MEMCHR_2_7_4
> +
> +NMSTATE_MEMOFFSET_0_6_5_MD5		:= 76124c2327f642cddf19a4aa50cbcb7d
> +NMSTATE_MEMOFFSET_0_6_5_URL		:= https://crates.io/api/v1/crates/memoffset/0.6.5/download
> +NMSTATE_MEMOFFSET_0_6_5_SOURCE	:= $(SRCDIR)/memoffset-0.6.5.crate
> +NMSTATE_PARTS			+= NMSTATE_MEMOFFSET_0_6_5
> +
> +NMSTATE_MINIZ_OXIDE_0_8_8_MD5		:= 7eda6ebdba25986c8a1b7e465641fc38
> +NMSTATE_MINIZ_OXIDE_0_8_8_URL		:= https://crates.io/api/v1/crates/miniz_oxide/0.8.8/download
> +NMSTATE_MINIZ_OXIDE_0_8_8_SOURCE	:= $(SRCDIR)/miniz_oxide-0.8.8.crate
> +NMSTATE_PARTS			+= NMSTATE_MINIZ_OXIDE_0_8_8
> +
> +NMSTATE_MIO_1_0_3_MD5		:= 8c5b656fbc77cf40ea254ccea0bb189d
> +NMSTATE_MIO_1_0_3_URL		:= https://crates.io/api/v1/crates/mio/1.0.3/download
> +NMSTATE_MIO_1_0_3_SOURCE	:= $(SRCDIR)/mio-1.0.3.crate
> +NMSTATE_PARTS			+= NMSTATE_MIO_1_0_3
> +
> +NMSTATE_MPTCP_PM_0_1_3_MD5		:= 08e3b3d125f680b62f4175a2883c67ad
> +NMSTATE_MPTCP_PM_0_1_3_URL		:= https://crates.io/api/v1/crates/mptcp-pm/0.1.3/download
> +NMSTATE_MPTCP_PM_0_1_3_SOURCE	:= $(SRCDIR)/mptcp-pm-0.1.3.crate
> +NMSTATE_PARTS			+= NMSTATE_MPTCP_PM_0_1_3
> +
> +NMSTATE_NB_CONNECT_1_2_0_MD5		:= 4917ff4eaed099a21ff16b96f0df49cb
> +NMSTATE_NB_CONNECT_1_2_0_URL		:= https://crates.io/api/v1/crates/nb-connect/1.2.0/download
> +NMSTATE_NB_CONNECT_1_2_0_SOURCE	:= $(SRCDIR)/nb-connect-1.2.0.crate
> +NMSTATE_PARTS			+= NMSTATE_NB_CONNECT_1_2_0
> +
> +NMSTATE_NETLINK_PACKET_CORE_0_7_0_MD5		:= 9bd492b34a2e1a642bdddf2496735019
> +NMSTATE_NETLINK_PACKET_CORE_0_7_0_URL		:= https://crates.io/api/v1/crates/netlink-packet-core/0.7.0/download
> +NMSTATE_NETLINK_PACKET_CORE_0_7_0_SOURCE	:= $(SRCDIR)/netlink-packet-core-0.7.0.crate
> +NMSTATE_PARTS			+= NMSTATE_NETLINK_PACKET_CORE_0_7_0
> +
> +NMSTATE_NETLINK_PACKET_GENERIC_0_3_3_MD5		:= 31f2a7911a7271229789cbec1ce4cac8
> +NMSTATE_NETLINK_PACKET_GENERIC_0_3_3_URL		:= https://crates.io/api/v1/crates/netlink-packet-generic/0.3.3/download
> +NMSTATE_NETLINK_PACKET_GENERIC_0_3_3_SOURCE	:= $(SRCDIR)/netlink-packet-generic-0.3.3.crate
> +NMSTATE_PARTS			+= NMSTATE_NETLINK_PACKET_GENERIC_0_3_3
> +
> +NMSTATE_NETLINK_PACKET_ROUTE_0_22_0_MD5		:= 2f30cb4e52c3980d72e46e16ada5d79e
> +NMSTATE_NETLINK_PACKET_ROUTE_0_22_0_URL		:= https://crates.io/api/v1/crates/netlink-packet-route/0.22.0/download
> +NMSTATE_NETLINK_PACKET_ROUTE_0_22_0_SOURCE	:= $(SRCDIR)/netlink-packet-route-0.22.0.crate
> +NMSTATE_PARTS			+= NMSTATE_NETLINK_PACKET_ROUTE_0_22_0
> +
> +NMSTATE_NETLINK_PACKET_UTILS_0_5_2_MD5		:= 46f610f530c61a6c9b068afa5699ff7f
> +NMSTATE_NETLINK_PACKET_UTILS_0_5_2_URL		:= https://crates.io/api/v1/crates/netlink-packet-utils/0.5.2/download
> +NMSTATE_NETLINK_PACKET_UTILS_0_5_2_SOURCE	:= $(SRCDIR)/netlink-packet-utils-0.5.2.crate
> +NMSTATE_PARTS			+= NMSTATE_NETLINK_PACKET_UTILS_0_5_2
> +
> +NMSTATE_NETLINK_PROTO_0_11_5_MD5		:= abdb7bd2ef5184a89e683377d2f598d2
> +NMSTATE_NETLINK_PROTO_0_11_5_URL		:= https://crates.io/api/v1/crates/netlink-proto/0.11.5/download
> +NMSTATE_NETLINK_PROTO_0_11_5_SOURCE	:= $(SRCDIR)/netlink-proto-0.11.5.crate
> +NMSTATE_PARTS			+= NMSTATE_NETLINK_PROTO_0_11_5
> +
> +NMSTATE_NETLINK_SYS_0_8_7_MD5		:= a9ee827067c21dc2ad9e9a193f5d356c
> +NMSTATE_NETLINK_SYS_0_8_7_URL		:= https://crates.io/api/v1/crates/netlink-sys/0.8.7/download
> +NMSTATE_NETLINK_SYS_0_8_7_SOURCE	:= $(SRCDIR)/netlink-sys-0.8.7.crate
> +NMSTATE_PARTS			+= NMSTATE_NETLINK_SYS_0_8_7
> +
> +NMSTATE_NISPOR_1_2_24_MD5		:= 1aab7a74e712a2faf2d40314db499558
> +NMSTATE_NISPOR_1_2_24_URL		:= https://crates.io/api/v1/crates/nispor/1.2.24/download
> +NMSTATE_NISPOR_1_2_24_SOURCE	:= $(SRCDIR)/nispor-1.2.24.crate
> +NMSTATE_PARTS			+= NMSTATE_NISPOR_1_2_24
> +
> +NMSTATE_NIX_0_22_3_MD5		:= 00182a0bd2b30bb3694008ba56adadcb
> +NMSTATE_NIX_0_22_3_URL		:= https://crates.io/api/v1/crates/nix/0.22.3/download
> +NMSTATE_NIX_0_22_3_SOURCE	:= $(SRCDIR)/nix-0.22.3.crate
> +NMSTATE_PARTS			+= NMSTATE_NIX_0_22_3
> +
> +NMSTATE_NIX_0_26_4_MD5		:= 44ab2701d152b855941648698cd7a99e
> +NMSTATE_NIX_0_26_4_URL		:= https://crates.io/api/v1/crates/nix/0.26.4/download
> +NMSTATE_NIX_0_26_4_SOURCE	:= $(SRCDIR)/nix-0.26.4.crate
> +NMSTATE_PARTS			+= NMSTATE_NIX_0_26_4
> +
> +NMSTATE_NIX_0_29_0_MD5		:= ed4e44c8eeb59ccf02891681bd0a5f2d
> +NMSTATE_NIX_0_29_0_URL		:= https://crates.io/api/v1/crates/nix/0.29.0/download
> +NMSTATE_NIX_0_29_0_SOURCE	:= $(SRCDIR)/nix-0.29.0.crate
> +NMSTATE_PARTS			+= NMSTATE_NIX_0_29_0
> +
> +NMSTATE_NIX_0_30_1_MD5		:= 87955f326fc2aa9627d446518454080f
> +NMSTATE_NIX_0_30_1_URL		:= https://crates.io/api/v1/crates/nix/0.30.1/download
> +NMSTATE_NIX_0_30_1_SOURCE	:= $(SRCDIR)/nix-0.30.1.crate
> +NMSTATE_PARTS			+= NMSTATE_NIX_0_30_1
> +
> +NMSTATE_NUM_TRAITS_0_2_19_MD5		:= e092b3abcc54806f2a35889d725bf95f
> +NMSTATE_NUM_TRAITS_0_2_19_URL		:= https://crates.io/api/v1/crates/num-traits/0.2.19/download
> +NMSTATE_NUM_TRAITS_0_2_19_SOURCE	:= $(SRCDIR)/num-traits-0.2.19.crate
> +NMSTATE_PARTS			+= NMSTATE_NUM_TRAITS_0_2_19
> +
> +NMSTATE_OBJECT_0_36_7_MD5		:= b0476c408e48108f9a8a74c64372fe53
> +NMSTATE_OBJECT_0_36_7_URL		:= https://crates.io/api/v1/crates/object/0.36.7/download
> +NMSTATE_OBJECT_0_36_7_SOURCE	:= $(SRCDIR)/object-0.36.7.crate
> +NMSTATE_PARTS			+= NMSTATE_OBJECT_0_36_7
> +
> +NMSTATE_ONCE_CELL_1_21_3_MD5		:= 76f8e4dcc29ab304e065cced86a344d2
> +NMSTATE_ONCE_CELL_1_21_3_URL		:= https://crates.io/api/v1/crates/once_cell/1.21.3/download
> +NMSTATE_ONCE_CELL_1_21_3_SOURCE	:= $(SRCDIR)/once_cell-1.21.3.crate
> +NMSTATE_PARTS			+= NMSTATE_ONCE_CELL_1_21_3
> +
> +NMSTATE_OS_STR_BYTES_6_6_1_MD5		:= 99df7a151e861c988b41f2d5e8b8ca08
> +NMSTATE_OS_STR_BYTES_6_6_1_URL		:= https://crates.io/api/v1/crates/os_str_bytes/6.6.1/download
> +NMSTATE_OS_STR_BYTES_6_6_1_SOURCE	:= $(SRCDIR)/os_str_bytes-6.6.1.crate
> +NMSTATE_PARTS			+= NMSTATE_OS_STR_BYTES_6_6_1
> +
> +NMSTATE_PARKING_2_2_1_MD5		:= c98fa41bae9a9421fcf24801356ef5a8
> +NMSTATE_PARKING_2_2_1_URL		:= https://crates.io/api/v1/crates/parking/2.2.1/download
> +NMSTATE_PARKING_2_2_1_SOURCE	:= $(SRCDIR)/parking-2.2.1.crate
> +NMSTATE_PARTS			+= NMSTATE_PARKING_2_2_1
> +
> +NMSTATE_PASTE_1_0_15_MD5		:= d57243eda469f74ab7f743a0c22ab1d7
> +NMSTATE_PASTE_1_0_15_URL		:= https://crates.io/api/v1/crates/paste/1.0.15/download
> +NMSTATE_PASTE_1_0_15_SOURCE	:= $(SRCDIR)/paste-1.0.15.crate
> +NMSTATE_PARTS			+= NMSTATE_PASTE_1_0_15
> +
> +NMSTATE_PIN_PROJECT_LITE_0_2_16_MD5		:= f6c8ce4c412ca548e42dfd896c92112e
> +NMSTATE_PIN_PROJECT_LITE_0_2_16_URL		:= https://crates.io/api/v1/crates/pin-project-lite/0.2.16/download
> +NMSTATE_PIN_PROJECT_LITE_0_2_16_SOURCE	:= $(SRCDIR)/pin-project-lite-0.2.16.crate
> +NMSTATE_PARTS			+= NMSTATE_PIN_PROJECT_LITE_0_2_16
> +
> +NMSTATE_PIN_UTILS_0_1_0_MD5		:= 07c75fec267864bcbb800ca7709ceae2
> +NMSTATE_PIN_UTILS_0_1_0_URL		:= https://crates.io/api/v1/crates/pin-utils/0.1.0/download
> +NMSTATE_PIN_UTILS_0_1_0_SOURCE	:= $(SRCDIR)/pin-utils-0.1.0.crate
> +NMSTATE_PARTS			+= NMSTATE_PIN_UTILS_0_1_0
> +
> +NMSTATE_POLLING_2_8_0_MD5		:= 343b2fab0e168b874bc0d070034988b5
> +NMSTATE_POLLING_2_8_0_URL		:= https://crates.io/api/v1/crates/polling/2.8.0/download
> +NMSTATE_POLLING_2_8_0_SOURCE	:= $(SRCDIR)/polling-2.8.0.crate
> +NMSTATE_PARTS			+= NMSTATE_POLLING_2_8_0
> +
> +NMSTATE_PROC_MACRO_CRATE_0_1_5_MD5		:= 5ecf56203dda9419751b532d99c3601d
> +NMSTATE_PROC_MACRO_CRATE_0_1_5_URL		:= https://crates.io/api/v1/crates/proc-macro-crate/0.1.5/download
> +NMSTATE_PROC_MACRO_CRATE_0_1_5_SOURCE	:= $(SRCDIR)/proc-macro-crate-0.1.5.crate
> +NMSTATE_PARTS			+= NMSTATE_PROC_MACRO_CRATE_0_1_5
> +
> +NMSTATE_PROC_MACRO_CRATE_1_3_1_MD5		:= b5012003220ca5bf1512946914dfe295
> +NMSTATE_PROC_MACRO_CRATE_1_3_1_URL		:= https://crates.io/api/v1/crates/proc-macro-crate/1.3.1/download
> +NMSTATE_PROC_MACRO_CRATE_1_3_1_SOURCE	:= $(SRCDIR)/proc-macro-crate-1.3.1.crate
> +NMSTATE_PARTS			+= NMSTATE_PROC_MACRO_CRATE_1_3_1
> +
> +NMSTATE_PROC_MACRO2_1_0_95_MD5		:= c16cc32167fa1743e25b85c7a2708a7c
> +NMSTATE_PROC_MACRO2_1_0_95_URL		:= https://crates.io/api/v1/crates/proc-macro2/1.0.95/download
> +NMSTATE_PROC_MACRO2_1_0_95_SOURCE	:= $(SRCDIR)/proc-macro2-1.0.95.crate
> +NMSTATE_PARTS			+= NMSTATE_PROC_MACRO2_1_0_95
> +
> +NMSTATE_QUOTE_1_0_40_MD5		:= f6471dc7b34a49fca3f64c3c2cb641a4
> +NMSTATE_QUOTE_1_0_40_URL		:= https://crates.io/api/v1/crates/quote/1.0.40/download
> +NMSTATE_QUOTE_1_0_40_SOURCE	:= $(SRCDIR)/quote-1.0.40.crate
> +NMSTATE_PARTS			+= NMSTATE_QUOTE_1_0_40
> +
> +NMSTATE_R_EFI_5_2_0_MD5		:= 2535f4ec6c6454ee31eeb69a81fe0163
> +NMSTATE_R_EFI_5_2_0_URL		:= https://crates.io/api/v1/crates/r-efi/5.2.0/download
> +NMSTATE_R_EFI_5_2_0_SOURCE	:= $(SRCDIR)/r-efi-5.2.0.crate
> +NMSTATE_PARTS			+= NMSTATE_R_EFI_5_2_0
> +
> +NMSTATE_REGEX_1_11_1_MD5		:= 83ecafda24e071eea2198d9b440739ce
> +NMSTATE_REGEX_1_11_1_URL		:= https://crates.io/api/v1/crates/regex/1.11.1/download
> +NMSTATE_REGEX_1_11_1_SOURCE	:= $(SRCDIR)/regex-1.11.1.crate
> +NMSTATE_PARTS			+= NMSTATE_REGEX_1_11_1
> +
> +NMSTATE_REGEX_AUTOMATA_0_4_9_MD5		:= 15ca0efe66412fae9536d428d93e6a73
> +NMSTATE_REGEX_AUTOMATA_0_4_9_URL		:= https://crates.io/api/v1/crates/regex-automata/0.4.9/download
> +NMSTATE_REGEX_AUTOMATA_0_4_9_SOURCE	:= $(SRCDIR)/regex-automata-0.4.9.crate
> +NMSTATE_PARTS			+= NMSTATE_REGEX_AUTOMATA_0_4_9
> +
> +NMSTATE_REGEX_SYNTAX_0_8_5_MD5		:= 45c2ac064f6aedb1944b989742218e26
> +NMSTATE_REGEX_SYNTAX_0_8_5_URL		:= https://crates.io/api/v1/crates/regex-syntax/0.8.5/download
> +NMSTATE_REGEX_SYNTAX_0_8_5_SOURCE	:= $(SRCDIR)/regex-syntax-0.8.5.crate
> +NMSTATE_PARTS			+= NMSTATE_REGEX_SYNTAX_0_8_5
> +
> +NMSTATE_RTNETLINK_0_16_0_MD5		:= 38132eb35fa8d25f51b56c022a4da0b4
> +NMSTATE_RTNETLINK_0_16_0_URL		:= https://crates.io/api/v1/crates/rtnetlink/0.16.0/download
> +NMSTATE_RTNETLINK_0_16_0_SOURCE	:= $(SRCDIR)/rtnetlink-0.16.0.crate
> +NMSTATE_PARTS			+= NMSTATE_RTNETLINK_0_16_0
> +
> +NMSTATE_RUSTC_DEMANGLE_0_1_24_MD5		:= b400c455aaf7d3e6a216261f07c4bc93
> +NMSTATE_RUSTC_DEMANGLE_0_1_24_URL		:= https://crates.io/api/v1/crates/rustc-demangle/0.1.24/download
> +NMSTATE_RUSTC_DEMANGLE_0_1_24_SOURCE	:= $(SRCDIR)/rustc-demangle-0.1.24.crate
> +NMSTATE_PARTS			+= NMSTATE_RUSTC_DEMANGLE_0_1_24
> +
> +NMSTATE_RUSTIX_0_37_28_MD5		:= 63841fe8957f9e4ca944c944fc9d5355
> +NMSTATE_RUSTIX_0_37_28_URL		:= https://crates.io/api/v1/crates/rustix/0.37.28/download
> +NMSTATE_RUSTIX_0_37_28_SOURCE	:= $(SRCDIR)/rustix-0.37.28.crate
> +NMSTATE_PARTS			+= NMSTATE_RUSTIX_0_37_28
> +
> +NMSTATE_RUSTVERSION_1_0_20_MD5		:= f78b0c36a0f74a479aa2207667eab643
> +NMSTATE_RUSTVERSION_1_0_20_URL		:= https://crates.io/api/v1/crates/rustversion/1.0.20/download
> +NMSTATE_RUSTVERSION_1_0_20_SOURCE	:= $(SRCDIR)/rustversion-1.0.20.crate
> +NMSTATE_PARTS			+= NMSTATE_RUSTVERSION_1_0_20
> +
> +NMSTATE_RYU_1_0_20_MD5		:= dc3cd3d0dc142df381bc6728ef740748
> +NMSTATE_RYU_1_0_20_URL		:= https://crates.io/api/v1/crates/ryu/1.0.20/download
> +NMSTATE_RYU_1_0_20_SOURCE	:= $(SRCDIR)/ryu-1.0.20.crate
> +NMSTATE_PARTS			+= NMSTATE_RYU_1_0_20
> +
> +NMSTATE_SCOPED_TLS_1_0_1_MD5		:= b898bcf321bba46ecd15c9279cdbb290
> +NMSTATE_SCOPED_TLS_1_0_1_URL		:= https://crates.io/api/v1/crates/scoped-tls/1.0.1/download
> +NMSTATE_SCOPED_TLS_1_0_1_SOURCE	:= $(SRCDIR)/scoped-tls-1.0.1.crate
> +NMSTATE_PARTS			+= NMSTATE_SCOPED_TLS_1_0_1
> +
> +NMSTATE_SERDE_1_0_219_MD5		:= c7251782043416b8adca3bf107f7b667
> +NMSTATE_SERDE_1_0_219_URL		:= https://crates.io/api/v1/crates/serde/1.0.219/download
> +NMSTATE_SERDE_1_0_219_SOURCE	:= $(SRCDIR)/serde-1.0.219.crate
> +NMSTATE_PARTS			+= NMSTATE_SERDE_1_0_219
> +
> +NMSTATE_SERDE_DERIVE_1_0_219_MD5		:= 1a4ffa27fc05042873cff99ef4b4405d
> +NMSTATE_SERDE_DERIVE_1_0_219_URL		:= https://crates.io/api/v1/crates/serde_derive/1.0.219/download
> +NMSTATE_SERDE_DERIVE_1_0_219_SOURCE	:= $(SRCDIR)/serde_derive-1.0.219.crate
> +NMSTATE_PARTS			+= NMSTATE_SERDE_DERIVE_1_0_219
> +
> +NMSTATE_SERDE_JSON_1_0_140_MD5		:= d23def43a238240dfaa85ac619e29944
> +NMSTATE_SERDE_JSON_1_0_140_URL		:= https://crates.io/api/v1/crates/serde_json/1.0.140/download
> +NMSTATE_SERDE_JSON_1_0_140_SOURCE	:= $(SRCDIR)/serde_json-1.0.140.crate
> +NMSTATE_PARTS			+= NMSTATE_SERDE_JSON_1_0_140
> +
> +NMSTATE_SERDE_REPR_0_1_20_MD5		:= 676e65dace8aca0ab03d8d3b39e7f618
> +NMSTATE_SERDE_REPR_0_1_20_URL		:= https://crates.io/api/v1/crates/serde_repr/0.1.20/download
> +NMSTATE_SERDE_REPR_0_1_20_SOURCE	:= $(SRCDIR)/serde_repr-0.1.20.crate
> +NMSTATE_PARTS			+= NMSTATE_SERDE_REPR_0_1_20
> +
> +NMSTATE_SERDE_SPANNED_0_6_8_MD5		:= 717e66a221741e82f082a07b16e698bd
> +NMSTATE_SERDE_SPANNED_0_6_8_URL		:= https://crates.io/api/v1/crates/serde_spanned/0.6.8/download
> +NMSTATE_SERDE_SPANNED_0_6_8_SOURCE	:= $(SRCDIR)/serde_spanned-0.6.8.crate
> +NMSTATE_PARTS			+= NMSTATE_SERDE_SPANNED_0_6_8
> +
> +NMSTATE_SERDE_YAML_0_9_34_DEPRECATED_MD5		:= 39e3168b0ff2d77bcca05882310b2a06
> +NMSTATE_SERDE_YAML_0_9_34_DEPRECATED_URL		:= https://crates.io/api/v1/crates/serde_yaml/0.9.34+deprecated/download
> +NMSTATE_SERDE_YAML_0_9_34_DEPRECATED_SOURCE	:= $(SRCDIR)/serde_yaml-0.9.34+deprecated.crate
> +NMSTATE_PARTS			+= NMSTATE_SERDE_YAML_0_9_34_DEPRECATED
> +
> +NMSTATE_SHA1_SMOL_1_0_1_MD5		:= 3426961d0acb81854d9b734c59ba60f7
> +NMSTATE_SHA1_SMOL_1_0_1_URL		:= https://crates.io/api/v1/crates/sha1_smol/1.0.1/download
> +NMSTATE_SHA1_SMOL_1_0_1_SOURCE	:= $(SRCDIR)/sha1_smol-1.0.1.crate
> +NMSTATE_PARTS			+= NMSTATE_SHA1_SMOL_1_0_1
> +
> +NMSTATE_SHLEX_1_3_0_MD5		:= 6c623a8eed8450399ec323a72e96855c
> +NMSTATE_SHLEX_1_3_0_URL		:= https://crates.io/api/v1/crates/shlex/1.3.0/download
> +NMSTATE_SHLEX_1_3_0_SOURCE	:= $(SRCDIR)/shlex-1.3.0.crate
> +NMSTATE_PARTS			+= NMSTATE_SHLEX_1_3_0
> +
> +NMSTATE_SLAB_0_4_9_MD5		:= 5d8c25fc51ffebca67935516c2325860
> +NMSTATE_SLAB_0_4_9_URL		:= https://crates.io/api/v1/crates/slab/0.4.9/download
> +NMSTATE_SLAB_0_4_9_SOURCE	:= $(SRCDIR)/slab-0.4.9.crate
> +NMSTATE_PARTS			+= NMSTATE_SLAB_0_4_9
> +
> +NMSTATE_SOCKET2_0_4_10_MD5		:= e23a09ecbf1aab486b90dfbc3bbae657
> +NMSTATE_SOCKET2_0_4_10_URL		:= https://crates.io/api/v1/crates/socket2/0.4.10/download
> +NMSTATE_SOCKET2_0_4_10_SOURCE	:= $(SRCDIR)/socket2-0.4.10.crate
> +NMSTATE_PARTS			+= NMSTATE_SOCKET2_0_4_10
> +
> +NMSTATE_SOCKET2_0_5_9_MD5		:= 3282872f9416c315c372b9ba3eae7e4b
> +NMSTATE_SOCKET2_0_5_9_URL		:= https://crates.io/api/v1/crates/socket2/0.5.9/download
> +NMSTATE_SOCKET2_0_5_9_SOURCE	:= $(SRCDIR)/socket2-0.5.9.crate
> +NMSTATE_PARTS			+= NMSTATE_SOCKET2_0_5_9
> +
> +NMSTATE_STATIC_ASSERTIONS_1_1_0_MD5		:= c9defe80406280bcfce4ecf31c0200b3
> +NMSTATE_STATIC_ASSERTIONS_1_1_0_URL		:= https://crates.io/api/v1/crates/static_assertions/1.1.0/download
> +NMSTATE_STATIC_ASSERTIONS_1_1_0_SOURCE	:= $(SRCDIR)/static_assertions-1.1.0.crate
> +NMSTATE_PARTS			+= NMSTATE_STATIC_ASSERTIONS_1_1_0
> +
> +NMSTATE_STRSIM_0_10_0_MD5		:= 82d98dc87dc8503400aa095f5aa70f13
> +NMSTATE_STRSIM_0_10_0_URL		:= https://crates.io/api/v1/crates/strsim/0.10.0/download
> +NMSTATE_STRSIM_0_10_0_SOURCE	:= $(SRCDIR)/strsim-0.10.0.crate
> +NMSTATE_PARTS			+= NMSTATE_STRSIM_0_10_0
> +
> +NMSTATE_SYN_1_0_109_MD5		:= 64d9f46e9ba78f68c30c486be3d8b7df
> +NMSTATE_SYN_1_0_109_URL		:= https://crates.io/api/v1/crates/syn/1.0.109/download
> +NMSTATE_SYN_1_0_109_SOURCE	:= $(SRCDIR)/syn-1.0.109.crate
> +NMSTATE_PARTS			+= NMSTATE_SYN_1_0_109
> +
> +NMSTATE_SYN_2_0_101_MD5		:= 2eb8bb4ce0f40cec88a7f3e842e4feaa
> +NMSTATE_SYN_2_0_101_URL		:= https://crates.io/api/v1/crates/syn/2.0.101/download
> +NMSTATE_SYN_2_0_101_SOURCE	:= $(SRCDIR)/syn-2.0.101.crate
> +NMSTATE_PARTS			+= NMSTATE_SYN_2_0_101
> +
> +NMSTATE_TERMCOLOR_1_4_1_MD5		:= b83e3c4eee8862b3cd0dc8570da6d0c0
> +NMSTATE_TERMCOLOR_1_4_1_URL		:= https://crates.io/api/v1/crates/termcolor/1.4.1/download
> +NMSTATE_TERMCOLOR_1_4_1_SOURCE	:= $(SRCDIR)/termcolor-1.4.1.crate
> +NMSTATE_PARTS			+= NMSTATE_TERMCOLOR_1_4_1
> +
> +NMSTATE_TEXTWRAP_0_16_2_MD5		:= 4b5ece77b3e731cba47059a5e2385b86
> +NMSTATE_TEXTWRAP_0_16_2_URL		:= https://crates.io/api/v1/crates/textwrap/0.16.2/download
> +NMSTATE_TEXTWRAP_0_16_2_SOURCE	:= $(SRCDIR)/textwrap-0.16.2.crate
> +NMSTATE_PARTS			+= NMSTATE_TEXTWRAP_0_16_2
> +
> +NMSTATE_THISERROR_1_0_69_MD5		:= 9c02495b380dc51331dcd8789b26cbfb
> +NMSTATE_THISERROR_1_0_69_URL		:= https://crates.io/api/v1/crates/thiserror/1.0.69/download
> +NMSTATE_THISERROR_1_0_69_SOURCE	:= $(SRCDIR)/thiserror-1.0.69.crate
> +NMSTATE_PARTS			+= NMSTATE_THISERROR_1_0_69
> +
> +NMSTATE_THISERROR_2_0_12_MD5		:= ac74b7498f7923458b7537a812c90970
> +NMSTATE_THISERROR_2_0_12_URL		:= https://crates.io/api/v1/crates/thiserror/2.0.12/download
> +NMSTATE_THISERROR_2_0_12_SOURCE	:= $(SRCDIR)/thiserror-2.0.12.crate
> +NMSTATE_PARTS			+= NMSTATE_THISERROR_2_0_12
> +
> +NMSTATE_THISERROR_IMPL_1_0_69_MD5		:= a4bb1b92a5b098fdaa5694733ea73e7a
> +NMSTATE_THISERROR_IMPL_1_0_69_URL		:= https://crates.io/api/v1/crates/thiserror-impl/1.0.69/download
> +NMSTATE_THISERROR_IMPL_1_0_69_SOURCE	:= $(SRCDIR)/thiserror-impl-1.0.69.crate
> +NMSTATE_PARTS			+= NMSTATE_THISERROR_IMPL_1_0_69
> +
> +NMSTATE_THISERROR_IMPL_2_0_12_MD5		:= 13830a64c2daa5ff8dcee8f0f25bead1
> +NMSTATE_THISERROR_IMPL_2_0_12_URL		:= https://crates.io/api/v1/crates/thiserror-impl/2.0.12/download
> +NMSTATE_THISERROR_IMPL_2_0_12_SOURCE	:= $(SRCDIR)/thiserror-impl-2.0.12.crate
> +NMSTATE_PARTS			+= NMSTATE_THISERROR_IMPL_2_0_12
> +
> +NMSTATE_TOKIO_1_45_0_MD5		:= c4b72acfed980c38c5b7eb7afbd9d1d2
> +NMSTATE_TOKIO_1_45_0_URL		:= https://crates.io/api/v1/crates/tokio/1.45.0/download
> +NMSTATE_TOKIO_1_45_0_SOURCE	:= $(SRCDIR)/tokio-1.45.0.crate
> +NMSTATE_PARTS			+= NMSTATE_TOKIO_1_45_0
> +
> +NMSTATE_TOKIO_MACROS_2_5_0_MD5		:= 23c2d55b2debcd452d1320d9e563c8f4
> +NMSTATE_TOKIO_MACROS_2_5_0_URL		:= https://crates.io/api/v1/crates/tokio-macros/2.5.0/download
> +NMSTATE_TOKIO_MACROS_2_5_0_SOURCE	:= $(SRCDIR)/tokio-macros-2.5.0.crate
> +NMSTATE_PARTS			+= NMSTATE_TOKIO_MACROS_2_5_0
> +
> +NMSTATE_TOML_0_5_11_MD5		:= b21820f2664242498beba7783b32bef4
> +NMSTATE_TOML_0_5_11_URL		:= https://crates.io/api/v1/crates/toml/0.5.11/download
> +NMSTATE_TOML_0_5_11_SOURCE	:= $(SRCDIR)/toml-0.5.11.crate
> +NMSTATE_PARTS			+= NMSTATE_TOML_0_5_11
> +
> +NMSTATE_TOML_0_8_22_MD5		:= 1d34f5052a64f54504e659fed75edf0b
> +NMSTATE_TOML_0_8_22_URL		:= https://crates.io/api/v1/crates/toml/0.8.22/download
> +NMSTATE_TOML_0_8_22_SOURCE	:= $(SRCDIR)/toml-0.8.22.crate
> +NMSTATE_PARTS			+= NMSTATE_TOML_0_8_22
> +
> +NMSTATE_TOML_DATETIME_0_6_9_MD5		:= 864df15eaaa6fbb0ba919ee1142a05c0
> +NMSTATE_TOML_DATETIME_0_6_9_URL		:= https://crates.io/api/v1/crates/toml_datetime/0.6.9/download
> +NMSTATE_TOML_DATETIME_0_6_9_SOURCE	:= $(SRCDIR)/toml_datetime-0.6.9.crate
> +NMSTATE_PARTS			+= NMSTATE_TOML_DATETIME_0_6_9
> +
> +NMSTATE_TOML_EDIT_0_19_15_MD5		:= 467f480ef05d416ac677d12315214f59
> +NMSTATE_TOML_EDIT_0_19_15_URL		:= https://crates.io/api/v1/crates/toml_edit/0.19.15/download
> +NMSTATE_TOML_EDIT_0_19_15_SOURCE	:= $(SRCDIR)/toml_edit-0.19.15.crate
> +NMSTATE_PARTS			+= NMSTATE_TOML_EDIT_0_19_15
> +
> +NMSTATE_TOML_EDIT_0_22_26_MD5		:= e7a4f81ca0eacbe7e808f3aa1c4e54a4
> +NMSTATE_TOML_EDIT_0_22_26_URL		:= https://crates.io/api/v1/crates/toml_edit/0.22.26/download
> +NMSTATE_TOML_EDIT_0_22_26_SOURCE	:= $(SRCDIR)/toml_edit-0.22.26.crate
> +NMSTATE_PARTS			+= NMSTATE_TOML_EDIT_0_22_26
> +
> +NMSTATE_TOML_WRITE_0_1_1_MD5		:= 0ad6a2bd5d980b69085a1765cac99e0a
> +NMSTATE_TOML_WRITE_0_1_1_URL		:= https://crates.io/api/v1/crates/toml_write/0.1.1/download
> +NMSTATE_TOML_WRITE_0_1_1_SOURCE	:= $(SRCDIR)/toml_write-0.1.1.crate
> +NMSTATE_PARTS			+= NMSTATE_TOML_WRITE_0_1_1
> +
> +NMSTATE_UNICODE_IDENT_1_0_18_MD5		:= 5a9574684952eb362f96d6421b3b70cf
> +NMSTATE_UNICODE_IDENT_1_0_18_URL		:= https://crates.io/api/v1/crates/unicode-ident/1.0.18/download
> +NMSTATE_UNICODE_IDENT_1_0_18_SOURCE	:= $(SRCDIR)/unicode-ident-1.0.18.crate
> +NMSTATE_PARTS			+= NMSTATE_UNICODE_IDENT_1_0_18
> +
> +NMSTATE_UNSAFE_LIBYAML_0_2_11_MD5		:= a8c6d404eec9e0efc975e65312b76228
> +NMSTATE_UNSAFE_LIBYAML_0_2_11_URL		:= https://crates.io/api/v1/crates/unsafe-libyaml/0.2.11/download
> +NMSTATE_UNSAFE_LIBYAML_0_2_11_SOURCE	:= $(SRCDIR)/unsafe-libyaml-0.2.11.crate
> +NMSTATE_PARTS			+= NMSTATE_UNSAFE_LIBYAML_0_2_11
> +
> +NMSTATE_UUID_1_16_0_MD5		:= 9fceef8c6691f529b4298aee75475f77
> +NMSTATE_UUID_1_16_0_URL		:= https://crates.io/api/v1/crates/uuid/1.16.0/download
> +NMSTATE_UUID_1_16_0_SOURCE	:= $(SRCDIR)/uuid-1.16.0.crate
> +NMSTATE_PARTS			+= NMSTATE_UUID_1_16_0
> +
> +NMSTATE_WAKER_FN_1_2_0_MD5		:= 3f6532604aeeeb2e27936a1558899443
> +NMSTATE_WAKER_FN_1_2_0_URL		:= https://crates.io/api/v1/crates/waker-fn/1.2.0/download
> +NMSTATE_WAKER_FN_1_2_0_SOURCE	:= $(SRCDIR)/waker-fn-1.2.0.crate
> +NMSTATE_PARTS			+= NMSTATE_WAKER_FN_1_2_0
> +
> +NMSTATE_WASI_0_11_0_WASI_SNAPSHOT_PREVIEW1_MD5		:= e972ea58ec203bfa6c79c1207852298b
> +NMSTATE_WASI_0_11_0_WASI_SNAPSHOT_PREVIEW1_URL		:= https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download
> +NMSTATE_WASI_0_11_0_WASI_SNAPSHOT_PREVIEW1_SOURCE	:= $(SRCDIR)/wasi-0.11.0+wasi-snapshot-preview1.crate
> +NMSTATE_PARTS			+= NMSTATE_WASI_0_11_0_WASI_SNAPSHOT_PREVIEW1
> +
> +NMSTATE_WASI_0_14_2_WASI_0_2_4_MD5		:= 609a0e13a5c1257c16fcecfa3d1b2e84
> +NMSTATE_WASI_0_14_2_WASI_0_2_4_URL		:= https://crates.io/api/v1/crates/wasi/0.14.2+wasi-0.2.4/download
> +NMSTATE_WASI_0_14_2_WASI_0_2_4_SOURCE	:= $(SRCDIR)/wasi-0.14.2+wasi-0.2.4.crate
> +NMSTATE_PARTS			+= NMSTATE_WASI_0_14_2_WASI_0_2_4
> +
> +NMSTATE_WASM_BINDGEN_0_2_100_MD5		:= a91da194698f9923ced32fb4d2c015b1
> +NMSTATE_WASM_BINDGEN_0_2_100_URL		:= https://crates.io/api/v1/crates/wasm-bindgen/0.2.100/download
> +NMSTATE_WASM_BINDGEN_0_2_100_SOURCE	:= $(SRCDIR)/wasm-bindgen-0.2.100.crate
> +NMSTATE_PARTS			+= NMSTATE_WASM_BINDGEN_0_2_100
> +
> +NMSTATE_WASM_BINDGEN_BACKEND_0_2_100_MD5		:= 2b6f5bf7082672c9e3550290b0f97edc
> +NMSTATE_WASM_BINDGEN_BACKEND_0_2_100_URL		:= https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.100/download
> +NMSTATE_WASM_BINDGEN_BACKEND_0_2_100_SOURCE	:= $(SRCDIR)/wasm-bindgen-backend-0.2.100.crate
> +NMSTATE_PARTS			+= NMSTATE_WASM_BINDGEN_BACKEND_0_2_100
> +
> +NMSTATE_WASM_BINDGEN_MACRO_0_2_100_MD5		:= d71786c9742b6771a222c9285ef8d416
> +NMSTATE_WASM_BINDGEN_MACRO_0_2_100_URL		:= https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.100/download
> +NMSTATE_WASM_BINDGEN_MACRO_0_2_100_SOURCE	:= $(SRCDIR)/wasm-bindgen-macro-0.2.100.crate
> +NMSTATE_PARTS			+= NMSTATE_WASM_BINDGEN_MACRO_0_2_100
> +
> +NMSTATE_WASM_BINDGEN_MACRO_SUPPORT_0_2_100_MD5		:= 97837379187cff7de19972e4dc416fb0
> +NMSTATE_WASM_BINDGEN_MACRO_SUPPORT_0_2_100_URL		:= https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.100/download
> +NMSTATE_WASM_BINDGEN_MACRO_SUPPORT_0_2_100_SOURCE	:= $(SRCDIR)/wasm-bindgen-macro-support-0.2.100.crate
> +NMSTATE_PARTS			+= NMSTATE_WASM_BINDGEN_MACRO_SUPPORT_0_2_100
> +
> +NMSTATE_WASM_BINDGEN_SHARED_0_2_100_MD5		:= 3c3cb3400101cd793def7061c432b8ec
> +NMSTATE_WASM_BINDGEN_SHARED_0_2_100_URL		:= https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.100/download
> +NMSTATE_WASM_BINDGEN_SHARED_0_2_100_SOURCE	:= $(SRCDIR)/wasm-bindgen-shared-0.2.100.crate
> +NMSTATE_PARTS			+= NMSTATE_WASM_BINDGEN_SHARED_0_2_100
> +
> +NMSTATE_WINAPI_0_3_9_MD5		:= 0498c4a11448bfc35dc7bb2caa64c753
> +NMSTATE_WINAPI_0_3_9_URL		:= https://crates.io/api/v1/crates/winapi/0.3.9/download
> +NMSTATE_WINAPI_0_3_9_SOURCE	:= $(SRCDIR)/winapi-0.3.9.crate
> +NMSTATE_PARTS			+= NMSTATE_WINAPI_0_3_9
> +
> +NMSTATE_WINAPI_I686_PC_WINDOWS_GNU_0_4_0_MD5		:= db96b50050277bf05a3c68534bbb9586
> +NMSTATE_WINAPI_I686_PC_WINDOWS_GNU_0_4_0_URL		:= https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download
> +NMSTATE_WINAPI_I686_PC_WINDOWS_GNU_0_4_0_SOURCE	:= $(SRCDIR)/winapi-i686-pc-windows-gnu-0.4.0.crate
> +NMSTATE_PARTS			+= NMSTATE_WINAPI_I686_PC_WINDOWS_GNU_0_4_0
> +
> +NMSTATE_WINAPI_UTIL_0_1_9_MD5		:= e908e1808f2a480449f8d86281ae24ef
> +NMSTATE_WINAPI_UTIL_0_1_9_URL		:= https://crates.io/api/v1/crates/winapi-util/0.1.9/download
> +NMSTATE_WINAPI_UTIL_0_1_9_SOURCE	:= $(SRCDIR)/winapi-util-0.1.9.crate
> +NMSTATE_PARTS			+= NMSTATE_WINAPI_UTIL_0_1_9
> +
> +NMSTATE_WINAPI_X86_64_PC_WINDOWS_GNU_0_4_0_MD5		:= 09de9d01e7331ff3da11f58be8bef0df
> +NMSTATE_WINAPI_X86_64_PC_WINDOWS_GNU_0_4_0_URL		:= https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download
> +NMSTATE_WINAPI_X86_64_PC_WINDOWS_GNU_0_4_0_SOURCE	:= $(SRCDIR)/winapi-x86_64-pc-windows-gnu-0.4.0.crate
> +NMSTATE_PARTS			+= NMSTATE_WINAPI_X86_64_PC_WINDOWS_GNU_0_4_0
> +
> +NMSTATE_WINDOWS_CORE_0_61_2_MD5		:= 74820c7dae31dabf7552cdc97456d1a1
> +NMSTATE_WINDOWS_CORE_0_61_2_URL		:= https://crates.io/api/v1/crates/windows-core/0.61.2/download
> +NMSTATE_WINDOWS_CORE_0_61_2_SOURCE	:= $(SRCDIR)/windows-core-0.61.2.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_CORE_0_61_2
> +
> +NMSTATE_WINDOWS_IMPLEMENT_0_60_0_MD5		:= fd6a44cbe3e73a89671c68696e779ecb
> +NMSTATE_WINDOWS_IMPLEMENT_0_60_0_URL		:= https://crates.io/api/v1/crates/windows-implement/0.60.0/download
> +NMSTATE_WINDOWS_IMPLEMENT_0_60_0_SOURCE	:= $(SRCDIR)/windows-implement-0.60.0.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_IMPLEMENT_0_60_0
> +
> +NMSTATE_WINDOWS_INTERFACE_0_59_1_MD5		:= ea196ee9ec24e54d8f0f2211c0951c5f
> +NMSTATE_WINDOWS_INTERFACE_0_59_1_URL		:= https://crates.io/api/v1/crates/windows-interface/0.59.1/download
> +NMSTATE_WINDOWS_INTERFACE_0_59_1_SOURCE	:= $(SRCDIR)/windows-interface-0.59.1.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_INTERFACE_0_59_1
> +
> +NMSTATE_WINDOWS_LINK_0_1_1_MD5		:= f578d00496ac73c80fe7f90c2a847892
> +NMSTATE_WINDOWS_LINK_0_1_1_URL		:= https://crates.io/api/v1/crates/windows-link/0.1.1/download
> +NMSTATE_WINDOWS_LINK_0_1_1_SOURCE	:= $(SRCDIR)/windows-link-0.1.1.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_LINK_0_1_1
> +
> +NMSTATE_WINDOWS_RESULT_0_3_4_MD5		:= 2cf4b2fb70efbaf9cfbaeba6f8dcf347
> +NMSTATE_WINDOWS_RESULT_0_3_4_URL		:= https://crates.io/api/v1/crates/windows-result/0.3.4/download
> +NMSTATE_WINDOWS_RESULT_0_3_4_SOURCE	:= $(SRCDIR)/windows-result-0.3.4.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_RESULT_0_3_4
> +
> +NMSTATE_WINDOWS_STRINGS_0_4_2_MD5		:= 16b2a1e77c38f1265b35c9c1f76166ec
> +NMSTATE_WINDOWS_STRINGS_0_4_2_URL		:= https://crates.io/api/v1/crates/windows-strings/0.4.2/download
> +NMSTATE_WINDOWS_STRINGS_0_4_2_SOURCE	:= $(SRCDIR)/windows-strings-0.4.2.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_STRINGS_0_4_2
> +
> +NMSTATE_WINDOWS_SYS_0_48_0_MD5		:= f2797ade0e36f1e5d6be9d11b5076582
> +NMSTATE_WINDOWS_SYS_0_48_0_URL		:= https://crates.io/api/v1/crates/windows-sys/0.48.0/download
> +NMSTATE_WINDOWS_SYS_0_48_0_SOURCE	:= $(SRCDIR)/windows-sys-0.48.0.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_SYS_0_48_0
> +
> +NMSTATE_WINDOWS_SYS_0_52_0_MD5		:= 2376de634160158ece40c4bc2ab3eb41
> +NMSTATE_WINDOWS_SYS_0_52_0_URL		:= https://crates.io/api/v1/crates/windows-sys/0.52.0/download
> +NMSTATE_WINDOWS_SYS_0_52_0_SOURCE	:= $(SRCDIR)/windows-sys-0.52.0.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_SYS_0_52_0
> +
> +NMSTATE_WINDOWS_SYS_0_59_0_MD5		:= 73b177d6d000daaa8f05790414a887a3
> +NMSTATE_WINDOWS_SYS_0_59_0_URL		:= https://crates.io/api/v1/crates/windows-sys/0.59.0/download
> +NMSTATE_WINDOWS_SYS_0_59_0_SOURCE	:= $(SRCDIR)/windows-sys-0.59.0.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_SYS_0_59_0
> +
> +NMSTATE_WINDOWS_TARGETS_0_48_5_MD5		:= 24c64817e85ef77765ed0f26c31c9b4c
> +NMSTATE_WINDOWS_TARGETS_0_48_5_URL		:= https://crates.io/api/v1/crates/windows-targets/0.48.5/download
> +NMSTATE_WINDOWS_TARGETS_0_48_5_SOURCE	:= $(SRCDIR)/windows-targets-0.48.5.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_TARGETS_0_48_5
> +
> +NMSTATE_WINDOWS_TARGETS_0_52_6_MD5		:= 9e876a38acd8262d97e9302ecb4e0f72
> +NMSTATE_WINDOWS_TARGETS_0_52_6_URL		:= https://crates.io/api/v1/crates/windows-targets/0.52.6/download
> +NMSTATE_WINDOWS_TARGETS_0_52_6_SOURCE	:= $(SRCDIR)/windows-targets-0.52.6.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_TARGETS_0_52_6
> +
> +NMSTATE_WINDOWS_AARCH64_GNULLVM_0_48_5_MD5		:= dae6d89034a6988042fd8be4cf5e037d
> +NMSTATE_WINDOWS_AARCH64_GNULLVM_0_48_5_URL		:= https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.5/download
> +NMSTATE_WINDOWS_AARCH64_GNULLVM_0_48_5_SOURCE	:= $(SRCDIR)/windows_aarch64_gnullvm-0.48.5.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_AARCH64_GNULLVM_0_48_5
> +
> +NMSTATE_WINDOWS_AARCH64_GNULLVM_0_52_6_MD5		:= 8c8adde50f0a531c407c5b68ab928f0b
> +NMSTATE_WINDOWS_AARCH64_GNULLVM_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.52.6/download
> +NMSTATE_WINDOWS_AARCH64_GNULLVM_0_52_6_SOURCE	:= $(SRCDIR)/windows_aarch64_gnullvm-0.52.6.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_AARCH64_GNULLVM_0_52_6
> +
> +NMSTATE_WINDOWS_AARCH64_MSVC_0_48_5_MD5		:= de2839e16d9d7a9fd1c397da62f62b4a
> +NMSTATE_WINDOWS_AARCH64_MSVC_0_48_5_URL		:= https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.5/download
> +NMSTATE_WINDOWS_AARCH64_MSVC_0_48_5_SOURCE	:= $(SRCDIR)/windows_aarch64_msvc-0.48.5.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_AARCH64_MSVC_0_48_5
> +
> +NMSTATE_WINDOWS_AARCH64_MSVC_0_52_6_MD5		:= 233b17dfcf7e49ac791eef30b7f406e3
> +NMSTATE_WINDOWS_AARCH64_MSVC_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_aarch64_msvc/0.52.6/download
> +NMSTATE_WINDOWS_AARCH64_MSVC_0_52_6_SOURCE	:= $(SRCDIR)/windows_aarch64_msvc-0.52.6.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_AARCH64_MSVC_0_52_6
> +
> +NMSTATE_WINDOWS_I686_GNU_0_48_5_MD5		:= e0c35ffb8cfdb74a39bf799811f79304
> +NMSTATE_WINDOWS_I686_GNU_0_48_5_URL		:= https://crates.io/api/v1/crates/windows_i686_gnu/0.48.5/download
> +NMSTATE_WINDOWS_I686_GNU_0_48_5_SOURCE	:= $(SRCDIR)/windows_i686_gnu-0.48.5.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_I686_GNU_0_48_5
> +
> +NMSTATE_WINDOWS_I686_GNU_0_52_6_MD5		:= 7cb99b00381f697eaf8a322ed3b8205c
> +NMSTATE_WINDOWS_I686_GNU_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_i686_gnu/0.52.6/download
> +NMSTATE_WINDOWS_I686_GNU_0_52_6_SOURCE	:= $(SRCDIR)/windows_i686_gnu-0.52.6.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_I686_GNU_0_52_6
> +
> +NMSTATE_WINDOWS_I686_GNULLVM_0_52_6_MD5		:= 1baf62319b533f3d996993b82305e547
> +NMSTATE_WINDOWS_I686_GNULLVM_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_i686_gnullvm/0.52.6/download
> +NMSTATE_WINDOWS_I686_GNULLVM_0_52_6_SOURCE	:= $(SRCDIR)/windows_i686_gnullvm-0.52.6.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_I686_GNULLVM_0_52_6
> +
> +NMSTATE_WINDOWS_I686_MSVC_0_48_5_MD5		:= d990172b607020701f9e84ca8e1c043c
> +NMSTATE_WINDOWS_I686_MSVC_0_48_5_URL		:= https://crates.io/api/v1/crates/windows_i686_msvc/0.48.5/download
> +NMSTATE_WINDOWS_I686_MSVC_0_48_5_SOURCE	:= $(SRCDIR)/windows_i686_msvc-0.48.5.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_I686_MSVC_0_48_5
> +
> +NMSTATE_WINDOWS_I686_MSVC_0_52_6_MD5		:= 311ded6588844e072d3fb953a8f994da
> +NMSTATE_WINDOWS_I686_MSVC_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_i686_msvc/0.52.6/download
> +NMSTATE_WINDOWS_I686_MSVC_0_52_6_SOURCE	:= $(SRCDIR)/windows_i686_msvc-0.52.6.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_I686_MSVC_0_52_6
> +
> +NMSTATE_WINDOWS_X86_64_GNU_0_48_5_MD5		:= 0a68848588e847ceccf504891584d00b
> +NMSTATE_WINDOWS_X86_64_GNU_0_48_5_URL		:= https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.5/download
> +NMSTATE_WINDOWS_X86_64_GNU_0_48_5_SOURCE	:= $(SRCDIR)/windows_x86_64_gnu-0.48.5.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_X86_64_GNU_0_48_5
> +
> +NMSTATE_WINDOWS_X86_64_GNU_0_52_6_MD5		:= 3f265cbde7668f38c1229043475470a9
> +NMSTATE_WINDOWS_X86_64_GNU_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_x86_64_gnu/0.52.6/download
> +NMSTATE_WINDOWS_X86_64_GNU_0_52_6_SOURCE	:= $(SRCDIR)/windows_x86_64_gnu-0.52.6.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_X86_64_GNU_0_52_6
> +
> +NMSTATE_WINDOWS_X86_64_GNULLVM_0_48_5_MD5		:= 45b469ad607b912256b7c80141fa2d17
> +NMSTATE_WINDOWS_X86_64_GNULLVM_0_48_5_URL		:= https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.5/download
> +NMSTATE_WINDOWS_X86_64_GNULLVM_0_48_5_SOURCE	:= $(SRCDIR)/windows_x86_64_gnullvm-0.48.5.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_X86_64_GNULLVM_0_48_5
> +
> +NMSTATE_WINDOWS_X86_64_GNULLVM_0_52_6_MD5		:= 4e50e886c72204c268c15a3230001d71
> +NMSTATE_WINDOWS_X86_64_GNULLVM_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.52.6/download
> +NMSTATE_WINDOWS_X86_64_GNULLVM_0_52_6_SOURCE	:= $(SRCDIR)/windows_x86_64_gnullvm-0.52.6.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_X86_64_GNULLVM_0_52_6
> +
> +NMSTATE_WINDOWS_X86_64_MSVC_0_48_5_MD5		:= 7799baff9a5664205d9110a2624e8989
> +NMSTATE_WINDOWS_X86_64_MSVC_0_48_5_URL		:= https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.5/download
> +NMSTATE_WINDOWS_X86_64_MSVC_0_48_5_SOURCE	:= $(SRCDIR)/windows_x86_64_msvc-0.48.5.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_X86_64_MSVC_0_48_5
> +
> +NMSTATE_WINDOWS_X86_64_MSVC_0_52_6_MD5		:= b95760e9133ba1bb456d0f0cef74c9a4
> +NMSTATE_WINDOWS_X86_64_MSVC_0_52_6_URL		:= https://crates.io/api/v1/crates/windows_x86_64_msvc/0.52.6/download
> +NMSTATE_WINDOWS_X86_64_MSVC_0_52_6_SOURCE	:= $(SRCDIR)/windows_x86_64_msvc-0.52.6.crate
> +NMSTATE_PARTS			+= NMSTATE_WINDOWS_X86_64_MSVC_0_52_6
> +
> +NMSTATE_WINNOW_0_5_40_MD5		:= cb7c86af4d8a969d849c6fce363af240
> +NMSTATE_WINNOW_0_5_40_URL		:= https://crates.io/api/v1/crates/winnow/0.5.40/download
> +NMSTATE_WINNOW_0_5_40_SOURCE	:= $(SRCDIR)/winnow-0.5.40.crate
> +NMSTATE_PARTS			+= NMSTATE_WINNOW_0_5_40
> +
> +NMSTATE_WINNOW_0_7_10_MD5		:= fc84efd3a60e6edd151ca93326dfc0de
> +NMSTATE_WINNOW_0_7_10_URL		:= https://crates.io/api/v1/crates/winnow/0.7.10/download
> +NMSTATE_WINNOW_0_7_10_SOURCE	:= $(SRCDIR)/winnow-0.7.10.crate
> +NMSTATE_PARTS			+= NMSTATE_WINNOW_0_7_10
> +
> +NMSTATE_WIT_BINDGEN_RT_0_39_0_MD5		:= 4f774fa728b562c8d195457a9ca93a57
> +NMSTATE_WIT_BINDGEN_RT_0_39_0_URL		:= https://crates.io/api/v1/crates/wit-bindgen-rt/0.39.0/download
> +NMSTATE_WIT_BINDGEN_RT_0_39_0_SOURCE	:= $(SRCDIR)/wit-bindgen-rt-0.39.0.crate
> +NMSTATE_PARTS			+= NMSTATE_WIT_BINDGEN_RT_0_39_0
> +
> +NMSTATE_WL_NL80211_0_2_0_MD5		:= 66e6c02a0d60b33e1b025e4f7fd04cde
> +NMSTATE_WL_NL80211_0_2_0_URL		:= https://crates.io/api/v1/crates/wl-nl80211/0.2.0/download
> +NMSTATE_WL_NL80211_0_2_0_SOURCE	:= $(SRCDIR)/wl-nl80211-0.2.0.crate
> +NMSTATE_PARTS			+= NMSTATE_WL_NL80211_0_2_0
> +
> +NMSTATE_ZBUS_1_9_3_MD5		:= 576c4ed218ed71e7ccb54a8fd2aa833c
> +NMSTATE_ZBUS_1_9_3_URL		:= https://crates.io/api/v1/crates/zbus/1.9.3/download
> +NMSTATE_ZBUS_1_9_3_SOURCE	:= $(SRCDIR)/zbus-1.9.3.crate
> +NMSTATE_PARTS			+= NMSTATE_ZBUS_1_9_3
> +
> +NMSTATE_ZBUS_MACROS_1_9_3_MD5		:= 845d3a99bde01391a4e37f5dd6d4fb30
> +NMSTATE_ZBUS_MACROS_1_9_3_URL		:= https://crates.io/api/v1/crates/zbus_macros/1.9.3/download
> +NMSTATE_ZBUS_MACROS_1_9_3_SOURCE	:= $(SRCDIR)/zbus_macros-1.9.3.crate
> +NMSTATE_PARTS			+= NMSTATE_ZBUS_MACROS_1_9_3
> +
> +NMSTATE_ZVARIANT_2_10_0_MD5		:= 0137ff709b7fe58cc99d835bb01a84bf
> +NMSTATE_ZVARIANT_2_10_0_URL		:= https://crates.io/api/v1/crates/zvariant/2.10.0/download
> +NMSTATE_ZVARIANT_2_10_0_SOURCE	:= $(SRCDIR)/zvariant-2.10.0.crate
> +NMSTATE_PARTS			+= NMSTATE_ZVARIANT_2_10_0
> +
> +NMSTATE_ZVARIANT_DERIVE_2_10_0_MD5		:= 9196c9f6e81d7775d63a9444b4fdfd3d
> +NMSTATE_ZVARIANT_DERIVE_2_10_0_URL		:= https://crates.io/api/v1/crates/zvariant_derive/2.10.0/download
> +NMSTATE_ZVARIANT_DERIVE_2_10_0_SOURCE	:= $(SRCDIR)/zvariant_derive-2.10.0.crate
> +NMSTATE_PARTS			+= NMSTATE_ZVARIANT_DERIVE_2_10_0
> +
> +
> +# vim: syntax=make
> diff --git a/rules/nmstate.in b/rules/nmstate.in
> new file mode 100644
> index 000000000..5e43aa14b
> --- /dev/null
> +++ b/rules/nmstate.in
> @@ -0,0 +1,8 @@
> +## SECTION=networking
> +
> +config NMSTATE
> +	tristate
> +	prompt "nmstate"
> +	help
> +          Nmstate is a library with an accompanying command line tool that manages
> +          host networking settings in a declarative manner.
> diff --git a/rules/nmstate.make b/rules/nmstate.make
> new file mode 100644
> index 000000000..ae92ea270
> --- /dev/null
> +++ b/rules/nmstate.make
> @@ -0,0 +1,64 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2025 by Robert Schwebel <r.schwebel@pengutronix.de>
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_NMSTATE) += nmstate
> +
> +#
> +# Paths and names
> +#
> +NMSTATE_VERSION		:= 2.2.24
> +NMSTATE_MD5		:= df4f43b459f8c1709f9e8a8346eb2492
> +NMSTATE			:= nmstate-$(NMSTATE_VERSION)
> +NMSTATE_SUFFIX		:= tar.gz
> +NMSTATE_URL		:= https://github.com/nmstate/nmstate/releases/download/v$(NMSTATE_VERSION)/nmstate-$(NMSTATE_VERSION).$(NMSTATE_SUFFIX)

Please use the tarball created by git. We don't need anything generated
(like we do for packages that use autotools).

> +NMSTATE_SOURCE		:= $(SRCDIR)/$(NMSTATE).$(NMSTATE_SUFFIX)
> +NMSTATE_DIR		:= $(BUILDDIR)/$(NMSTATE)
> +NMSTATE_SUBDIR		:= rust
> +NMSTATE_CARGO_LOCK	:= rust/Cargo.lock
> +NMSTATE_LICENSE		:= Apache-2.0
> +NMSTATE_LICENSE_FILES	:= file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57
> +
> +# ----------------------------------------------------------------------------
> +# Prepare
> +# ----------------------------------------------------------------------------
> +
> +NMSTATE_CONF_TOOL	:= cargo
> +
> +# ----------------------------------------------------------------------------
> +# Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/nmstate.install:
> +	@$(call targetinfo)

Copy the file to $(NMSTATE_PKGDIR)/usr/bin here. Otherwise devpkgs are
broken.

> +	@$(call touch)
> +
> +# ----------------------------------------------------------------------------
> +# Target-Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/nmstate.targetinstall:
> +	@$(call targetinfo)
> +
> +	@$(call install_init,  nmstate)
> +	@$(call install_fixup, nmstate,PRIORITY,optional)
> +	@$(call install_fixup, nmstate,SECTION,base)
> +	@$(call install_fixup, nmstate,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
> +	@$(call install_fixup, nmstate,DESCRIPTION,missing)
> +
> +	@$(call install_copy, nmstate, 0, 0, 0755, \
> +		$(NMSTATE_DIR)/rust/target/arm-v7a-linux-gnueabihf/release/nmstatectl, \

Use $(PTXCONF_RUST_TARGET).

Michael

> +		/usr/bin/nmstatectl)
> +
> +	@$(call install_finish, nmstate)
> +
> +	@$(call touch)
> +
> +# vim: syntax=make
> -- 
> 2.39.5
> 
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-05-25 14:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-05-21 14:45 [ptxdist] [PATCH] nmstate: add new package Robert Schwebel
2025-05-25 14:55 ` Michael Olbrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox