diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index bbc1af7f..8ce133bf 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -14,6 +14,7 @@ on: - orb-supervisor - orb-thermal-cam-ctrl - orb-ui + - orb-update-verifier channel: description: | Which release channel? diff --git a/Cargo.lock b/Cargo.lock index 56c5581d..d4b5d61d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -216,6 +216,15 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "ascii-canvas" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" +dependencies = [ + "term", +] + [[package]] name = "assert-json-diff" version = "2.0.2" @@ -298,6 +307,17 @@ dependencies = [ "futures-lite 1.13.0", ] +[[package]] +name = "async-fs" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" +dependencies = [ + "async-lock 3.3.0", + "blocking", + "futures-lite 2.2.0", +] + [[package]] name = "async-global-executor" version = "2.4.1" @@ -306,7 +326,7 @@ checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" dependencies = [ "async-channel 2.1.1", "async-executor", - "async-io 2.3.0", + "async-io 2.3.3", "async-lock 3.3.0", "blocking", "futures-lite 2.2.0", @@ -335,9 +355,9 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.0" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb41eb19024a91746eba0773aa5e16036045bbf45733766661099e182ea6a744" +checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" dependencies = [ "async-lock 3.3.0", "cfg-if", @@ -372,6 +392,15 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "async-object-pool" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb901c30ebc2fc4ab46395bbfbdba9542c16559d853645d75190c3056caf3bc" +dependencies = [ + "async-std", +] + [[package]] name = "async-process" version = "1.8.1" @@ -396,7 +425,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "451e3cf68011bd56771c79db04a9e333095ab6349f7e47592b788e9b98720cc8" dependencies = [ "async-channel 2.1.1", - "async-io 2.3.0", + "async-io 2.3.3", "async-lock 3.3.0", "async-signal", "blocking", @@ -424,7 +453,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" dependencies = [ - "async-io 2.3.0", + "async-io 2.3.3", "async-lock 2.8.0", "atomic-waker", "cfg-if", @@ -988,6 +1017,17 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +[[package]] +name = "basic-cookies" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67bd8fd42c16bdb08688243dc5f0cc117a3ca9efeeaba3a345a18a6159ad96f7" +dependencies = [ + "lalrpop", + "lalrpop-util", + "regex", +] + [[package]] name = "bindgen" version = "0.69.4" @@ -997,7 +1037,7 @@ dependencies = [ "bitflags 2.4.2", "cexpr", "clang-sys", - "itertools", + "itertools 0.10.5", "lazy_static", "lazycell", "log", @@ -1011,6 +1051,21 @@ dependencies = [ "which", ] +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + [[package]] name = "bit_field" version = "0.10.2" @@ -1151,20 +1206,27 @@ checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" name = "can-rs" version = "0.0.0" dependencies = [ - "itertools", + "itertools 0.10.5", "libc", "paste", "thiserror", ] +[[package]] +name = "castaway" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6" + [[package]] name = "cc" -version = "1.0.83" +version = "1.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "b62ac837cdb5cb22e10a256099b4fc502b1dfe560cb282963a974d7abd80e476" dependencies = [ "jobserver", "libc", + "shlex", ] [[package]] @@ -1590,6 +1652,37 @@ dependencies = [ "typenum", ] +[[package]] +name = "curl" +version = "0.4.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e2161dd6eba090ff1594084e95fd67aeccf04382ffea77999ea94ed42ec67b6" +dependencies = [ + "curl-sys", + "libc", + "openssl-probe", + "openssl-sys", + "schannel", + "socket2 0.5.5", + "windows-sys 0.52.0", +] + +[[package]] +name = "curl-sys" +version = "0.4.74+curl-8.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8af10b986114528fcdc4b63b6f5f021b7057618411046a4de2ba0f0149a097bf" +dependencies = [ + "cc", + "libc", + "libnghttp2-sys", + "libz-sys", + "openssl-sys", + "pkg-config", + "vcpkg", + "windows-sys 0.52.0", +] + [[package]] name = "darling" version = "0.20.5" @@ -1752,6 +1845,27 @@ dependencies = [ "subtle", ] +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + [[package]] name = "doc-comment" version = "0.3.3" @@ -1822,6 +1936,15 @@ dependencies = [ "nb 1.1.0", ] +[[package]] +name = "ena" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" +dependencies = [ + "log", +] + [[package]] name = "encode_unicode" version = "0.3.6" @@ -2069,6 +2192,9 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" dependencies = [ + "futures-core", + "futures-sink", + "nanorand", "spin 0.9.8", ] @@ -2544,6 +2670,34 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +[[package]] +name = "httpmock" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b02e044d3b4c2f94936fb05f9649efa658ca788f44eb6b87554e2033fc8ce93" +dependencies = [ + "assert-json-diff", + "async-object-pool", + "async-trait", + "base64 0.21.7", + "basic-cookies", + "crossbeam-utils", + "form_urlencoded", + "futures-util", + "hyper", + "isahc", + "lazy_static", + "levenshtein", + "log", + "regex", + "serde", + "serde_json", + "serde_regex", + "similar", + "tokio", + "url", +] + [[package]] name = "humantime" version = "2.1.0" @@ -2764,6 +2918,33 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "isahc" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9" +dependencies = [ + "async-channel 1.9.0", + "castaway", + "crossbeam-utils", + "curl", + "curl-sys", + "encoding_rs", + "event-listener 2.5.3", + "futures-lite 1.13.0", + "http 0.2.11", + "log", + "mime", + "once_cell", + "polling 2.8.0", + "slab", + "sluice", + "tracing", + "tracing-futures", + "url", + "waker-fn", +] + [[package]] name = "itertools" version = "0.10.5" @@ -2773,6 +2954,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.10" @@ -2815,13 +3005,19 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.27" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] +[[package]] +name = "jod-thread" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b23360e99b8717f20aaa4598f5a6541efbe30630039fbc7706cf954a87947ae" + [[package]] name = "jpeg-decoder" version = "0.3.1" @@ -2864,6 +3060,37 @@ dependencies = [ "log", ] +[[package]] +name = "lalrpop" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cb077ad656299f160924eb2912aa147d7339ea7d69e1b5517326fdcec3c1ca" +dependencies = [ + "ascii-canvas", + "bit-set", + "ena", + "itertools 0.11.0", + "lalrpop-util", + "petgraph", + "pico-args", + "regex", + "regex-syntax 0.8.2", + "string_cache", + "term", + "tiny-keccak", + "unicode-xid", + "walkdir", +] + +[[package]] +name = "lalrpop-util" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" +dependencies = [ + "regex-automata 0.4.4", +] + [[package]] name = "lazy_static" version = "1.4.0" @@ -2882,6 +3109,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" +[[package]] +name = "levenshtein" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db13adb97ab515a3691f56e4dbab09283d0b86cb45abd991d8634a9d6f501760" + [[package]] name = "lewton" version = "0.10.2" @@ -2955,6 +3188,26 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "libnghttp2-sys" +version = "0.1.10+1.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "959c25552127d2e1fa72f0e52548ec04fc386e827ba71a7bd01db46a447dc135" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.4.2", + "libc", +] + [[package]] name = "libsodium-sys-stable" version = "1.20.4" @@ -2972,6 +3225,18 @@ dependencies = [ "zip", ] +[[package]] +name = "libz-sys" +version = "1.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "linux-raw-sys" version = "0.3.8" @@ -3182,6 +3447,15 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +[[package]] +name = "nanorand" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" +dependencies = [ + "getrandom 0.2.12", +] + [[package]] name = "nb" version = "0.1.3" @@ -3226,6 +3500,12 @@ dependencies = [ "jni-sys", ] +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + [[package]] name = "nix" version = "0.24.3" @@ -3737,7 +4017,7 @@ dependencies = [ "tracing-journald", "tracing-subscriber", "zbus 3.15.1", - "zbus_systemd", + "zbus_systemd 0.0.8", ] [[package]] @@ -3792,6 +4072,35 @@ dependencies = [ "zbus 4.1.2", ] +[[package]] +name = "orb-update-verifier" +version = "0.2.5" +dependencies = [ + "can-rs", + "eyre", + "flume", + "httpmock", + "jod-thread", + "libc", + "log", + "orb-messages", + "orb-slot-ctrl", + "polling 2.8.0", + "prost", + "prost-build", + "reqwest", + "semver", + "serde", + "serde_json", + "tap", + "thiserror", + "tracing", + "tracing-journald", + "tracing-subscriber", + "zbus 4.1.2", + "zbus_systemd 0.0.16", +] + [[package]] name = "orb-wpa-supplicant" version = "0.0.0" @@ -3917,6 +4226,21 @@ dependencies = [ "indexmap 2.1.0", ] +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pico-args" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" + [[package]] name = "pid" version = "0.0.0" @@ -4044,6 +4368,12 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + [[package]] name = "prettyplease" version = "0.2.16" @@ -4108,9 +4438,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.3" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ "bytes", "prost-derive", @@ -4118,13 +4448,13 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.3" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2" +checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" dependencies = [ "bytes", "heck", - "itertools", + "itertools 0.10.5", "log", "multimap", "once_cell", @@ -4135,17 +4465,16 @@ dependencies = [ "regex", "syn 2.0.48", "tempfile", - "which", ] [[package]] name = "prost-derive" -version = "0.12.3" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", - "itertools", + "itertools 0.10.5", "proc-macro2", "quote", "syn 2.0.48", @@ -4153,9 +4482,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.12.3" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" dependencies = [ "prost", ] @@ -4290,6 +4619,17 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom 0.2.12", + "libredox", + "thiserror", +] + [[package]] name = "reflink-copy" version = "0.1.14" @@ -4685,9 +5025,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" dependencies = [ "serde", ] @@ -4753,6 +5093,16 @@ dependencies = [ "thiserror", ] +[[package]] +name = "serde_regex" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8136f1a4ea815d7eac4101cfd0b16dc0cb5e1fe1b8609dfd728058656b7badf" +dependencies = [ + "regex", + "serde", +] + [[package]] name = "serde_repr" version = "0.1.18" @@ -4931,6 +5281,12 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +[[package]] +name = "similar" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" + [[package]] name = "simple_asn1" version = "0.6.2" @@ -4943,6 +5299,12 @@ dependencies = [ "time", ] +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + [[package]] name = "slab" version = "0.4.9" @@ -4952,6 +5314,17 @@ dependencies = [ "autocfg", ] +[[package]] +name = "sluice" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5" +dependencies = [ + "async-channel 1.9.0", + "futures-core", + "futures-io", +] + [[package]] name = "smallvec" version = "1.13.1" @@ -5049,6 +5422,19 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared", + "precomputed-hash", +] + [[package]] name = "strsim" version = "0.10.0" @@ -5196,6 +5582,17 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "term" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +dependencies = [ + "dirs-next", + "rustversion", + "winapi", +] + [[package]] name = "termcolor" version = "1.4.1" @@ -5277,6 +5674,15 @@ dependencies = [ "time-core", ] +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + [[package]] name = "tinyvec" version = "1.6.0" @@ -5563,6 +5969,16 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + [[package]] name = "tracing-journald" version = "0.3.0" @@ -5677,6 +6093,12 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +[[package]] +name = "unicode-xid" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" + [[package]] name = "untrusted" version = "0.7.1" @@ -6272,7 +6694,7 @@ checksum = "5acecd3f8422f198b1a2f954bcc812fe89f3fa4281646f3da1da7925db80085d" dependencies = [ "async-broadcast 0.5.1", "async-executor", - "async-fs", + "async-fs 1.6.0", "async-io 1.13.0", "async-lock 2.8.0", "async-process 1.8.1", @@ -6313,9 +6735,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9ff46f2a25abd690ed072054733e0bc3157e3d4c45f41bd183dce09c2ff8ab9" dependencies = [ "async-broadcast 0.7.0", + "async-executor", + "async-fs 2.1.2", + "async-io 2.3.3", + "async-lock 3.3.0", "async-process 2.1.0", "async-recursion", + "async-task", "async-trait", + "blocking", "derivative", "enumflags2", "event-listener 5.2.0", @@ -6401,6 +6829,17 @@ dependencies = [ "zbus 3.15.1", ] +[[package]] +name = "zbus_systemd" +version = "0.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf2f9e868c81742814772479080fd3613be078e994988727c41ab3eff64062ff" +dependencies = [ + "futures", + "serde", + "zbus 4.1.2", +] + [[package]] name = "zerocopy" version = "0.7.32" diff --git a/Cargo.toml b/Cargo.toml index 82dd2055..adf53ef8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,6 +25,7 @@ members = [ "security-utils", "seek-camera/sys", "seek-camera/wrapper", + "update-verifier", "verity-tree-calc", "wpa-supplicant", ] @@ -61,12 +62,15 @@ tokio-stream = "0.1.15" tokio-test = "0.4.4" tokio-util = "0.7.11" tracing = "0.1" +tracing-journald = "0.3.0" tracing-subscriber = { version = "0.3", features = ["env-filter"] } zbus = { version = "4", default-features = false, features = ["tokio"] } +can-rs.path = "can" orb-build-info.path = "build-info" orb-const-concat.path = "const-concat" orb-security-utils.path = "security-utils" +orb-slot-ctrl.path = "orb-slot-ctrl" [workspace.dependencies.orb-messages] git = "https://github.com/worldcoin/orb-messages" diff --git a/mcu-interface/Cargo.toml b/mcu-interface/Cargo.toml index c9a4b440..ae21241b 100644 --- a/mcu-interface/Cargo.toml +++ b/mcu-interface/Cargo.toml @@ -12,12 +12,12 @@ rust-version.workspace = true [dependencies] async-trait = "0.1.77" -can-rs = { path = "../can", features = ["isotp"] } +can-rs = { workspace = true, features = ["isotp"] } color-eyre.workspace = true futures.workspace = true orb-messages.workspace = true -prost = "0.12.3" pin-project = "1.1.5" +prost = "0.12.3" thiserror.workspace = true tokio-serial = "5.4.1" tokio.workspace = true diff --git a/orb-attest/Cargo.toml b/orb-attest/Cargo.toml index d2bc2006..e69de373 100644 --- a/orb-attest/Cargo.toml +++ b/orb-attest/Cargo.toml @@ -27,7 +27,7 @@ serde_json.workspace = true serde_with = { version = "3.2", features= ["base64"] } thiserror.workspace = true tokio.workspace = true -tracing-journald = "0.3" +tracing-journald.workspace = true tracing-subscriber.workspace = true tracing.workspace = true url = "2.2" diff --git a/orb-supervisor/Cargo.toml b/orb-supervisor/Cargo.toml index 61ede591..27084f71 100644 --- a/orb-supervisor/Cargo.toml +++ b/orb-supervisor/Cargo.toml @@ -26,7 +26,7 @@ thiserror.workspace = true tokio = { workspace = true, features = ["macros", "net", "rt-multi-thread"] } tokio-stream = "0.1.11" tracing = { workspace = true, features = ["attributes"] } -tracing-journald = "0.3.0" +tracing-journald.workspace = true tracing-subscriber = { version = "0.3.16", features = ["env-filter"] } zbus = { version = "3.9.0", default-features = false, features = ["tokio"] } zbus_systemd = { version = "0.0.8", features = [ "systemd1", "login1" ] } diff --git a/update-verifier/Cargo.toml b/update-verifier/Cargo.toml index 998f5675..3df38d0a 100644 --- a/update-verifier/Cargo.toml +++ b/update-verifier/Cargo.toml @@ -1,50 +1,45 @@ [package] name = "orb-update-verifier" -version = "0.2.1" -authors = [ - "Mark Eder <56895722+mrkdir@users.noreply.github.com>", -] -edition = "2021" -license = "MIT OR (Apache-2.0 WITH LLVM-exception)" +version = "0.2.5" description = """ Checks general system health and manages the slot and rootfs state of the Orb. """ +authors = [ + "Mark Eder ", + "Cyril Fougeray ", +] +publish = false + +edition.workspace = true +license.workspace = true +repository.workspace = true +rust-version.workspace = true [dependencies] +can-rs.workspace = true eyre = "0.6.8" flume = "0.11.0" jod-thread = "0.1.2" libc = "0.2.137" +log = "0.4.18" +orb-messages.workspace = true +orb-slot-ctrl.workspace = true polling = "2.2.0" prost = "0.12.4" +semver = "1.0.22" tap = "1.0.1" -tracing = "0.1.37" -tracing-journald = "0.3.0" -tracing-subscriber = { version = "0.3.16", features = ["env-filter"] } thiserror = "1.0.37" -zbus = "4.1.2" +tracing = "0.1.37" +tracing-journald.workspace = true +tracing-subscriber = { workspace = true, features = ["env-filter"] } +zbus.workspace = true zbus_systemd = { version = "0.0.16", features = ["login1"] } -semver = "1.0.22" -log = "0.4.18" [dependencies.reqwest] -version = "0.11.4" +workspace = true default-features = false features = ["blocking", "json"] -[dependencies.orb-slot-ctrl] -git = "https://github.com/worldcoin/orb-software" -rev = "7eb9dd9ce0bc92269b21815d11943ad452860bf7" - -[dependencies.can] -package = "can-rs" -git = "https://github.com/worldcoin/orb-software" -rev = "7eb9dd9ce0bc92269b21815d11943ad452860bf7" - -[dependencies.orb-messages] -git = "https://github.com/worldcoin/orb-messages" -rev = "449bb1c73af41334e5dc44e12f6200d315aaa9d2" - [dev-dependencies] serde = { version = "1.0.147", features = ["derive"] } # isahc = { version = "1.7", features = ["static-ssl"] } @@ -52,6 +47,12 @@ httpmock = "0.6.7" serde_json = "1.0.94" prost-build = "0.12.4" +[package.metadata.orb] +unsupported_targets = [ + "aarch64-apple-darwin", + "x86_64-apple-darwin", +] + [package.metadata.deb] maintainer-scripts = "debian/" assets = [ @@ -60,11 +61,3 @@ assets = [ systemd-units = [ { unit-name = "worldcoin-update-verifier" }, ] - -# What we use when producing artifacts to distribute -[profile.artifact] -inherits = "release" -lto = true -strip = true -debug = false - diff --git a/update-verifier/src/checks/mcu.rs b/update-verifier/src/checks/mcu.rs index 5c4ca253..2994c633 100644 --- a/update-verifier/src/checks/mcu.rs +++ b/update-verifier/src/checks/mcu.rs @@ -1,7 +1,7 @@ use crate::checks::mcu::Device::{JetsonFromMain, JetsonFromSecurity}; -use can::stream::FrameStream; -use can::CANFD_DATA_LEN; -use can::{Frame, Id}; +use can_rs::stream::FrameStream; +use can_rs::CANFD_DATA_LEN; +use can_rs::{Frame, Id}; use eyre::WrapErr as _; use log::warn; use orb_messages::mcu_main as main_messages; @@ -357,7 +357,7 @@ fn trigger_shutdown() -> eyre::Result<()> { #[derive(thiserror::Error, Debug)] pub enum StreamError { #[error("could not init message stream: {0}: `{1}`")] - Initialization(String, can::Error), + Initialization(String, can_rs::Error), #[error("timed out waiting to receive ack")] AckTimeout, #[error("timed out waiting for reply")] @@ -394,11 +394,11 @@ impl MessageStream { let stream = FrameStream::::build() .nonblocking(true) .filters(vec![ - can::filter::Filter { + can_rs::filter::Filter { id: Id::Extended(JetsonFromMain as u32), mask: 0xff, }, - can::filter::Filter { + can_rs::filter::Filter { id: Id::Extended(JetsonFromSecurity as u32), mask: 0xff, },