* [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe
@ 2023-08-13 8:23 frederic.martinsons
2023-08-13 8:23 ` [PATCHV2 1/4] rust: add cargo-c recipe frederic.martinsons
` (4 more replies)
0 siblings, 5 replies; 19+ messages in thread
From: frederic.martinsons @ 2023-08-13 8:23 UTC (permalink / raw)
To: openembedded-core
From: Frederic Martinsons <frederic.martinsons@gmail.com>
This is an RFC for introducing a new class and recipes that
help building C-ABI compatible header and library around
rust code.
The third patch add examples and test to demonstrate
the usage and the good working of this use case.
Test have been passed with the following in local.conf:
CORE_IMAGE_EXTRA_INSTALL:append = " openssh-sshd openssh-scp cargo rust rust-c-lib-example-bin"
IMAGE_CLASSES += "testimage"
TEST_SUITES = "ping ssh rust"
# To use slirp option in testimage.bbclass
TEST_RUNQEMUPARAMS = "slirp"
TEST_SERVER_IP = "127.0.0.1"
QEMU_USE_SLIRP = "1"
The following changes since commit 05095c116602d1a8c388cc02afffcc36230138f7:
qemuboot: Update hardcoded path to match new layout (2023-08-11 13:21:31 +0100)
are available in the Git repository at:
https://gitlab.com/fmartinsons/openembedded-core cargo-c-introduction
Frederic Martinsons (4):
rust: add cargo-c recipe
classes-recipe: add cargo_c.bbclass
rust: provide examples for C library generation in rust
oeqa/runtime/rust: correct rust test
.../rust/rust-c-lib-example-bin_git.bb | 16 +
.../rust/rust-c-lib-example-crates.inc | 79 +
.../rust/rust-c-lib-example_git.bb | 15 +
meta/classes-recipe/cargo_c.bbclass | 41 +
meta/conf/distro/include/maintainers.inc | 2 +
meta/lib/oeqa/runtime/cases/rust.py | 16 +-
meta/recipes-devtools/rust/cargo-c-crates.inc | 453 ++++
meta/recipes-devtools/rust/cargo-c_0.9.18.bb | 22 +
.../rust/files/0001-Add-Cargo.lock-file.patch | 2180 +++++++++++++++++
9 files changed, 2822 insertions(+), 2 deletions(-)
create mode 100644 meta-selftest/recipes-devtools/rust/rust-c-lib-example-bin_git.bb
create mode 100644 meta-selftest/recipes-devtools/rust/rust-c-lib-example-crates.inc
create mode 100644 meta-selftest/recipes-devtools/rust/rust-c-lib-example_git.bb
create mode 100644 meta/classes-recipe/cargo_c.bbclass
create mode 100644 meta/recipes-devtools/rust/cargo-c-crates.inc
create mode 100644 meta/recipes-devtools/rust/cargo-c_0.9.18.bb
create mode 100644 meta/recipes-devtools/rust/files/0001-Add-Cargo.lock-file.patch
--
2.34.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCHV2 1/4] rust: add cargo-c recipe
2023-08-13 8:23 [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe frederic.martinsons
@ 2023-08-13 8:23 ` frederic.martinsons
2023-08-13 8:23 ` [PATCHV2 2/4] classes-recipe: add cargo_c.bbclass frederic.martinsons
` (3 subsequent siblings)
4 siblings, 0 replies; 19+ messages in thread
From: frederic.martinsons @ 2023-08-13 8:23 UTC (permalink / raw)
To: openembedded-core
From: Frederic Martinsons <frederic.martinsons@gmail.com>
This package make it easier to generate C/C++ ABI compatible
header, library and also generate package config file.
It is built around cbindgen (https://github.com/mozilla/cbindgen)
for the header generation, it compiles the library (static or dynamic)
through cargo and finally handle the generation of a custom
package config file.
Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com>
---
meta/conf/distro/include/maintainers.inc | 1 +
meta/recipes-devtools/rust/cargo-c-crates.inc | 453 ++++
meta/recipes-devtools/rust/cargo-c_0.9.18.bb | 22 +
.../rust/files/0001-Add-Cargo.lock-file.patch | 2180 +++++++++++++++++
4 files changed, 2656 insertions(+)
create mode 100644 meta/recipes-devtools/rust/cargo-c-crates.inc
create mode 100644 meta/recipes-devtools/rust/cargo-c_0.9.18.bb
create mode 100644 meta/recipes-devtools/rust/files/0001-Add-Cargo.lock-file.patch
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 202e5739a0..d56b7c1e0e 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -88,6 +88,7 @@ RECIPE_MAINTAINER:pn-bzip2 = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER:pn-ca-certificates = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-cairo = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-cargo = "Randy MacLeod <Randy.MacLeod@windriver.com>"
+RECIPE_MAINTAINER:pn-cargo-c = "Frederic Martinsons <frederic.martinsons@gmail.com>"
RECIPE_MAINTAINER:pn-cantarell-fonts = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-ccache = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER:pn-cdrtools-native = "Yi Zhao <yi.zhao@windriver.com>"
diff --git a/meta/recipes-devtools/rust/cargo-c-crates.inc b/meta/recipes-devtools/rust/cargo-c-crates.inc
new file mode 100644
index 0000000000..fc546c7899
--- /dev/null
+++ b/meta/recipes-devtools/rust/cargo-c-crates.inc
@@ -0,0 +1,453 @@
+SRC_URI += " \
+ crate://crates.io/adler/1.0.2 \
+ crate://crates.io/aho-corasick/1.0.3 \
+ crate://crates.io/anstream/0.3.2 \
+ crate://crates.io/anstyle/1.0.1 \
+ crate://crates.io/anstyle-parse/0.2.1 \
+ crate://crates.io/anstyle-query/1.0.0 \
+ crate://crates.io/anstyle-wincon/1.0.2 \
+ crate://crates.io/anyhow/1.0.72 \
+ crate://crates.io/arrayvec/0.5.2 \
+ crate://crates.io/atty/0.2.14 \
+ crate://crates.io/autocfg/1.1.0 \
+ crate://crates.io/base16ct/0.2.0 \
+ crate://crates.io/base64/0.13.1 \
+ crate://crates.io/base64ct/1.6.0 \
+ crate://crates.io/bitflags/1.3.2 \
+ crate://crates.io/bitflags/2.3.3 \
+ crate://crates.io/bitmaps/2.1.0 \
+ crate://crates.io/block-buffer/0.10.4 \
+ crate://crates.io/bstr/1.6.0 \
+ crate://crates.io/bumpalo/3.13.0 \
+ crate://crates.io/bytes/1.4.0 \
+ crate://crates.io/bytesize/1.2.0 \
+ crate://crates.io/cargo/0.69.1 \
+ crate://crates.io/cargo-platform/0.1.3 \
+ crate://crates.io/cargo-util/0.2.4 \
+ crate://crates.io/cbindgen/0.24.5 \
+ crate://crates.io/cc/1.0.82 \
+ crate://crates.io/cfg-if/1.0.0 \
+ crate://crates.io/clap/3.2.25 \
+ crate://crates.io/clap/4.3.21 \
+ crate://crates.io/clap_builder/4.3.21 \
+ crate://crates.io/clap_derive/4.3.12 \
+ crate://crates.io/clap_lex/0.2.4 \
+ crate://crates.io/clap_lex/0.5.0 \
+ crate://crates.io/colorchoice/1.0.0 \
+ crate://crates.io/combine/4.6.6 \
+ crate://crates.io/const-oid/0.9.5 \
+ crate://crates.io/core-foundation/0.9.3 \
+ crate://crates.io/core-foundation-sys/0.8.4 \
+ crate://crates.io/cpufeatures/0.2.9 \
+ crate://crates.io/crates-io/0.35.1 \
+ crate://crates.io/crc32fast/1.3.2 \
+ crate://crates.io/crypto-bigint/0.5.2 \
+ crate://crates.io/crypto-common/0.1.6 \
+ crate://crates.io/ct-codecs/1.1.1 \
+ crate://crates.io/curl/0.4.44 \
+ crate://crates.io/curl-sys/0.4.65+curl-8.2.1 \
+ crate://crates.io/der/0.7.8 \
+ crate://crates.io/deranged/0.3.7 \
+ crate://crates.io/digest/0.10.7 \
+ crate://crates.io/ecdsa/0.16.8 \
+ crate://crates.io/ed25519-compact/2.0.4 \
+ crate://crates.io/either/1.9.0 \
+ crate://crates.io/elliptic-curve/0.13.5 \
+ crate://crates.io/env_logger/0.10.0 \
+ crate://crates.io/equivalent/1.0.1 \
+ crate://crates.io/errno/0.3.2 \
+ crate://crates.io/errno-dragonfly/0.1.2 \
+ crate://crates.io/fastrand/2.0.0 \
+ crate://crates.io/ff/0.13.0 \
+ crate://crates.io/fiat-crypto/0.1.20 \
+ crate://crates.io/filetime/0.2.22 \
+ crate://crates.io/flate2/1.0.26 \
+ crate://crates.io/fnv/1.0.7 \
+ crate://crates.io/foreign-types/0.3.2 \
+ crate://crates.io/foreign-types-shared/0.1.1 \
+ crate://crates.io/form_urlencoded/1.2.0 \
+ crate://crates.io/fwdansi/1.1.0 \
+ crate://crates.io/generic-array/0.14.7 \
+ crate://crates.io/getrandom/0.2.10 \
+ crate://crates.io/git2/0.16.0 \
+ crate://crates.io/git2-curl/0.17.0 \
+ crate://crates.io/glob/0.3.1 \
+ crate://crates.io/globset/0.4.13 \
+ crate://crates.io/group/0.13.0 \
+ crate://crates.io/hashbrown/0.12.3 \
+ crate://crates.io/hashbrown/0.14.0 \
+ crate://crates.io/heck/0.4.1 \
+ crate://crates.io/hermit-abi/0.1.19 \
+ crate://crates.io/hermit-abi/0.3.2 \
+ crate://crates.io/hex/0.4.3 \
+ crate://crates.io/hkdf/0.12.3 \
+ crate://crates.io/hmac/0.12.1 \
+ crate://crates.io/home/0.5.5 \
+ crate://crates.io/http-auth/0.1.8 \
+ crate://crates.io/humantime/2.1.0 \
+ crate://crates.io/idna/0.4.0 \
+ crate://crates.io/ignore/0.4.20 \
+ crate://crates.io/im-rc/15.1.0 \
+ crate://crates.io/indexmap/1.9.3 \
+ crate://crates.io/indexmap/2.0.0 \
+ crate://crates.io/is-terminal/0.4.9 \
+ crate://crates.io/itertools/0.10.5 \
+ crate://crates.io/itoa/1.0.9 \
+ crate://crates.io/jobserver/0.1.26 \
+ crate://crates.io/js-sys/0.3.64 \
+ crate://crates.io/kstring/2.0.0 \
+ crate://crates.io/lazy_static/1.4.0 \
+ crate://crates.io/lazycell/1.3.0 \
+ crate://crates.io/libc/0.2.147 \
+ crate://crates.io/libgit2-sys/0.14.1+1.5.0 \
+ crate://crates.io/libnghttp2-sys/0.1.8+1.55.1 \
+ crate://crates.io/libssh2-sys/0.2.23 \
+ crate://crates.io/libz-sys/1.1.12 \
+ crate://crates.io/linux-raw-sys/0.4.5 \
+ crate://crates.io/log/0.4.19 \
+ crate://crates.io/memchr/2.5.0 \
+ crate://crates.io/miniz_oxide/0.7.1 \
+ crate://crates.io/miow/0.5.0 \
+ crate://crates.io/num-traits/0.2.16 \
+ crate://crates.io/once_cell/1.18.0 \
+ crate://crates.io/opener/0.5.2 \
+ crate://crates.io/openssl/0.10.56 \
+ crate://crates.io/openssl-macros/0.1.1 \
+ crate://crates.io/openssl-probe/0.1.5 \
+ crate://crates.io/openssl-src/111.27.0+1.1.1v \
+ crate://crates.io/openssl-sys/0.9.91 \
+ crate://crates.io/ordered-float/2.10.0 \
+ crate://crates.io/orion/0.17.5 \
+ crate://crates.io/os_info/3.7.0 \
+ crate://crates.io/os_str_bytes/6.5.1 \
+ crate://crates.io/p384/0.13.0 \
+ crate://crates.io/pasetors/0.6.7 \
+ crate://crates.io/pathdiff/0.2.1 \
+ crate://crates.io/pem-rfc7468/0.7.0 \
+ crate://crates.io/percent-encoding/2.3.0 \
+ crate://crates.io/pkcs8/0.10.2 \
+ crate://crates.io/pkg-config/0.3.27 \
+ crate://crates.io/primeorder/0.13.2 \
+ crate://crates.io/proc-macro2/1.0.66 \
+ crate://crates.io/quote/1.0.32 \
+ crate://crates.io/rand_core/0.6.4 \
+ crate://crates.io/rand_xoshiro/0.6.0 \
+ crate://crates.io/redox_syscall/0.3.5 \
+ crate://crates.io/regex/1.9.3 \
+ crate://crates.io/regex-automata/0.3.6 \
+ crate://crates.io/regex-syntax/0.7.4 \
+ crate://crates.io/rfc6979/0.4.0 \
+ crate://crates.io/rustc-workspace-hack/1.0.0 \
+ crate://crates.io/rustfix/0.6.1 \
+ crate://crates.io/rustix/0.38.8 \
+ crate://crates.io/ryu/1.0.15 \
+ crate://crates.io/same-file/1.0.6 \
+ crate://crates.io/schannel/0.1.22 \
+ crate://crates.io/sec1/0.7.3 \
+ crate://crates.io/semver/1.0.18 \
+ crate://crates.io/serde/1.0.183 \
+ crate://crates.io/serde-value/0.7.0 \
+ crate://crates.io/serde_derive/1.0.183 \
+ crate://crates.io/serde_ignored/0.1.9 \
+ crate://crates.io/serde_json/1.0.104 \
+ crate://crates.io/serde_spanned/0.6.3 \
+ crate://crates.io/sha1/0.10.5 \
+ crate://crates.io/sha2/0.10.7 \
+ crate://crates.io/shell-escape/0.1.5 \
+ crate://crates.io/signature/2.1.0 \
+ crate://crates.io/sized-chunks/0.6.5 \
+ crate://crates.io/socket2/0.4.9 \
+ crate://crates.io/spki/0.7.2 \
+ crate://crates.io/static_assertions/1.1.0 \
+ crate://crates.io/strip-ansi-escapes/0.1.1 \
+ crate://crates.io/strsim/0.10.0 \
+ crate://crates.io/subtle/2.5.0 \
+ crate://crates.io/syn/1.0.109 \
+ crate://crates.io/syn/2.0.28 \
+ crate://crates.io/tar/0.4.40 \
+ crate://crates.io/tempfile/3.7.1 \
+ crate://crates.io/termcolor/1.2.0 \
+ crate://crates.io/textwrap/0.16.0 \
+ crate://crates.io/thread_local/1.1.7 \
+ crate://crates.io/time/0.3.25 \
+ crate://crates.io/time-core/0.1.1 \
+ crate://crates.io/time-macros/0.2.11 \
+ crate://crates.io/tinyvec/1.6.0 \
+ crate://crates.io/tinyvec_macros/0.1.1 \
+ crate://crates.io/toml/0.5.11 \
+ crate://crates.io/toml/0.7.6 \
+ crate://crates.io/toml_datetime/0.5.1 \
+ crate://crates.io/toml_datetime/0.6.3 \
+ crate://crates.io/toml_edit/0.15.0 \
+ crate://crates.io/toml_edit/0.19.14 \
+ crate://crates.io/typenum/1.16.0 \
+ crate://crates.io/unicode-bidi/0.3.13 \
+ crate://crates.io/unicode-ident/1.0.11 \
+ crate://crates.io/unicode-normalization/0.1.22 \
+ crate://crates.io/unicode-width/0.1.10 \
+ crate://crates.io/unicode-xid/0.2.4 \
+ crate://crates.io/url/2.4.0 \
+ crate://crates.io/utf8parse/0.2.1 \
+ crate://crates.io/vcpkg/0.2.15 \
+ crate://crates.io/version_check/0.9.4 \
+ crate://crates.io/vte/0.10.1 \
+ crate://crates.io/vte_generate_state_changes/0.1.1 \
+ crate://crates.io/walkdir/2.3.3 \
+ crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
+ crate://crates.io/wasm-bindgen/0.2.87 \
+ crate://crates.io/wasm-bindgen-backend/0.2.87 \
+ crate://crates.io/wasm-bindgen-macro/0.2.87 \
+ crate://crates.io/wasm-bindgen-macro-support/0.2.87 \
+ crate://crates.io/wasm-bindgen-shared/0.2.87 \
+ crate://crates.io/winapi/0.3.9 \
+ crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+ crate://crates.io/winapi-util/0.1.5 \
+ crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+ crate://crates.io/windows-sys/0.42.0 \
+ crate://crates.io/windows-sys/0.45.0 \
+ crate://crates.io/windows-sys/0.48.0 \
+ crate://crates.io/windows-targets/0.42.2 \
+ crate://crates.io/windows-targets/0.48.1 \
+ crate://crates.io/windows_aarch64_gnullvm/0.42.2 \
+ crate://crates.io/windows_aarch64_gnullvm/0.48.0 \
+ crate://crates.io/windows_aarch64_msvc/0.42.2 \
+ crate://crates.io/windows_aarch64_msvc/0.48.0 \
+ crate://crates.io/windows_i686_gnu/0.42.2 \
+ crate://crates.io/windows_i686_gnu/0.48.0 \
+ crate://crates.io/windows_i686_msvc/0.42.2 \
+ crate://crates.io/windows_i686_msvc/0.48.0 \
+ crate://crates.io/windows_x86_64_gnu/0.42.2 \
+ crate://crates.io/windows_x86_64_gnu/0.48.0 \
+ crate://crates.io/windows_x86_64_gnullvm/0.42.2 \
+ crate://crates.io/windows_x86_64_gnullvm/0.48.0 \
+ crate://crates.io/windows_x86_64_msvc/0.42.2 \
+ crate://crates.io/windows_x86_64_msvc/0.48.0 \
+ crate://crates.io/winnow/0.5.7 \
+ crate://crates.io/zeroize/1.6.0 \
+"
+
+SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+SRC_URI[aho-corasick-1.0.3.sha256sum] = "86b8f9420f797f2d9e935edf629310eb938a0d839f984e25327f3c7eed22300c"
+SRC_URI[anstream-0.3.2.sha256sum] = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
+SRC_URI[anstyle-1.0.1.sha256sum] = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
+SRC_URI[anstyle-parse-0.2.1.sha256sum] = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
+SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+SRC_URI[anstyle-wincon-1.0.2.sha256sum] = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c"
+SRC_URI[anyhow-1.0.72.sha256sum] = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
+SRC_URI[arrayvec-0.5.2.sha256sum] = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
+SRC_URI[atty-0.2.14.sha256sum] = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+SRC_URI[base16ct-0.2.0.sha256sum] = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
+SRC_URI[base64-0.13.1.sha256sum] = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+SRC_URI[base64ct-1.6.0.sha256sum] = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
+SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+SRC_URI[bitflags-2.3.3.sha256sum] = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+SRC_URI[bitmaps-2.1.0.sha256sum] = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2"
+SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+SRC_URI[bstr-1.6.0.sha256sum] = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
+SRC_URI[bumpalo-3.13.0.sha256sum] = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+SRC_URI[bytes-1.4.0.sha256sum] = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+SRC_URI[bytesize-1.2.0.sha256sum] = "38fcc2979eff34a4b84e1cf9a1e3da42a7d44b3b690a40cdcb23e3d556cfb2e5"
+SRC_URI[cargo-0.69.1.sha256sum] = "2ecf1ab9246253733b30352b5194b4c3a7038a1c7729e1a18b3ba00e479c4d54"
+SRC_URI[cargo-platform-0.1.3.sha256sum] = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479"
+SRC_URI[cargo-util-0.2.4.sha256sum] = "a5e2320a2b1242f9181a3347ae0884bb497e1853d299da99780fa1e96f9abe23"
+SRC_URI[cbindgen-0.24.5.sha256sum] = "4b922faaf31122819ec80c4047cc684c6979a087366c069611e33649bf98e18d"
+SRC_URI[cc-1.0.82.sha256sum] = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01"
+SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+SRC_URI[clap-3.2.25.sha256sum] = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
+SRC_URI[clap-4.3.21.sha256sum] = "c27cdf28c0f604ba3f512b0c9a409f8de8513e4816705deb0498b627e7c3a3fd"
+SRC_URI[clap_builder-4.3.21.sha256sum] = "08a9f1ab5e9f01a9b81f202e8562eb9a10de70abf9eaeac1be465c28b75aa4aa"
+SRC_URI[clap_derive-4.3.12.sha256sum] = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050"
+SRC_URI[clap_lex-0.2.4.sha256sum] = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
+SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+SRC_URI[combine-4.6.6.sha256sum] = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
+SRC_URI[const-oid-0.9.5.sha256sum] = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
+SRC_URI[core-foundation-0.9.3.sha256sum] = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+SRC_URI[core-foundation-sys-0.8.4.sha256sum] = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+SRC_URI[cpufeatures-0.2.9.sha256sum] = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+SRC_URI[crates-io-0.35.1.sha256sum] = "e2dfb6077da60207264ab2eb0e3734f02e0a0c50c347b32c728e42c6fbbf7e2e"
+SRC_URI[crc32fast-1.3.2.sha256sum] = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+SRC_URI[crypto-bigint-0.5.2.sha256sum] = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15"
+SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+SRC_URI[ct-codecs-1.1.1.sha256sum] = "f3b7eb4404b8195a9abb6356f4ac07d8ba267045c8d6d220ac4dc992e6cc75df"
+SRC_URI[curl-0.4.44.sha256sum] = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
+SRC_URI[curl-sys-0.4.65+curl-8.2.1.sha256sum] = "961ba061c9ef2fe34bbd12b807152d96f0badd2bebe7b90ce6c8c8b7572a0986"
+SRC_URI[der-0.7.8.sha256sum] = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
+SRC_URI[deranged-0.3.7.sha256sum] = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929"
+SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+SRC_URI[ecdsa-0.16.8.sha256sum] = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4"
+SRC_URI[ed25519-compact-2.0.4.sha256sum] = "6a3d382e8464107391c8706b4c14b087808ecb909f6c15c34114bc42e53a9e4c"
+SRC_URI[either-1.9.0.sha256sum] = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+SRC_URI[elliptic-curve-0.13.5.sha256sum] = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
+SRC_URI[env_logger-0.10.0.sha256sum] = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+SRC_URI[errno-0.3.2.sha256sum] = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
+SRC_URI[errno-dragonfly-0.1.2.sha256sum] = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+SRC_URI[fastrand-2.0.0.sha256sum] = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
+SRC_URI[ff-0.13.0.sha256sum] = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
+SRC_URI[fiat-crypto-0.1.20.sha256sum] = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
+SRC_URI[filetime-0.2.22.sha256sum] = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
+SRC_URI[flate2-1.0.26.sha256sum] = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
+SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+SRC_URI[form_urlencoded-1.2.0.sha256sum] = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+SRC_URI[fwdansi-1.1.0.sha256sum] = "08c1f5787fe85505d1f7777268db5103d80a7a374d2316a7ce262e57baf8f208"
+SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+SRC_URI[getrandom-0.2.10.sha256sum] = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+SRC_URI[git2-0.16.0.sha256sum] = "be36bc9e0546df253c0cc41fd0af34f5e92845ad8509462ec76672fac6997f5b"
+SRC_URI[git2-curl-0.17.0.sha256sum] = "7577f4e6341ba7c90d883511130a45b956c274ba5f4d205d9f9da990f654cd33"
+SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+SRC_URI[globset-0.4.13.sha256sum] = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d"
+SRC_URI[group-0.13.0.sha256sum] = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
+SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+SRC_URI[hashbrown-0.14.0.sha256sum] = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+SRC_URI[hkdf-0.12.3.sha256sum] = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+SRC_URI[hmac-0.12.1.sha256sum] = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
+SRC_URI[home-0.5.5.sha256sum] = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+SRC_URI[http-auth-0.1.8.sha256sum] = "5430cacd7a1f9a02fbeb350dfc81a0e5ed42d81f3398cb0ba184017f85bdcfbc"
+SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+SRC_URI[idna-0.4.0.sha256sum] = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+SRC_URI[ignore-0.4.20.sha256sum] = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
+SRC_URI[im-rc-15.1.0.sha256sum] = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe"
+SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+SRC_URI[indexmap-2.0.0.sha256sum] = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+SRC_URI[is-terminal-0.4.9.sha256sum] = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
+SRC_URI[itertools-0.10.5.sha256sum] = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+SRC_URI[itoa-1.0.9.sha256sum] = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+SRC_URI[jobserver-0.1.26.sha256sum] = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+SRC_URI[js-sys-0.3.64.sha256sum] = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+SRC_URI[kstring-2.0.0.sha256sum] = "ec3066350882a1cd6d950d055997f379ac37fd39f81cd4d8ed186032eb3c5747"
+SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+SRC_URI[lazycell-1.3.0.sha256sum] = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+SRC_URI[libgit2-sys-0.14.1+1.5.0.sha256sum] = "4a07fb2692bc3593bda59de45a502bb3071659f2c515e28c71e728306b038e17"
+SRC_URI[libnghttp2-sys-0.1.8+1.55.1.sha256sum] = "4fae956c192dadcdb5dace96db71fa0b827333cce7c7b38dc71446f024d8a340"
+SRC_URI[libssh2-sys-0.2.23.sha256sum] = "b094a36eb4b8b8c8a7b4b8ae43b2944502be3e59cd87687595cf6b0a71b3f4ca"
+SRC_URI[libz-sys-1.1.12.sha256sum] = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
+SRC_URI[linux-raw-sys-0.4.5.sha256sum] = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
+SRC_URI[log-0.4.19.sha256sum] = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+SRC_URI[miniz_oxide-0.7.1.sha256sum] = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+SRC_URI[miow-0.5.0.sha256sum] = "52ffbca2f655e33c08be35d87278e5b18b89550a37dbd598c20db92f6a471123"
+SRC_URI[num-traits-0.2.16.sha256sum] = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
+SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+SRC_URI[opener-0.5.2.sha256sum] = "293c15678e37254c15bd2f092314abb4e51d7fdde05c2021279c12631b54f005"
+SRC_URI[openssl-0.10.56.sha256sum] = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e"
+SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
+SRC_URI[openssl-probe-0.1.5.sha256sum] = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+SRC_URI[openssl-src-111.27.0+1.1.1v.sha256sum] = "06e8f197c82d7511c5b014030c9b1efeda40d7d5f99d23b4ceed3524a5e63f02"
+SRC_URI[openssl-sys-0.9.91.sha256sum] = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac"
+SRC_URI[ordered-float-2.10.0.sha256sum] = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87"
+SRC_URI[orion-0.17.5.sha256sum] = "b11468cc6afd61a126fe3f91cc4cc8a0dbe7917d0a4b5e8357ba91cc47444462"
+SRC_URI[os_info-3.7.0.sha256sum] = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e"
+SRC_URI[os_str_bytes-6.5.1.sha256sum] = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac"
+SRC_URI[p384-0.13.0.sha256sum] = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209"
+SRC_URI[pasetors-0.6.7.sha256sum] = "ba765699a309908d55950919a3445e9491453e89b2587b1b2abe4143a48894c0"
+SRC_URI[pathdiff-0.2.1.sha256sum] = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
+SRC_URI[pem-rfc7468-0.7.0.sha256sum] = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
+SRC_URI[percent-encoding-2.3.0.sha256sum] = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+SRC_URI[pkcs8-0.10.2.sha256sum] = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
+SRC_URI[pkg-config-0.3.27.sha256sum] = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+SRC_URI[primeorder-0.13.2.sha256sum] = "3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3"
+SRC_URI[proc-macro2-1.0.66.sha256sum] = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+SRC_URI[quote-1.0.32.sha256sum] = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
+SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+SRC_URI[rand_xoshiro-0.6.0.sha256sum] = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa"
+SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+SRC_URI[regex-1.9.3.sha256sum] = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a"
+SRC_URI[regex-automata-0.3.6.sha256sum] = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69"
+SRC_URI[regex-syntax-0.7.4.sha256sum] = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
+SRC_URI[rfc6979-0.4.0.sha256sum] = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2"
+SRC_URI[rustc-workspace-hack-1.0.0.sha256sum] = "fc71d2faa173b74b232dedc235e3ee1696581bb132fc116fa3626d6151a1a8fb"
+SRC_URI[rustfix-0.6.1.sha256sum] = "ecd2853d9e26988467753bd9912c3a126f642d05d229a4b53f5752ee36c56481"
+SRC_URI[rustix-0.38.8.sha256sum] = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f"
+SRC_URI[ryu-1.0.15.sha256sum] = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+SRC_URI[schannel-0.1.22.sha256sum] = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+SRC_URI[sec1-0.7.3.sha256sum] = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc"
+SRC_URI[semver-1.0.18.sha256sum] = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+SRC_URI[serde-1.0.183.sha256sum] = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c"
+SRC_URI[serde-value-0.7.0.sha256sum] = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c"
+SRC_URI[serde_derive-1.0.183.sha256sum] = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816"
+SRC_URI[serde_ignored-0.1.9.sha256sum] = "80c31d5c53fd39f208e770f5a20a0bb214dee2a8d0d8adba18e19ad95a482ca5"
+SRC_URI[serde_json-1.0.104.sha256sum] = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c"
+SRC_URI[serde_spanned-0.6.3.sha256sum] = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
+SRC_URI[sha1-0.10.5.sha256sum] = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
+SRC_URI[sha2-0.10.7.sha256sum] = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+SRC_URI[shell-escape-0.1.5.sha256sum] = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
+SRC_URI[signature-2.1.0.sha256sum] = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
+SRC_URI[sized-chunks-0.6.5.sha256sum] = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e"
+SRC_URI[socket2-0.4.9.sha256sum] = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+SRC_URI[spki-0.7.2.sha256sum] = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
+SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+SRC_URI[strip-ansi-escapes-0.1.1.sha256sum] = "011cbb39cf7c1f62871aea3cc46e5817b0937b49e9447370c93cacbe93a766d8"
+SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+SRC_URI[subtle-2.5.0.sha256sum] = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
+SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+SRC_URI[syn-2.0.28.sha256sum] = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567"
+SRC_URI[tar-0.4.40.sha256sum] = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
+SRC_URI[tempfile-3.7.1.sha256sum] = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651"
+SRC_URI[termcolor-1.2.0.sha256sum] = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+SRC_URI[textwrap-0.16.0.sha256sum] = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+SRC_URI[thread_local-1.1.7.sha256sum] = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+SRC_URI[time-0.3.25.sha256sum] = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea"
+SRC_URI[time-core-0.1.1.sha256sum] = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
+SRC_URI[time-macros-0.2.11.sha256sum] = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd"
+SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+SRC_URI[toml-0.5.11.sha256sum] = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+SRC_URI[toml-0.7.6.sha256sum] = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
+SRC_URI[toml_datetime-0.5.1.sha256sum] = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5"
+SRC_URI[toml_datetime-0.6.3.sha256sum] = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+SRC_URI[toml_edit-0.15.0.sha256sum] = "b1541ba70885967e662f69d31ab3aeca7b1aaecfcd58679590b893e9239c3646"
+SRC_URI[toml_edit-0.19.14.sha256sum] = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
+SRC_URI[typenum-1.16.0.sha256sum] = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+SRC_URI[unicode-bidi-0.3.13.sha256sum] = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+SRC_URI[unicode-width-0.1.10.sha256sum] = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+SRC_URI[unicode-xid-0.2.4.sha256sum] = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+SRC_URI[url-2.4.0.sha256sum] = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
+SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+SRC_URI[vte-0.10.1.sha256sum] = "6cbce692ab4ca2f1f3047fcf732430249c0e971bfdd2b234cf2c47ad93af5983"
+SRC_URI[vte_generate_state_changes-0.1.1.sha256sum] = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff"
+SRC_URI[walkdir-2.3.3.sha256sum] = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
+SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+SRC_URI[wasm-bindgen-0.2.87.sha256sum] = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+SRC_URI[wasm-bindgen-backend-0.2.87.sha256sum] = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+SRC_URI[wasm-bindgen-macro-0.2.87.sha256sum] = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+SRC_URI[wasm-bindgen-macro-support-0.2.87.sha256sum] = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+SRC_URI[wasm-bindgen-shared-0.2.87.sha256sum] = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+SRC_URI[windows-sys-0.42.0.sha256sum] = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+SRC_URI[windows-sys-0.45.0.sha256sum] = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+SRC_URI[windows-targets-0.42.2.sha256sum] = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+SRC_URI[windows-targets-0.48.1.sha256sum] = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
+SRC_URI[windows_aarch64_gnullvm-0.42.2.sha256sum] = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+SRC_URI[windows_aarch64_msvc-0.42.2.sha256sum] = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+SRC_URI[windows_i686_gnu-0.42.2.sha256sum] = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+SRC_URI[windows_i686_msvc-0.42.2.sha256sum] = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+SRC_URI[windows_x86_64_gnu-0.42.2.sha256sum] = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+SRC_URI[windows_x86_64_gnullvm-0.42.2.sha256sum] = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+SRC_URI[windows_x86_64_msvc-0.42.2.sha256sum] = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+SRC_URI[winnow-0.5.7.sha256sum] = "19f495880723d0999eb3500a9064d8dbcf836460b24c17df80ea7b5794053aac"
+SRC_URI[zeroize-1.6.0.sha256sum] = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
diff --git a/meta/recipes-devtools/rust/cargo-c_0.9.18.bb b/meta/recipes-devtools/rust/cargo-c_0.9.18.bb
new file mode 100644
index 0000000000..1ff426aa9d
--- /dev/null
+++ b/meta/recipes-devtools/rust/cargo-c_0.9.18.bb
@@ -0,0 +1,22 @@
+SUMMARY ?= "cargo applet to build and install C-ABI compatible dynamic and static libraries."
+HOMEPAGE = "https://crates.io/crates/cargo-c"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=384ed0e2e0b2dac094e51fbf93fdcbe0 \
+"
+
+SRC_URI = " \
+ git://github.com/lu-zero/cargo-c.git;branch=master;protocol=https \
+ file://0001-Add-Cargo.lock-file.patch \
+"
+
+SRCREV = "4eaf39ebbbc9ab8f092adf487d5b53435511d619"
+S = "${WORKDIR}/git"
+
+inherit cargo cargo-update-recipe-crates pkgconfig
+
+DEPENDS = "openssl curl"
+
+require ${BPN}-crates.inc
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/rust/files/0001-Add-Cargo.lock-file.patch b/meta/recipes-devtools/rust/files/0001-Add-Cargo.lock-file.patch
new file mode 100644
index 0000000000..024e3a1218
--- /dev/null
+++ b/meta/recipes-devtools/rust/files/0001-Add-Cargo.lock-file.patch
@@ -0,0 +1,2180 @@
+From bc958b58eb31151ce76e409ce654bf6131d693b3 Mon Sep 17 00:00:00 2001
+From: Frederic Martinsons <frederic.martinsons@unabiz.com>
+Date: Fri, 11 Aug 2023 06:28:56 +0200
+Subject: [PATCH] Add Cargo.lock file
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Frederic Martinsons <frederic.martinsons@unabiz.com>
+---
+ .gitignore | 1 -
+ Cargo.lock | 2148 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 2148 insertions(+), 1 deletion(-)
+ create mode 100644 Cargo.lock
+
+diff --git a/.gitignore b/.gitignore
+index b52f82c..437f557 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -1,5 +1,4 @@
+ /target
+ **/*.rs.bk
+-Cargo.lock
+ /example-project/target/
+ /example-project/usage-from-c/run_tests
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..2225b04
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,2148 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++version = 3
++
++[[package]]
++name = "adler"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
++
++[[package]]
++name = "aho-corasick"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "86b8f9420f797f2d9e935edf629310eb938a0d839f984e25327f3c7eed22300c"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "anstream"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
++dependencies = [
++ "anstyle",
++ "anstyle-parse",
++ "anstyle-query",
++ "anstyle-wincon",
++ "colorchoice",
++ "is-terminal",
++ "utf8parse",
++]
++
++[[package]]
++name = "anstyle"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
++
++[[package]]
++name = "anstyle-parse"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
++dependencies = [
++ "utf8parse",
++]
++
++[[package]]
++name = "anstyle-query"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
++dependencies = [
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "anstyle-wincon"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c"
++dependencies = [
++ "anstyle",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "anyhow"
++version = "1.0.72"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
++
++[[package]]
++name = "arrayvec"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
++
++[[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.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
++
++[[package]]
++name = "base16ct"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
++
++[[package]]
++name = "base64"
++version = "0.13.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
++
++[[package]]
++name = "base64ct"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
++
++[[package]]
++name = "bitflags"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
++
++[[package]]
++name = "bitflags"
++version = "2.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
++
++[[package]]
++name = "bitmaps"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2"
++dependencies = [
++ "typenum",
++]
++
++[[package]]
++name = "block-buffer"
++version = "0.10.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
++dependencies = [
++ "generic-array",
++]
++
++[[package]]
++name = "bstr"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
++dependencies = [
++ "memchr",
++ "regex-automata",
++ "serde",
++]
++
++[[package]]
++name = "bumpalo"
++version = "3.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
++
++[[package]]
++name = "bytes"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
++
++[[package]]
++name = "bytesize"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "38fcc2979eff34a4b84e1cf9a1e3da42a7d44b3b690a40cdcb23e3d556cfb2e5"
++
++[[package]]
++name = "cargo"
++version = "0.69.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2ecf1ab9246253733b30352b5194b4c3a7038a1c7729e1a18b3ba00e479c4d54"
++dependencies = [
++ "anyhow",
++ "base64",
++ "bytesize",
++ "cargo-platform",
++ "cargo-util",
++ "clap 4.3.21",
++ "crates-io",
++ "curl",
++ "curl-sys",
++ "env_logger",
++ "filetime",
++ "flate2",
++ "fwdansi",
++ "git2",
++ "git2-curl",
++ "glob",
++ "hex",
++ "hmac",
++ "home",
++ "http-auth",
++ "humantime",
++ "ignore",
++ "im-rc",
++ "indexmap 1.9.3",
++ "is-terminal",
++ "itertools",
++ "jobserver",
++ "lazy_static",
++ "lazycell",
++ "libc",
++ "libgit2-sys",
++ "log",
++ "memchr",
++ "opener",
++ "openssl",
++ "os_info",
++ "pasetors",
++ "pathdiff",
++ "percent-encoding",
++ "rustc-workspace-hack",
++ "rustfix",
++ "semver",
++ "serde",
++ "serde-value",
++ "serde_ignored",
++ "serde_json",
++ "sha1",
++ "shell-escape",
++ "strip-ansi-escapes",
++ "tar",
++ "tempfile",
++ "termcolor",
++ "time",
++ "toml_edit 0.15.0",
++ "unicode-width",
++ "unicode-xid",
++ "url",
++ "walkdir",
++ "winapi",
++]
++
++[[package]]
++name = "cargo-c"
++version = "0.9.18+cargo-0.69"
++dependencies = [
++ "anyhow",
++ "cargo",
++ "cargo-util",
++ "cbindgen",
++ "cc",
++ "clap 4.3.21",
++ "glob",
++ "itertools",
++ "log",
++ "regex",
++ "semver",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "toml 0.7.6",
++]
++
++[[package]]
++name = "cargo-platform"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "cargo-util"
++version = "0.2.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a5e2320a2b1242f9181a3347ae0884bb497e1853d299da99780fa1e96f9abe23"
++dependencies = [
++ "anyhow",
++ "core-foundation",
++ "filetime",
++ "hex",
++ "jobserver",
++ "libc",
++ "log",
++ "miow",
++ "same-file",
++ "sha2",
++ "shell-escape",
++ "tempfile",
++ "walkdir",
++ "windows-sys 0.45.0",
++]
++
++[[package]]
++name = "cbindgen"
++version = "0.24.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4b922faaf31122819ec80c4047cc684c6979a087366c069611e33649bf98e18d"
++dependencies = [
++ "clap 3.2.25",
++ "heck",
++ "indexmap 1.9.3",
++ "log",
++ "proc-macro2",
++ "quote",
++ "serde",
++ "serde_json",
++ "syn 1.0.109",
++ "tempfile",
++ "toml 0.5.11",
++]
++
++[[package]]
++name = "cc"
++version = "1.0.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01"
++dependencies = [
++ "jobserver",
++ "libc",
++]
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
++
++[[package]]
++name = "clap"
++version = "3.2.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
++dependencies = [
++ "atty",
++ "bitflags 1.3.2",
++ "clap_lex 0.2.4",
++ "indexmap 1.9.3",
++ "strsim",
++ "termcolor",
++ "textwrap",
++]
++
++[[package]]
++name = "clap"
++version = "4.3.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c27cdf28c0f604ba3f512b0c9a409f8de8513e4816705deb0498b627e7c3a3fd"
++dependencies = [
++ "clap_builder",
++ "clap_derive",
++ "once_cell",
++]
++
++[[package]]
++name = "clap_builder"
++version = "4.3.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "08a9f1ab5e9f01a9b81f202e8562eb9a10de70abf9eaeac1be465c28b75aa4aa"
++dependencies = [
++ "anstream",
++ "anstyle",
++ "clap_lex 0.5.0",
++ "once_cell",
++ "strsim",
++]
++
++[[package]]
++name = "clap_derive"
++version = "4.3.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050"
++dependencies = [
++ "heck",
++ "proc-macro2",
++ "quote",
++ "syn 2.0.28",
++]
++
++[[package]]
++name = "clap_lex"
++version = "0.2.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
++dependencies = [
++ "os_str_bytes",
++]
++
++[[package]]
++name = "clap_lex"
++version = "0.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
++
++[[package]]
++name = "colorchoice"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
++
++[[package]]
++name = "combine"
++version = "4.6.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
++dependencies = [
++ "bytes",
++ "memchr",
++]
++
++[[package]]
++name = "const-oid"
++version = "0.9.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
++
++[[package]]
++name = "core-foundation"
++version = "0.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
++[[package]]
++name = "core-foundation-sys"
++version = "0.8.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
++
++[[package]]
++name = "cpufeatures"
++version = "0.2.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "crates-io"
++version = "0.35.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2dfb6077da60207264ab2eb0e3734f02e0a0c50c347b32c728e42c6fbbf7e2e"
++dependencies = [
++ "anyhow",
++ "curl",
++ "percent-encoding",
++ "serde",
++ "serde_json",
++ "url",
++]
++
++[[package]]
++name = "crc32fast"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "crypto-bigint"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15"
++dependencies = [
++ "generic-array",
++ "rand_core",
++ "subtle",
++ "zeroize",
++]
++
++[[package]]
++name = "crypto-common"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
++dependencies = [
++ "generic-array",
++ "typenum",
++]
++
++[[package]]
++name = "ct-codecs"
++version = "1.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f3b7eb4404b8195a9abb6356f4ac07d8ba267045c8d6d220ac4dc992e6cc75df"
++
++[[package]]
++name = "curl"
++version = "0.4.44"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
++dependencies = [
++ "curl-sys",
++ "libc",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "socket2",
++ "winapi",
++]
++
++[[package]]
++name = "curl-sys"
++version = "0.4.65+curl-8.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "961ba061c9ef2fe34bbd12b807152d96f0badd2bebe7b90ce6c8c8b7572a0986"
++dependencies = [
++ "cc",
++ "libc",
++ "libnghttp2-sys",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++ "vcpkg",
++ "winapi",
++]
++
++[[package]]
++name = "der"
++version = "0.7.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
++dependencies = [
++ "const-oid",
++ "pem-rfc7468",
++ "zeroize",
++]
++
++[[package]]
++name = "deranged"
++version = "0.3.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929"
++
++[[package]]
++name = "digest"
++version = "0.10.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
++dependencies = [
++ "block-buffer",
++ "const-oid",
++ "crypto-common",
++ "subtle",
++]
++
++[[package]]
++name = "ecdsa"
++version = "0.16.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4"
++dependencies = [
++ "der",
++ "digest",
++ "elliptic-curve",
++ "rfc6979",
++ "signature",
++ "spki",
++]
++
++[[package]]
++name = "ed25519-compact"
++version = "2.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6a3d382e8464107391c8706b4c14b087808ecb909f6c15c34114bc42e53a9e4c"
++dependencies = [
++ "getrandom",
++]
++
++[[package]]
++name = "either"
++version = "1.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
++
++[[package]]
++name = "elliptic-curve"
++version = "0.13.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
++dependencies = [
++ "base16ct",
++ "crypto-bigint",
++ "digest",
++ "ff",
++ "generic-array",
++ "group",
++ "hkdf",
++ "pem-rfc7468",
++ "pkcs8",
++ "rand_core",
++ "sec1",
++ "subtle",
++ "zeroize",
++]
++
++[[package]]
++name = "env_logger"
++version = "0.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
++dependencies = [
++ "humantime",
++ "is-terminal",
++ "log",
++ "regex",
++ "termcolor",
++]
++
++[[package]]
++name = "equivalent"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
++
++[[package]]
++name = "errno"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
++dependencies = [
++ "errno-dragonfly",
++ "libc",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "errno-dragonfly"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
++dependencies = [
++ "cc",
++ "libc",
++]
++
++[[package]]
++name = "fastrand"
++version = "2.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
++
++[[package]]
++name = "ff"
++version = "0.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
++dependencies = [
++ "rand_core",
++ "subtle",
++]
++
++[[package]]
++name = "fiat-crypto"
++version = "0.1.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
++
++[[package]]
++name = "filetime"
++version = "0.2.22"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "redox_syscall",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "flate2"
++version = "1.0.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
++dependencies = [
++ "crc32fast",
++ "libz-sys",
++ "miniz_oxide",
++]
++
++[[package]]
++name = "fnv"
++version = "1.0.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
++
++[[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
++dependencies = [
++ "foreign-types-shared",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++
++[[package]]
++name = "form_urlencoded"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
++dependencies = [
++ "percent-encoding",
++]
++
++[[package]]
++name = "fwdansi"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "08c1f5787fe85505d1f7777268db5103d80a7a374d2316a7ce262e57baf8f208"
++dependencies = [
++ "memchr",
++ "termcolor",
++]
++
++[[package]]
++name = "generic-array"
++version = "0.14.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
++dependencies = [
++ "typenum",
++ "version_check",
++ "zeroize",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.2.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
++dependencies = [
++ "cfg-if",
++ "js-sys",
++ "libc",
++ "wasi",
++ "wasm-bindgen",
++]
++
++[[package]]
++name = "git2"
++version = "0.16.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "be36bc9e0546df253c0cc41fd0af34f5e92845ad8509462ec76672fac6997f5b"
++dependencies = [
++ "bitflags 1.3.2",
++ "libc",
++ "libgit2-sys",
++ "log",
++ "openssl-probe",
++ "openssl-sys",
++ "url",
++]
++
++[[package]]
++name = "git2-curl"
++version = "0.17.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7577f4e6341ba7c90d883511130a45b956c274ba5f4d205d9f9da990f654cd33"
++dependencies = [
++ "curl",
++ "git2",
++ "log",
++ "url",
++]
++
++[[package]]
++name = "glob"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
++
++[[package]]
++name = "globset"
++version = "0.4.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d"
++dependencies = [
++ "aho-corasick",
++ "bstr",
++ "fnv",
++ "log",
++ "regex",
++]
++
++[[package]]
++name = "group"
++version = "0.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
++dependencies = [
++ "ff",
++ "rand_core",
++ "subtle",
++]
++
++[[package]]
++name = "hashbrown"
++version = "0.12.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
++
++[[package]]
++name = "hashbrown"
++version = "0.14.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
++
++[[package]]
++name = "heck"
++version = "0.4.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
++
++[[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.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
++
++[[package]]
++name = "hex"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
++
++[[package]]
++name = "hkdf"
++version = "0.12.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
++dependencies = [
++ "hmac",
++]
++
++[[package]]
++name = "hmac"
++version = "0.12.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
++dependencies = [
++ "digest",
++]
++
++[[package]]
++name = "home"
++version = "0.5.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
++dependencies = [
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "http-auth"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5430cacd7a1f9a02fbeb350dfc81a0e5ed42d81f3398cb0ba184017f85bdcfbc"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "humantime"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
++
++[[package]]
++name = "idna"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
++dependencies = [
++ "unicode-bidi",
++ "unicode-normalization",
++]
++
++[[package]]
++name = "ignore"
++version = "0.4.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
++dependencies = [
++ "globset",
++ "lazy_static",
++ "log",
++ "memchr",
++ "regex",
++ "same-file",
++ "thread_local",
++ "walkdir",
++ "winapi-util",
++]
++
++[[package]]
++name = "im-rc"
++version = "15.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe"
++dependencies = [
++ "bitmaps",
++ "rand_core",
++ "rand_xoshiro",
++ "sized-chunks",
++ "typenum",
++ "version_check",
++]
++
++[[package]]
++name = "indexmap"
++version = "1.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
++dependencies = [
++ "autocfg",
++ "hashbrown 0.12.3",
++]
++
++[[package]]
++name = "indexmap"
++version = "2.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
++dependencies = [
++ "equivalent",
++ "hashbrown 0.14.0",
++]
++
++[[package]]
++name = "is-terminal"
++version = "0.4.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
++dependencies = [
++ "hermit-abi 0.3.2",
++ "rustix",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "itertools"
++version = "0.10.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
++dependencies = [
++ "either",
++]
++
++[[package]]
++name = "itoa"
++version = "1.0.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
++
++[[package]]
++name = "jobserver"
++version = "0.1.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "js-sys"
++version = "0.3.64"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
++dependencies = [
++ "wasm-bindgen",
++]
++
++[[package]]
++name = "kstring"
++version = "2.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ec3066350882a1cd6d950d055997f379ac37fd39f81cd4d8ed186032eb3c5747"
++dependencies = [
++ "static_assertions",
++]
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++
++[[package]]
++name = "lazycell"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
++
++[[package]]
++name = "libc"
++version = "0.2.147"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
++
++[[package]]
++name = "libgit2-sys"
++version = "0.14.1+1.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4a07fb2692bc3593bda59de45a502bb3071659f2c515e28c71e728306b038e17"
++dependencies = [
++ "cc",
++ "libc",
++ "libssh2-sys",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++]
++
++[[package]]
++name = "libnghttp2-sys"
++version = "0.1.8+1.55.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4fae956c192dadcdb5dace96db71fa0b827333cce7c7b38dc71446f024d8a340"
++dependencies = [
++ "cc",
++ "libc",
++]
++
++[[package]]
++name = "libssh2-sys"
++version = "0.2.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b094a36eb4b8b8c8a7b4b8ae43b2944502be3e59cd87687595cf6b0a71b3f4ca"
++dependencies = [
++ "cc",
++ "libc",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "libz-sys"
++version = "1.1.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
++dependencies = [
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "linux-raw-sys"
++version = "0.4.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
++
++[[package]]
++name = "log"
++version = "0.4.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
++
++[[package]]
++name = "memchr"
++version = "2.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
++
++[[package]]
++name = "miniz_oxide"
++version = "0.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
++dependencies = [
++ "adler",
++]
++
++[[package]]
++name = "miow"
++version = "0.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "52ffbca2f655e33c08be35d87278e5b18b89550a37dbd598c20db92f6a471123"
++dependencies = [
++ "windows-sys 0.42.0",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.2.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
++dependencies = [
++ "autocfg",
++]
++
++[[package]]
++name = "once_cell"
++version = "1.18.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
++
++[[package]]
++name = "opener"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "293c15678e37254c15bd2f092314abb4e51d7fdde05c2021279c12631b54f005"
++dependencies = [
++ "bstr",
++ "winapi",
++]
++
++[[package]]
++name = "openssl"
++version = "0.10.56"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e"
++dependencies = [
++ "bitflags 1.3.2",
++ "cfg-if",
++ "foreign-types",
++ "libc",
++ "once_cell",
++ "openssl-macros",
++ "openssl-sys",
++]
++
++[[package]]
++name = "openssl-macros"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.28",
++]
++
++[[package]]
++name = "openssl-probe"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
++
++[[package]]
++name = "openssl-src"
++version = "111.27.0+1.1.1v"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "06e8f197c82d7511c5b014030c9b1efeda40d7d5f99d23b4ceed3524a5e63f02"
++dependencies = [
++ "cc",
++]
++
++[[package]]
++name = "openssl-sys"
++version = "0.9.91"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac"
++dependencies = [
++ "cc",
++ "libc",
++ "openssl-src",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "ordered-float"
++version = "2.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87"
++dependencies = [
++ "num-traits",
++]
++
++[[package]]
++name = "orion"
++version = "0.17.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b11468cc6afd61a126fe3f91cc4cc8a0dbe7917d0a4b5e8357ba91cc47444462"
++dependencies = [
++ "fiat-crypto",
++ "subtle",
++ "zeroize",
++]
++
++[[package]]
++name = "os_info"
++version = "3.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e"
++dependencies = [
++ "log",
++ "serde",
++ "winapi",
++]
++
++[[package]]
++name = "os_str_bytes"
++version = "6.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac"
++
++[[package]]
++name = "p384"
++version = "0.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209"
++dependencies = [
++ "ecdsa",
++ "elliptic-curve",
++ "primeorder",
++ "sha2",
++]
++
++[[package]]
++name = "pasetors"
++version = "0.6.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ba765699a309908d55950919a3445e9491453e89b2587b1b2abe4143a48894c0"
++dependencies = [
++ "ct-codecs",
++ "ed25519-compact",
++ "getrandom",
++ "orion",
++ "p384",
++ "rand_core",
++ "regex",
++ "serde",
++ "serde_json",
++ "sha2",
++ "subtle",
++ "time",
++ "zeroize",
++]
++
++[[package]]
++name = "pathdiff"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
++
++[[package]]
++name = "pem-rfc7468"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
++dependencies = [
++ "base64ct",
++]
++
++[[package]]
++name = "percent-encoding"
++version = "2.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
++
++[[package]]
++name = "pkcs8"
++version = "0.10.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
++dependencies = [
++ "der",
++ "spki",
++]
++
++[[package]]
++name = "pkg-config"
++version = "0.3.27"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
++
++[[package]]
++name = "primeorder"
++version = "0.13.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3"
++dependencies = [
++ "elliptic-curve",
++]
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.66"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
++dependencies = [
++ "unicode-ident",
++]
++
++[[package]]
++name = "quote"
++version = "1.0.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.6.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
++dependencies = [
++ "getrandom",
++]
++
++[[package]]
++name = "rand_xoshiro"
++version = "0.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa"
++dependencies = [
++ "rand_core",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.3.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
++dependencies = [
++ "bitflags 1.3.2",
++]
++
++[[package]]
++name = "regex"
++version = "1.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a"
++dependencies = [
++ "aho-corasick",
++ "memchr",
++ "regex-automata",
++ "regex-syntax",
++]
++
++[[package]]
++name = "regex-automata"
++version = "0.3.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69"
++dependencies = [
++ "aho-corasick",
++ "memchr",
++ "regex-syntax",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.7.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
++
++[[package]]
++name = "rfc6979"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2"
++dependencies = [
++ "hmac",
++ "subtle",
++]
++
++[[package]]
++name = "rustc-workspace-hack"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc71d2faa173b74b232dedc235e3ee1696581bb132fc116fa3626d6151a1a8fb"
++
++[[package]]
++name = "rustfix"
++version = "0.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ecd2853d9e26988467753bd9912c3a126f642d05d229a4b53f5752ee36c56481"
++dependencies = [
++ "anyhow",
++ "log",
++ "serde",
++ "serde_json",
++]
++
++[[package]]
++name = "rustix"
++version = "0.38.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f"
++dependencies = [
++ "bitflags 2.3.3",
++ "errno",
++ "libc",
++ "linux-raw-sys",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "ryu"
++version = "1.0.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
++
++[[package]]
++name = "same-file"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "schannel"
++version = "0.1.22"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
++dependencies = [
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "sec1"
++version = "0.7.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc"
++dependencies = [
++ "base16ct",
++ "der",
++ "generic-array",
++ "pkcs8",
++ "subtle",
++ "zeroize",
++]
++
++[[package]]
++name = "semver"
++version = "1.0.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "serde"
++version = "1.0.183"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c"
++dependencies = [
++ "serde_derive",
++]
++
++[[package]]
++name = "serde-value"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c"
++dependencies = [
++ "ordered-float",
++ "serde",
++]
++
++[[package]]
++name = "serde_derive"
++version = "1.0.183"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.28",
++]
++
++[[package]]
++name = "serde_ignored"
++version = "0.1.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "80c31d5c53fd39f208e770f5a20a0bb214dee2a8d0d8adba18e19ad95a482ca5"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "serde_json"
++version = "1.0.104"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c"
++dependencies = [
++ "itoa",
++ "ryu",
++ "serde",
++]
++
++[[package]]
++name = "serde_spanned"
++version = "0.6.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "sha1"
++version = "0.10.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
++dependencies = [
++ "cfg-if",
++ "cpufeatures",
++ "digest",
++]
++
++[[package]]
++name = "sha2"
++version = "0.10.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
++dependencies = [
++ "cfg-if",
++ "cpufeatures",
++ "digest",
++]
++
++[[package]]
++name = "shell-escape"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
++
++[[package]]
++name = "signature"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
++dependencies = [
++ "digest",
++ "rand_core",
++]
++
++[[package]]
++name = "sized-chunks"
++version = "0.6.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e"
++dependencies = [
++ "bitmaps",
++ "typenum",
++]
++
++[[package]]
++name = "socket2"
++version = "0.4.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
++dependencies = [
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "spki"
++version = "0.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
++dependencies = [
++ "base64ct",
++ "der",
++]
++
++[[package]]
++name = "static_assertions"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
++
++[[package]]
++name = "strip-ansi-escapes"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "011cbb39cf7c1f62871aea3cc46e5817b0937b49e9447370c93cacbe93a766d8"
++dependencies = [
++ "vte",
++]
++
++[[package]]
++name = "strsim"
++version = "0.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
++
++[[package]]
++name = "subtle"
++version = "2.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
++
++[[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.28"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-ident",
++]
++
++[[package]]
++name = "tar"
++version = "0.4.40"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
++dependencies = [
++ "filetime",
++ "libc",
++]
++
++[[package]]
++name = "tempfile"
++version = "3.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651"
++dependencies = [
++ "cfg-if",
++ "fastrand",
++ "redox_syscall",
++ "rustix",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "termcolor"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "textwrap"
++version = "0.16.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
++
++[[package]]
++name = "thread_local"
++version = "1.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
++dependencies = [
++ "cfg-if",
++ "once_cell",
++]
++
++[[package]]
++name = "time"
++version = "0.3.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea"
++dependencies = [
++ "deranged",
++ "itoa",
++ "serde",
++ "time-core",
++ "time-macros",
++]
++
++[[package]]
++name = "time-core"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
++
++[[package]]
++name = "time-macros"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd"
++dependencies = [
++ "time-core",
++]
++
++[[package]]
++name = "tinyvec"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
++dependencies = [
++ "tinyvec_macros",
++]
++
++[[package]]
++name = "tinyvec_macros"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
++
++[[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.7.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
++dependencies = [
++ "serde",
++ "serde_spanned",
++ "toml_datetime 0.6.3",
++ "toml_edit 0.19.14",
++]
++
++[[package]]
++name = "toml_datetime"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "toml_datetime"
++version = "0.6.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "toml_edit"
++version = "0.15.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b1541ba70885967e662f69d31ab3aeca7b1aaecfcd58679590b893e9239c3646"
++dependencies = [
++ "combine",
++ "indexmap 1.9.3",
++ "itertools",
++ "kstring",
++ "serde",
++ "toml_datetime 0.5.1",
++]
++
++[[package]]
++name = "toml_edit"
++version = "0.19.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
++dependencies = [
++ "indexmap 2.0.0",
++ "serde",
++ "serde_spanned",
++ "toml_datetime 0.6.3",
++ "winnow",
++]
++
++[[package]]
++name = "typenum"
++version = "1.16.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
++
++[[package]]
++name = "unicode-bidi"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
++
++[[package]]
++name = "unicode-ident"
++version = "1.0.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
++
++[[package]]
++name = "unicode-normalization"
++version = "0.1.22"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
++dependencies = [
++ "tinyvec",
++]
++
++[[package]]
++name = "unicode-width"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
++
++[[package]]
++name = "unicode-xid"
++version = "0.2.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
++
++[[package]]
++name = "url"
++version = "2.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
++dependencies = [
++ "form_urlencoded",
++ "idna",
++ "percent-encoding",
++]
++
++[[package]]
++name = "utf8parse"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
++
++[[package]]
++name = "vcpkg"
++version = "0.2.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
++
++[[package]]
++name = "version_check"
++version = "0.9.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
++
++[[package]]
++name = "vte"
++version = "0.10.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6cbce692ab4ca2f1f3047fcf732430249c0e971bfdd2b234cf2c47ad93af5983"
++dependencies = [
++ "arrayvec",
++ "utf8parse",
++ "vte_generate_state_changes",
++]
++
++[[package]]
++name = "vte_generate_state_changes"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff"
++dependencies = [
++ "proc-macro2",
++ "quote",
++]
++
++[[package]]
++name = "walkdir"
++version = "2.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
++dependencies = [
++ "same-file",
++ "winapi-util",
++]
++
++[[package]]
++name = "wasi"
++version = "0.11.0+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
++
++[[package]]
++name = "wasm-bindgen"
++version = "0.2.87"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
++dependencies = [
++ "cfg-if",
++ "wasm-bindgen-macro",
++]
++
++[[package]]
++name = "wasm-bindgen-backend"
++version = "0.2.87"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
++dependencies = [
++ "bumpalo",
++ "log",
++ "once_cell",
++ "proc-macro2",
++ "quote",
++ "syn 2.0.28",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-macro"
++version = "0.2.87"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
++dependencies = [
++ "quote",
++ "wasm-bindgen-macro-support",
++]
++
++[[package]]
++name = "wasm-bindgen-macro-support"
++version = "0.2.87"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.28",
++ "wasm-bindgen-backend",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-shared"
++version = "0.2.87"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
++
++[[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.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
++dependencies = [
++ "winapi",
++]
++
++[[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-sys"
++version = "0.42.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
++dependencies = [
++ "windows_aarch64_gnullvm 0.42.2",
++ "windows_aarch64_msvc 0.42.2",
++ "windows_i686_gnu 0.42.2",
++ "windows_i686_msvc 0.42.2",
++ "windows_x86_64_gnu 0.42.2",
++ "windows_x86_64_gnullvm 0.42.2",
++ "windows_x86_64_msvc 0.42.2",
++]
++
++[[package]]
++name = "windows-sys"
++version = "0.45.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
++dependencies = [
++ "windows-targets 0.42.2",
++]
++
++[[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.1",
++]
++
++[[package]]
++name = "windows-targets"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
++dependencies = [
++ "windows_aarch64_gnullvm 0.42.2",
++ "windows_aarch64_msvc 0.42.2",
++ "windows_i686_gnu 0.42.2",
++ "windows_i686_msvc 0.42.2",
++ "windows_x86_64_gnu 0.42.2",
++ "windows_x86_64_gnullvm 0.42.2",
++ "windows_x86_64_msvc 0.42.2",
++]
++
++[[package]]
++name = "windows-targets"
++version = "0.48.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
++dependencies = [
++ "windows_aarch64_gnullvm 0.48.0",
++ "windows_aarch64_msvc 0.48.0",
++ "windows_i686_gnu 0.48.0",
++ "windows_i686_msvc 0.48.0",
++ "windows_x86_64_gnu 0.48.0",
++ "windows_x86_64_gnullvm 0.48.0",
++ "windows_x86_64_msvc 0.48.0",
++]
++
++[[package]]
++name = "windows_aarch64_gnullvm"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
++
++[[package]]
++name = "windows_aarch64_gnullvm"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
++
++[[package]]
++name = "windows_aarch64_msvc"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
++
++[[package]]
++name = "windows_aarch64_msvc"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
++
++[[package]]
++name = "windows_i686_gnu"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
++
++[[package]]
++name = "windows_i686_gnu"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
++
++[[package]]
++name = "windows_i686_msvc"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
++
++[[package]]
++name = "windows_i686_msvc"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
++
++[[package]]
++name = "windows_x86_64_gnu"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
++
++[[package]]
++name = "windows_x86_64_gnu"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
++
++[[package]]
++name = "windows_x86_64_gnullvm"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
++
++[[package]]
++name = "windows_x86_64_gnullvm"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
++
++[[package]]
++name = "windows_x86_64_msvc"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
++
++[[package]]
++name = "windows_x86_64_msvc"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
++
++[[package]]
++name = "winnow"
++version = "0.5.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "19f495880723d0999eb3500a9064d8dbcf836460b24c17df80ea7b5794053aac"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "zeroize"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+--
+2.34.1
+
--
2.34.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCHV2 2/4] classes-recipe: add cargo_c.bbclass
2023-08-13 8:23 [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe frederic.martinsons
2023-08-13 8:23 ` [PATCHV2 1/4] rust: add cargo-c recipe frederic.martinsons
@ 2023-08-13 8:23 ` frederic.martinsons
2023-08-13 8:23 ` [PATCHV2 3/4] rust: provide examples for C library generation in rust frederic.martinsons
` (2 subsequent siblings)
4 siblings, 0 replies; 19+ messages in thread
From: frederic.martinsons @ 2023-08-13 8:23 UTC (permalink / raw)
To: openembedded-core
From: Frederic Martinsons <frederic.martinsons@gmail.com>
This class can be used inside rust recipe to generate
a rust library that can be called by C/C++ code.
The rust recipe which uses this class has to only replace
"inherit cargo" by "inherit cargo-c".
Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com>
---
meta/classes-recipe/cargo_c.bbclass | 41 +++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
create mode 100644 meta/classes-recipe/cargo_c.bbclass
diff --git a/meta/classes-recipe/cargo_c.bbclass b/meta/classes-recipe/cargo_c.bbclass
new file mode 100644
index 0000000000..c083f69c08
--- /dev/null
+++ b/meta/classes-recipe/cargo_c.bbclass
@@ -0,0 +1,41 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+##
+## Purpose:
+## This class is used by any recipes that want to compile a C ABI compatible
+## library with header and pkg config file
+
+inherit cargo pkgconfig
+
+# the binaries we will use
+CARGO_C_BUILD = "cargo-cbuild"
+CARGO_C_INSTALL = "cargo-cinstall"
+
+# We need cargo-c to compile for the target
+BASEDEPENDS:append = " cargo-c-native"
+
+do_compile[progress] = "outof:\s+(\d+)/(\d+)"
+cargo_c_do_compile() {
+ oe_cargo_fix_env
+ export RUSTFLAGS="${RUSTFLAGS}"
+ bbnote "Using rust targets from ${RUST_TARGET_PATH}"
+ bbnote "cargo-cbuild = $(which ${CARGO_C_BUILD})"
+ bbnote "${CARGO_C_BUILD} cbuild ${CARGO_BUILD_FLAGS}"
+ "${CARGO_C_BUILD}" cbuild ${CARGO_BUILD_FLAGS}
+}
+
+cargo_c_do_install() {
+ oe_cargo_fix_env
+ export RUSTFLAGS="${RUSTFLAGS}"
+ bbnote "cargo-cinstall = $(which ${CARGO_C_INSTALL})"
+ "${CARGO_C_INSTALL}" cinstall ${CARGO_BUILD_FLAGS} \
+ --destdir ${D} \
+ --prefix /usr \
+ --library-type cdylib
+}
+
+EXPORT_FUNCTIONS do_compile do_install
--
2.34.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCHV2 3/4] rust: provide examples for C library generation in rust
2023-08-13 8:23 [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe frederic.martinsons
2023-08-13 8:23 ` [PATCHV2 1/4] rust: add cargo-c recipe frederic.martinsons
2023-08-13 8:23 ` [PATCHV2 2/4] classes-recipe: add cargo_c.bbclass frederic.martinsons
@ 2023-08-13 8:23 ` frederic.martinsons
2023-08-13 8:23 ` [PATCHV2 4/4] oeqa/runtime/rust: correct rust test frederic.martinsons
2023-08-13 10:23 ` [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe Richard Purdie
4 siblings, 0 replies; 19+ messages in thread
From: frederic.martinsons @ 2023-08-13 8:23 UTC (permalink / raw)
To: openembedded-core
From: Frederic Martinsons <frederic.martinsons@gmail.com>
rust-c-lib-example is a little rust code which provide
a single function to print a formatted date (via the chrono crate)
from an input timestamp in millisecond. It has the necessary FFI
annotation and inherit cargo_c class for the C ABI compatible
library generation.
rust-c-lib-example is meson project for the C code which
will call the print_date function from rust-c-lib-example
if no argument is provided, if any argument is provided
it will print "Hello world in rust from C!"
add a runtime test case to check if all went well.
Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com>
---
.../rust/rust-c-lib-example-bin_git.bb | 16 ++++
.../rust/rust-c-lib-example-crates.inc | 79 +++++++++++++++++++
.../rust/rust-c-lib-example_git.bb | 15 ++++
meta/conf/distro/include/maintainers.inc | 2 +
meta/lib/oeqa/runtime/cases/rust.py | 12 +++
5 files changed, 124 insertions(+)
create mode 100644 meta-selftest/recipes-devtools/rust/rust-c-lib-example-bin_git.bb
create mode 100644 meta-selftest/recipes-devtools/rust/rust-c-lib-example-crates.inc
create mode 100644 meta-selftest/recipes-devtools/rust/rust-c-lib-example_git.bb
diff --git a/meta-selftest/recipes-devtools/rust/rust-c-lib-example-bin_git.bb b/meta-selftest/recipes-devtools/rust/rust-c-lib-example-bin_git.bb
new file mode 100644
index 0000000000..47d878597a
--- /dev/null
+++ b/meta-selftest/recipes-devtools/rust/rust-c-lib-example-bin_git.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "A simple example for C wrapper around a rust library"
+HOMEPAGE = "https://gitlab.com/fmartinsonsHome/rust-c-lib-example"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cb9c441273ed8a029701a086befbfc63"
+
+SRC_URI = " \
+ git://gitlab.com/fmartinsonsHome/rust-c-lib-example.git;branch=main;protocol=https \
+"
+
+SRCREV = "fc53c457f69aa5221ec1f8619a007e8150db5e60"
+S = "${WORKDIR}/git"
+
+DEPENDS = "rust-c-lib-example"
+
+inherit meson pkgconfig
+
diff --git a/meta-selftest/recipes-devtools/rust/rust-c-lib-example-crates.inc b/meta-selftest/recipes-devtools/rust/rust-c-lib-example-crates.inc
new file mode 100644
index 0000000000..05f5949203
--- /dev/null
+++ b/meta-selftest/recipes-devtools/rust/rust-c-lib-example-crates.inc
@@ -0,0 +1,79 @@
+SRC_URI += " \
+ crate://crates.io/android-tzdata/0.1.1 \
+ crate://crates.io/android_system_properties/0.1.5 \
+ crate://crates.io/autocfg/1.1.0 \
+ crate://crates.io/bumpalo/3.13.0 \
+ crate://crates.io/cc/1.0.82 \
+ crate://crates.io/cfg-if/1.0.0 \
+ crate://crates.io/chrono/0.4.26 \
+ crate://crates.io/core-foundation-sys/0.8.4 \
+ crate://crates.io/iana-time-zone/0.1.57 \
+ crate://crates.io/iana-time-zone-haiku/0.1.2 \
+ crate://crates.io/js-sys/0.3.64 \
+ crate://crates.io/libc/0.2.147 \
+ crate://crates.io/log/0.4.19 \
+ crate://crates.io/num-traits/0.2.16 \
+ crate://crates.io/once_cell/1.18.0 \
+ crate://crates.io/proc-macro2/1.0.66 \
+ crate://crates.io/quote/1.0.32 \
+ crate://crates.io/syn/2.0.28 \
+ crate://crates.io/time/0.1.45 \
+ crate://crates.io/unicode-ident/1.0.11 \
+ crate://crates.io/wasi/0.10.0+wasi-snapshot-preview1 \
+ crate://crates.io/wasm-bindgen/0.2.87 \
+ crate://crates.io/wasm-bindgen-backend/0.2.87 \
+ crate://crates.io/wasm-bindgen-macro/0.2.87 \
+ crate://crates.io/wasm-bindgen-macro-support/0.2.87 \
+ crate://crates.io/wasm-bindgen-shared/0.2.87 \
+ crate://crates.io/winapi/0.3.9 \
+ crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+ crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+ crate://crates.io/windows/0.48.0 \
+ crate://crates.io/windows-targets/0.48.1 \
+ crate://crates.io/windows_aarch64_gnullvm/0.48.0 \
+ crate://crates.io/windows_aarch64_msvc/0.48.0 \
+ crate://crates.io/windows_i686_gnu/0.48.0 \
+ crate://crates.io/windows_i686_msvc/0.48.0 \
+ crate://crates.io/windows_x86_64_gnu/0.48.0 \
+ crate://crates.io/windows_x86_64_gnullvm/0.48.0 \
+ crate://crates.io/windows_x86_64_msvc/0.48.0 \
+"
+
+SRC_URI[android-tzdata-0.1.1.sha256sum] = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+SRC_URI[bumpalo-3.13.0.sha256sum] = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+SRC_URI[cc-1.0.82.sha256sum] = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01"
+SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+SRC_URI[chrono-0.4.26.sha256sum] = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+SRC_URI[core-foundation-sys-0.8.4.sha256sum] = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+SRC_URI[iana-time-zone-0.1.57.sha256sum] = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+SRC_URI[js-sys-0.3.64.sha256sum] = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+SRC_URI[log-0.4.19.sha256sum] = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+SRC_URI[num-traits-0.2.16.sha256sum] = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
+SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+SRC_URI[proc-macro2-1.0.66.sha256sum] = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+SRC_URI[quote-1.0.32.sha256sum] = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
+SRC_URI[syn-2.0.28.sha256sum] = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567"
+SRC_URI[time-0.1.45.sha256sum] = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
+SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+SRC_URI[wasi-0.10.0+wasi-snapshot-preview1.sha256sum] = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
+SRC_URI[wasm-bindgen-0.2.87.sha256sum] = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+SRC_URI[wasm-bindgen-backend-0.2.87.sha256sum] = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+SRC_URI[wasm-bindgen-macro-0.2.87.sha256sum] = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+SRC_URI[wasm-bindgen-macro-support-0.2.87.sha256sum] = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+SRC_URI[wasm-bindgen-shared-0.2.87.sha256sum] = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+SRC_URI[windows-0.48.0.sha256sum] = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+SRC_URI[windows-targets-0.48.1.sha256sum] = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
+SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
diff --git a/meta-selftest/recipes-devtools/rust/rust-c-lib-example_git.bb b/meta-selftest/recipes-devtools/rust/rust-c-lib-example_git.bb
new file mode 100644
index 0000000000..6e7c250b92
--- /dev/null
+++ b/meta-selftest/recipes-devtools/rust/rust-c-lib-example_git.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "A simple example for rust C library"
+HOMEPAGE = "https://gitlab.com/fmartinsonsHome/rust-c-lib-example"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cb9c441273ed8a029701a086befbfc63"
+
+SRC_URI = " \
+ git://gitlab.com/fmartinsonsHome/rust-c-lib-example.git;branch=main;protocol=https \
+"
+
+SRCREV = "fc53c457f69aa5221ec1f8619a007e8150db5e60"
+S = "${WORKDIR}/git"
+
+inherit cargo_c
+
+require ${BPN}-crates.inc
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 202e5739a0..b9fda0db09 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -734,6 +734,8 @@ RECIPE_MAINTAINER:pn-ruby = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-run-postinsts = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-rust = "Randy MacLeod <Randy.MacLeod@windriver.com>"
RECIPE_MAINTAINER:pn-rust-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Randy MacLeod <Randy.MacLeod@windriver.com>"
+RECIPE_MAINTAINER:pn-rust-c-lib-example = "Frederic Martinsons <frederic.martinsons@gmail.com>"
+RECIPE_MAINTAINER:pn-rust-c-lib-example-bin = "Frederic Martinsons <frederic.martinsons@gmail.com>"
RECIPE_MAINTAINER:pn-rust-llvm = "Randy MacLeod <Randy.MacLeod@windriver.com>"
RECIPE_MAINTAINER:pn-rxvt-unicode = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-sato-screenshot = "Ross Burton <ross.burton@arm.com>"
diff --git a/meta/lib/oeqa/runtime/cases/rust.py b/meta/lib/oeqa/runtime/cases/rust.py
index 9bf0312669..e709e4f8aa 100644
--- a/meta/lib/oeqa/runtime/cases/rust.py
+++ b/meta/lib/oeqa/runtime/cases/rust.py
@@ -48,3 +48,15 @@ class RustCompileTest(OERuntimeTestCase):
status, output = self.target.run('cargo run --manifest-path=/tmp/hello/Cargo.toml')
msg = 'running compiled file failed, output: %s' % output
self.assertEqual(status, 0, msg=msg)
+
+class RustCLibExampleTest(OERuntimeTestCase):
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ @OEHasPackage(['rust-c-lib-example-bin'])
+ def test_rust_c_lib_example(self):
+ cmd = "rust-c-lib-example-bin test"
+ status, output = self.target.run(cmd)
+ msg = 'Exit status was not 0. Output: %s' % output
+ self.assertEqual(status, 0, msg=msg)
+
+ msg = 'Incorrect output: %s' % output
+ self.assertEqual(output, "Hello world in rust from C!", msg=msg)
--
2.34.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCHV2 4/4] oeqa/runtime/rust: correct rust test
2023-08-13 8:23 [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe frederic.martinsons
` (2 preceding siblings ...)
2023-08-13 8:23 ` [PATCHV2 3/4] rust: provide examples for C library generation in rust frederic.martinsons
@ 2023-08-13 8:23 ` frederic.martinsons
2023-08-13 10:23 ` [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe Richard Purdie
4 siblings, 0 replies; 19+ messages in thread
From: frederic.martinsons @ 2023-08-13 8:23 UTC (permalink / raw)
To: openembedded-core
From: Frederic Martinsons <frederic.martinsons@gmail.com>
Since setUp of RustCompileTest use cls.tc.copyTo, those tests needs the scp command:
NOTE: ======================================================================
NOTE: FAIL: test_cargo_compile (rust.RustCompileTest)
NOTE: ----------------------------------------------------------------------
NOTE: Traceback (most recent call last):
File "/home/jenkins/yocto-poky-master/poky/meta/lib/oeqa/core/case.py", line 53, in _oeSetUp
self.setUpMethod()
File "/home/jenkins/yocto-poky-master/poky/meta/lib/oeqa/runtime/cases/rust.py", line 17, in setUp
cls.tc.target.copyTo(src, dst)
File "/home/jenkins/yocto-poky-master/poky/meta/lib/oeqa/core/target/ssh.py", line 132, in copyTo
return self._run(scpCmd, ignore_status=False)
File "/home/jenkins/yocto-poky-master/poky/meta/lib/oeqa/core/target/ssh.py", line 81, in _run
raise AssertionError("Command '%s' returned non-zero exit "
AssertionError: Command '['scp', '-o', 'ServerAliveCountMax=2', '-o', 'ServerAliveInterval=30', '-o', 'UserKnownHostsFile=/dev/null', '-o', 'StrictHostKeyChecking=no', '-o', 'LogLevel=ERROR', '-r', '-P', '2222', '/home/jenkins/yocto-poky-master/poky/meta/lib/oeqa/files/test.rs', 'root@127.0.0.1:/tmp/']' returned non-zero exit status 1:
sh: scp: not found
lost connection
Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com>
---
meta/lib/oeqa/runtime/cases/rust.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta/lib/oeqa/runtime/cases/rust.py b/meta/lib/oeqa/runtime/cases/rust.py
index e709e4f8aa..fa6fe486e4 100644
--- a/meta/lib/oeqa/runtime/cases/rust.py
+++ b/meta/lib/oeqa/runtime/cases/rust.py
@@ -24,7 +24,7 @@ class RustCompileTest(OERuntimeTestCase):
cls.tc.target.run('rm -r %s' % dirs)
@OETestDepends(['ssh.SSHTest.test_ssh'])
- @OEHasPackage(['rust'])
+ @OEHasPackage(['rust', 'openssh-scp'])
def test_rust_compile(self):
status, output = self.target.run('rustc /tmp/test.rs -o /tmp/test')
msg = 'rust compile failed, output: %s' % output
@@ -35,7 +35,7 @@ class RustCompileTest(OERuntimeTestCase):
self.assertEqual(status, 0, msg=msg)
@OETestDepends(['ssh.SSHTest.test_ssh'])
- @OEHasPackage(['cargo'])
+ @OEHasPackage(['cargo', 'openssh-scp'])
def test_cargo_compile(self):
status, output = self.target.run('cargo new /tmp/hello')
msg = 'cargo new failed, output: %s' % output
--
2.34.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe
2023-08-13 8:23 [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe frederic.martinsons
` (3 preceding siblings ...)
2023-08-13 8:23 ` [PATCHV2 4/4] oeqa/runtime/rust: correct rust test frederic.martinsons
@ 2023-08-13 10:23 ` Richard Purdie
2023-08-13 10:48 ` Frédéric Martinsons
4 siblings, 1 reply; 19+ messages in thread
From: Richard Purdie @ 2023-08-13 10:23 UTC (permalink / raw)
To: Frederic Martinsons, openembedded-core
On Sun, 2023-08-13 at 10:23 +0200, Frederic Martinsons wrote:
> From: Frederic Martinsons <frederic.martinsons@gmail.com>
>
> This is an RFC for introducing a new class and recipes that
> help building C-ABI compatible header and library around
> rust code.
>
> The third patch add examples and test to demonstrate
> the usage and the good working of this use case.
>
> Test have been passed with the following in local.conf:
>
> CORE_IMAGE_EXTRA_INSTALL:append = " openssh-sshd openssh-scp cargo rust rust-c-lib-example-bin"
> IMAGE_CLASSES += "testimage"
> TEST_SUITES = "ping ssh rust"
> # To use slirp option in testimage.bbclass
> TEST_RUNQEMUPARAMS = "slirp"
> TEST_SERVER_IP = "127.0.0.1"
> QEMU_USE_SLIRP = "1"
In testing it showed:
stdio: WARNING: cargo-c-0.9.18-r0 do_recipe_qa: QA Issue: Recipe cargo-c in /home/pokybuild/yocto-worker/a-full/build/meta/recipes-devtools/rust/cargo-c_0.9.18.bb does not contain a SUMMARY. Please add an entry. [missing-metadata]
stdio: WARNING: cargo-c-native-0.9.18-r0 do_recipe_qa: QA Issue: Recipe cargo-c in /home/pokybuild/yocto-worker/a-full/build/meta/recipes-devtools/rust/cargo-c_0.9.18.bb does not contain a SUMMARY. Please add an entry. [missing-metadata]
stdio: WARNING: nativesdk-cargo-c-0.9.18-r0 do_recipe_qa: QA Issue: Recipe cargo-c in /home/pokybuild/yocto-worker/a-full/build/meta/recipes-devtools/rust/cargo-c_0.9.18.bb does not contain a SUMMARY. Please add an entry. [missing-metadata]
Cheers,
Richard
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe
2023-08-13 10:23 ` [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe Richard Purdie
@ 2023-08-13 10:48 ` Frédéric Martinsons
2023-08-13 11:22 ` Richard Purdie
[not found] ` <177AED879B83B027.8497@lists.openembedded.org>
0 siblings, 2 replies; 19+ messages in thread
From: Frédéric Martinsons @ 2023-08-13 10:48 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 1887 bytes --]
Le dim. 13 août 2023, 12:23, Richard Purdie <
richard.purdie@linuxfoundation.org> a écrit :
> On Sun, 2023-08-13 at 10:23 +0200, Frederic Martinsons wrote:
> > From: Frederic Martinsons <frederic.martinsons@gmail.com>
> >
> > This is an RFC for introducing a new class and recipes that
> > help building C-ABI compatible header and library around
> > rust code.
> >
> > The third patch add examples and test to demonstrate
> > the usage and the good working of this use case.
> >
> > Test have been passed with the following in local.conf:
> >
> > CORE_IMAGE_EXTRA_INSTALL:append = " openssh-sshd openssh-scp cargo rust
> rust-c-lib-example-bin"
> > IMAGE_CLASSES += "testimage"
> > TEST_SUITES = "ping ssh rust"
> > # To use slirp option in testimage.bbclass
> > TEST_RUNQEMUPARAMS = "slirp"
> > TEST_SERVER_IP = "127.0.0.1"
> > QEMU_USE_SLIRP = "1"
>
> In testing it showed:
>
> stdio: WARNING: cargo-c-0.9.18-r0 do_recipe_qa: QA Issue: Recipe cargo-c
> in /home/pokybuild/yocto-worker/a-full/build/meta/recipes-devtools/rust/
> cargo-c_0.9.18.bb does not contain a SUMMARY. Please add an entry.
> [missing-metadata]
> stdio: WARNING: cargo-c-native-0.9.18-r0 do_recipe_qa: QA Issue: Recipe
> cargo-c in
> /home/pokybuild/yocto-worker/a-full/build/meta/recipes-devtools/rust/
> cargo-c_0.9.18.bb does not contain a SUMMARY. Please add an entry.
> [missing-metadata]
> stdio: WARNING: nativesdk-cargo-c-0.9.18-r0 do_recipe_qa: QA Issue: Recipe
> cargo-c in
> /home/pokybuild/yocto-worker/a-full/build/meta/recipes-devtools/rust/
> cargo-c_0.9.18.bb does not contain a SUMMARY. Please add an entry.
> [missing-metadata]
>
Thanks Richard, will take care of that soon.
Can you tell me what commands do you run to have that sanity check? It will
avoid me to do the same mistake next time I'll add a recipe.
> Cheers,
>
> Richard
>
[-- Attachment #2: Type: text/html, Size: 3105 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe
2023-08-13 10:48 ` Frédéric Martinsons
@ 2023-08-13 11:22 ` Richard Purdie
[not found] ` <177AED879B83B027.8497@lists.openembedded.org>
1 sibling, 0 replies; 19+ messages in thread
From: Richard Purdie @ 2023-08-13 11:22 UTC (permalink / raw)
To: Frédéric Martinsons; +Cc: openembedded-core
On Sun, 2023-08-13 at 12:48 +0200, Frédéric Martinsons wrote:
>
>
> Le dim. 13 août 2023, 12:23, Richard Purdie
> <richard.purdie@linuxfoundation.org> a écrit :
> > On Sun, 2023-08-13 at 10:23 +0200, Frederic Martinsons wrote:
> > > From: Frederic Martinsons <frederic.martinsons@gmail.com>
> > >
> > > This is an RFC for introducing a new class and recipes that
> > > help building C-ABI compatible header and library around
> > > rust code.
> > >
> > > The third patch add examples and test to demonstrate
> > > the usage and the good working of this use case.
> > >
> > > Test have been passed with the following in local.conf:
> > >
> > > CORE_IMAGE_EXTRA_INSTALL:append = " openssh-sshd openssh-scp
> > > cargo rust rust-c-lib-example-bin"
> > > IMAGE_CLASSES += "testimage"
> > > TEST_SUITES = "ping ssh rust"
> > > # To use slirp option in testimage.bbclass
> > > TEST_RUNQEMUPARAMS = "slirp"
> > > TEST_SERVER_IP = "127.0.0.1"
> > > QEMU_USE_SLIRP = "1"
> >
> > In testing it showed:
> >
> > stdio: WARNING: cargo-c-0.9.18-r0 do_recipe_qa: QA Issue: Recipe
> > cargo-c in /home/pokybuild/yocto-worker/a-full/build/meta/recipes-
> > devtools/rust/cargo-c_0.9.18.bb does not contain a SUMMARY. Please
> > add an entry. [missing-metadata]
> > stdio: WARNING: cargo-c-native-0.9.18-r0 do_recipe_qa: QA Issue:
> > Recipe cargo-c in /home/pokybuild/yocto-worker/a-
> > full/build/meta/recipes-devtools/rust/cargo-c_0.9.18.bb does not
> > contain a SUMMARY. Please add an entry. [missing-metadata]
> > stdio: WARNING: nativesdk-cargo-c-0.9.18-r0 do_recipe_qa: QA Issue:
> > Recipe cargo-c in /home/pokybuild/yocto-worker/a-
> > full/build/meta/recipes-devtools/rust/cargo-c_0.9.18.bb does not
> > contain a SUMMARY. Please add an entry. [missing-metadata]
>
> Thanks Richard, will take care of that soon.
>
> Can you tell me what commands do you run to have that sanity check?
> It will avoid me to do the same mistake next time I'll add a recipe.
It should just show up building the recipe (e.g. "bitbake cargo-c")?
There are further build failures:
https://autobuilder.yoctoproject.org/typhoon/#/builders/101/builds/6361/steps/14/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/110/builds/6484/steps/14/logs/stdio
and the build isn't finished yet so Is suspect there will be more.
Cheers,
Richard
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe
[not found] ` <177AED879B83B027.8497@lists.openembedded.org>
@ 2023-08-13 13:09 ` Richard Purdie
2023-08-13 14:57 ` Frédéric Martinsons
[not found] ` <177AF35A822C5F89.12117@lists.openembedded.org>
1 sibling, 1 reply; 19+ messages in thread
From: Richard Purdie @ 2023-08-13 13:09 UTC (permalink / raw)
To: Frédéric Martinsons; +Cc: openembedded-core
On Sun, 2023-08-13 at 12:22 +0100, Richard Purdie via
lists.openembedded.org wrote:
> On Sun, 2023-08-13 at 12:48 +0200, Frédéric Martinsons wrote:
> >
> >
> > Le dim. 13 août 2023, 12:23, Richard Purdie
> > <richard.purdie@linuxfoundation.org> a écrit :
> > > On Sun, 2023-08-13 at 10:23 +0200, Frederic Martinsons wrote:
> > > > From: Frederic Martinsons <frederic.martinsons@gmail.com>
> > > >
> > > > This is an RFC for introducing a new class and recipes that
> > > > help building C-ABI compatible header and library around
> > > > rust code.
> > > >
> > > > The third patch add examples and test to demonstrate
> > > > the usage and the good working of this use case.
> > > >
> > > > Test have been passed with the following in local.conf:
> > > >
> > > > CORE_IMAGE_EXTRA_INSTALL:append = " openssh-sshd openssh-scp
> > > > cargo rust rust-c-lib-example-bin"
> > > > IMAGE_CLASSES += "testimage"
> > > > TEST_SUITES = "ping ssh rust"
> > > > # To use slirp option in testimage.bbclass
> > > > TEST_RUNQEMUPARAMS = "slirp"
> > > > TEST_SERVER_IP = "127.0.0.1"
> > > > QEMU_USE_SLIRP = "1"
> > >
> > > In testing it showed:
> > >
> > > stdio: WARNING: cargo-c-0.9.18-r0 do_recipe_qa: QA Issue: Recipe
> > > cargo-c in /home/pokybuild/yocto-worker/a-full/build/meta/recipes-
> > > devtools/rust/cargo-c_0.9.18.bb does not contain a SUMMARY. Please
> > > add an entry. [missing-metadata]
> > > stdio: WARNING: cargo-c-native-0.9.18-r0 do_recipe_qa: QA Issue:
> > > Recipe cargo-c in /home/pokybuild/yocto-worker/a-
> > > full/build/meta/recipes-devtools/rust/cargo-c_0.9.18.bb does not
> > > contain a SUMMARY. Please add an entry. [missing-metadata]
> > > stdio: WARNING: nativesdk-cargo-c-0.9.18-r0 do_recipe_qa: QA Issue:
> > > Recipe cargo-c in /home/pokybuild/yocto-worker/a-
> > > full/build/meta/recipes-devtools/rust/cargo-c_0.9.18.bb does not
> > > contain a SUMMARY. Please add an entry. [missing-metadata]
> >
> > Thanks Richard, will take care of that soon.
> >
> > Can you tell me what commands do you run to have that sanity check?
> > It will avoid me to do the same mistake next time I'll add a recipe.
>
> It should just show up building the recipe (e.g. "bitbake cargo-c")?
>
> There are further build failures:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/101/builds/6361/steps/14/logs/stdio
> https://autobuilder.yoctoproject.org/typhoon/#/builders/110/builds/6484/steps/14/logs/stdio
>
> and the build isn't finished yet so Is suspect there will be more.
https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/5606/steps/15/logs/stdio
not all of those failures are your patches but:
2023-08-13 12:38:57,894 - oe-selftest - INFO - ======================================================================
2023-08-13 12:38:57,894 - oe-selftest - INFO - FAIL: distrodata.Distrodata.test_maintainers (subunit.RemotedTestCase)
2023-08-13 12:38:57,894 - oe-selftest - INFO - ----------------------------------------------------------------------
2023-08-13 12:38:57,894 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last):
File "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/selftest/cases/distrodata.py", line 115, in test_maintainers
self.fail("""
File "/home/pokybuild/yocto-worker/oe-selftest-centos/build/buildtools/sysroots/x86_64-pokysdk-linux/usr/lib/python3.11/unittest/case.py", line 703, in fail
raise self.failureException(msg)
AssertionError:
Unable to find recipes for the following entries in maintainers.inc:
rust-c-lib-example
rust-c-lib-example-bin
and this:
Traceback (most recent call last):
File "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/runtime/cases/rust.py", line 31, in test_rust_compile
self.assertEqual(status, 0, msg=msg)
AssertionError: 127 != 0 : rust compile failed, output: sh: rustc: not found
probably is are, so 2 of the 6 failures. The other 4 are "mine" :/.
Cheers,
Richard
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe
[not found] ` <177AF35A822C5F89.12117@lists.openembedded.org>
@ 2023-08-13 14:53 ` Richard Purdie
2023-08-13 15:00 ` Frédéric Martinsons
0 siblings, 1 reply; 19+ messages in thread
From: Richard Purdie @ 2023-08-13 14:53 UTC (permalink / raw)
To: Frédéric Martinsons; +Cc: openembedded-core
On Sun, 2023-08-13 at 14:09 +0100, Richard Purdie via
lists.openembedded.org wrote:
> On Sun, 2023-08-13 at 12:22 +0100, Richard Purdie via
> lists.openembedded.org wrote:
> > On Sun, 2023-08-13 at 12:48 +0200, Frédéric Martinsons wrote:
> > >
> > >
> > > Le dim. 13 août 2023, 12:23, Richard Purdie
> > > <richard.purdie@linuxfoundation.org> a écrit :
> > > > On Sun, 2023-08-13 at 10:23 +0200, Frederic Martinsons wrote:
> > > > > From: Frederic Martinsons <frederic.martinsons@gmail.com>
> > > > >
> > > > > This is an RFC for introducing a new class and recipes that
> > > > > help building C-ABI compatible header and library around
> > > > > rust code.
> > > > >
> > > > > The third patch add examples and test to demonstrate
> > > > > the usage and the good working of this use case.
> > > > >
> > > > > Test have been passed with the following in local.conf:
> > > > >
> > > > > CORE_IMAGE_EXTRA_INSTALL:append = " openssh-sshd openssh-scp
> > > > > cargo rust rust-c-lib-example-bin"
> > > > > IMAGE_CLASSES += "testimage"
> > > > > TEST_SUITES = "ping ssh rust"
> > > > > # To use slirp option in testimage.bbclass
> > > > > TEST_RUNQEMUPARAMS = "slirp"
> > > > > TEST_SERVER_IP = "127.0.0.1"
> > > > > QEMU_USE_SLIRP = "1"
> > > >
> > > > In testing it showed:
> > > >
> > > > stdio: WARNING: cargo-c-0.9.18-r0 do_recipe_qa: QA Issue: Recipe
> > > > cargo-c in /home/pokybuild/yocto-worker/a-full/build/meta/recipes-
> > > > devtools/rust/cargo-c_0.9.18.bb does not contain a SUMMARY. Please
> > > > add an entry. [missing-metadata]
> > > > stdio: WARNING: cargo-c-native-0.9.18-r0 do_recipe_qa: QA Issue:
> > > > Recipe cargo-c in /home/pokybuild/yocto-worker/a-
> > > > full/build/meta/recipes-devtools/rust/cargo-c_0.9.18.bb does not
> > > > contain a SUMMARY. Please add an entry. [missing-metadata]
> > > > stdio: WARNING: nativesdk-cargo-c-0.9.18-r0 do_recipe_qa: QA Issue:
> > > > Recipe cargo-c in /home/pokybuild/yocto-worker/a-
> > > > full/build/meta/recipes-devtools/rust/cargo-c_0.9.18.bb does not
> > > > contain a SUMMARY. Please add an entry. [missing-metadata]
> > >
> > > Thanks Richard, will take care of that soon.
> > >
> > > Can you tell me what commands do you run to have that sanity check?
> > > It will avoid me to do the same mistake next time I'll add a recipe.
> >
> > It should just show up building the recipe (e.g. "bitbake cargo-c")?
> >
> > There are further build failures:
> >
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/101/builds/6361/steps/14/logs/stdio
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/110/builds/6484/steps/14/logs/stdio
> >
> > and the build isn't finished yet so Is suspect there will be more.
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/5606/steps/15/logs/stdio
>
> not all of those failures are your patches but:
>
> 2023-08-13 12:38:57,894 - oe-selftest - INFO - ======================================================================
> 2023-08-13 12:38:57,894 - oe-selftest - INFO - FAIL: distrodata.Distrodata.test_maintainers (subunit.RemotedTestCase)
> 2023-08-13 12:38:57,894 - oe-selftest - INFO - ----------------------------------------------------------------------
> 2023-08-13 12:38:57,894 - oe-selftest - INFO - testtools.testresult.real._StringException: Traceback (most recent call last):
> File "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/selftest/cases/distrodata.py", line 115, in test_maintainers
> self.fail("""
> File "/home/pokybuild/yocto-worker/oe-selftest-centos/build/buildtools/sysroots/x86_64-pokysdk-linux/usr/lib/python3.11/unittest/case.py", line 703, in fail
> raise self.failureException(msg)
> AssertionError:
> Unable to find recipes for the following entries in maintainers.inc:
> rust-c-lib-example
> rust-c-lib-example-bin
>
>
> and this:
>
> Traceback (most recent call last):
> File "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
> return func(*args, **kwargs)
> ^^^^^^^^^^^^^^^^^^^^^
> File "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/core/decorator/__init__.py", line 35, in wrapped_f
> return func(*args, **kwargs)
> ^^^^^^^^^^^^^^^^^^^^^
> File "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/runtime/cases/rust.py", line 31, in test_rust_compile
> self.assertEqual(status, 0, msg=msg)
> AssertionError: 127 != 0 : rust compile failed, output: sh: rustc: not found
>
>
> probably is are, so 2 of the 6 failures. The other 4 are "mine" :/.
>
and a reproducibility failure:
https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3355/steps/13/logs/stdio
which leads to:
http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20230813-z_b2j3ha/packages/diff-html/
Cheers,
Richard
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe
2023-08-13 13:09 ` Richard Purdie
@ 2023-08-13 14:57 ` Frédéric Martinsons
2023-08-15 15:52 ` Frédéric Martinsons
0 siblings, 1 reply; 19+ messages in thread
From: Frédéric Martinsons @ 2023-08-13 14:57 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 5420 bytes --]
On Sun, 13 Aug 2023 at 15:09, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:
> On Sun, 2023-08-13 at 12:22 +0100, Richard Purdie via
> lists.openembedded.org wrote:
> > On Sun, 2023-08-13 at 12:48 +0200, Frédéric Martinsons wrote:
> > >
> > >
> > > Le dim. 13 août 2023, 12:23, Richard Purdie
> > > <richard.purdie@linuxfoundation.org> a écrit :
> > > > On Sun, 2023-08-13 at 10:23 +0200, Frederic Martinsons wrote:
> > > > > From: Frederic Martinsons <frederic.martinsons@gmail.com>
> > > > >
> > > > > This is an RFC for introducing a new class and recipes that
> > > > > help building C-ABI compatible header and library around
> > > > > rust code.
> > > > >
> > > > > The third patch add examples and test to demonstrate
> > > > > the usage and the good working of this use case.
> > > > >
> > > > > Test have been passed with the following in local.conf:
> > > > >
> > > > > CORE_IMAGE_EXTRA_INSTALL:append = " openssh-sshd openssh-scp
> > > > > cargo rust rust-c-lib-example-bin"
> > > > > IMAGE_CLASSES += "testimage"
> > > > > TEST_SUITES = "ping ssh rust"
> > > > > # To use slirp option in testimage.bbclass
> > > > > TEST_RUNQEMUPARAMS = "slirp"
> > > > > TEST_SERVER_IP = "127.0.0.1"
> > > > > QEMU_USE_SLIRP = "1"
> > > >
> > > > In testing it showed:
> > > >
> > > > stdio: WARNING: cargo-c-0.9.18-r0 do_recipe_qa: QA Issue: Recipe
> > > > cargo-c in /home/pokybuild/yocto-worker/a-full/build/meta/recipes-
> > > > devtools/rust/cargo-c_0.9.18.bb does not contain a SUMMARY. Please
> > > > add an entry. [missing-metadata]
> > > > stdio: WARNING: cargo-c-native-0.9.18-r0 do_recipe_qa: QA Issue:
> > > > Recipe cargo-c in /home/pokybuild/yocto-worker/a-
> > > > full/build/meta/recipes-devtools/rust/cargo-c_0.9.18.bb does not
> > > > contain a SUMMARY. Please add an entry. [missing-metadata]
> > > > stdio: WARNING: nativesdk-cargo-c-0.9.18-r0 do_recipe_qa: QA Issue:
> > > > Recipe cargo-c in /home/pokybuild/yocto-worker/a-
> > > > full/build/meta/recipes-devtools/rust/cargo-c_0.9.18.bb does not
> > > > contain a SUMMARY. Please add an entry. [missing-metadata]
> > >
> > > Thanks Richard, will take care of that soon.
> > >
> > > Can you tell me what commands do you run to have that sanity check?
> > > It will avoid me to do the same mistake next time I'll add a recipe.
> >
> > It should just show up building the recipe (e.g. "bitbake cargo-c")?
> >
> > There are further build failures:
> >
> >
> https://autobuilder.yoctoproject.org/typhoon/#/builders/101/builds/6361/steps/14/logs/stdio
> >
> https://autobuilder.yoctoproject.org/typhoon/#/builders/110/builds/6484/steps/14/logs/stdio
> >
> > and the build isn't finished yet so Is suspect there will be more.
>
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/5606/steps/15/logs/stdio
>
> not all of those failures are your patches but:
>
> 2023-08-13 12:38:57,894 - oe-selftest - INFO -
> ======================================================================
> 2023-08-13 12:38:57,894 - oe-selftest - INFO - FAIL:
> distrodata.Distrodata.test_maintainers (subunit.RemotedTestCase)
> 2023-08-13 12:38:57,894 - oe-selftest - INFO -
> ----------------------------------------------------------------------
> 2023-08-13 12:38:57,894 - oe-selftest - INFO -
> testtools.testresult.real._StringException: Traceback (most recent call
> last):
> File
> "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/selftest/cases/distrodata.py",
> line 115, in test_maintainers
> self.fail("""
> File
> "/home/pokybuild/yocto-worker/oe-selftest-centos/build/buildtools/sysroots/x86_64-pokysdk-linux/usr/lib/python3.11/unittest/case.py",
> line 703, in fail
> raise self.failureException(msg)
> AssertionError:
> Unable to find recipes for the following entries in maintainers.inc:
> rust-c-lib-example
> rust-c-lib-example-bin
>
I don't understand these, because rust-c-lib-example and
rust-c-lib-example-bin have been added by PATCHV2 (3/4) in meta-selftest.
./meta-selftest/recipes-devtools/rust/rust-c-lib-example-bin_git.bb
./meta-selftest/recipes-devtools/rust/rust-c-lib-example_git.bb
Is this because they are in meta-selftest ? Should I remove them from
maintainers.inc ?
> and this:
>
> Traceback (most recent call last):
> File
> "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/core/decorator/__init__.py",
> line 35, in wrapped_f
> return func(*args, **kwargs)
> ^^^^^^^^^^^^^^^^^^^^^
> File
> "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/core/decorator/__init__.py",
> line 35, in wrapped_f
> return func(*args, **kwargs)
> ^^^^^^^^^^^^^^^^^^^^^
> File
> "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/runtime/cases/rust.py",
> line 31, in test_rust_compile
> self.assertEqual(status, 0, msg=msg)
> AssertionError: 127 != 0 : rust compile failed, output: sh: rustc: not
> found
>
> I don't understand this one either, I simply add openssh-scp in require
package to run test_rust_compile since its setup function
copy source on target via scp, rustc is provided by rust recipe and rust
recipe is required to run this test. Any ideas ?
> probably is are, so 2 of the 6 failures. The other 4 are "mine" :/.
>
> Cheers,
>
> Richard
>
>
[-- Attachment #2: Type: text/html, Size: 7853 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe
2023-08-13 14:53 ` Richard Purdie
@ 2023-08-13 15:00 ` Frédéric Martinsons
2023-08-13 15:05 ` Richard Purdie
0 siblings, 1 reply; 19+ messages in thread
From: Frédéric Martinsons @ 2023-08-13 15:00 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 5546 bytes --]
On Sun, 13 Aug 2023 at 16:53, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:
> On Sun, 2023-08-13 at 14:09 +0100, Richard Purdie via
> lists.openembedded.org wrote:
> > On Sun, 2023-08-13 at 12:22 +0100, Richard Purdie via
> > lists.openembedded.org wrote:
> > > On Sun, 2023-08-13 at 12:48 +0200, Frédéric Martinsons wrote:
> > > >
> > > >
> > > > Le dim. 13 août 2023, 12:23, Richard Purdie
> > > > <richard.purdie@linuxfoundation.org> a écrit :
> > > > > On Sun, 2023-08-13 at 10:23 +0200, Frederic Martinsons wrote:
> > > > > > From: Frederic Martinsons <frederic.martinsons@gmail.com>
> > > > > >
> > > > > > This is an RFC for introducing a new class and recipes that
> > > > > > help building C-ABI compatible header and library around
> > > > > > rust code.
> > > > > >
> > > > > > The third patch add examples and test to demonstrate
> > > > > > the usage and the good working of this use case.
> > > > > >
> > > > > > Test have been passed with the following in local.conf:
> > > > > >
> > > > > > CORE_IMAGE_EXTRA_INSTALL:append = " openssh-sshd openssh-scp
> > > > > > cargo rust rust-c-lib-example-bin"
> > > > > > IMAGE_CLASSES += "testimage"
> > > > > > TEST_SUITES = "ping ssh rust"
> > > > > > # To use slirp option in testimage.bbclass
> > > > > > TEST_RUNQEMUPARAMS = "slirp"
> > > > > > TEST_SERVER_IP = "127.0.0.1"
> > > > > > QEMU_USE_SLIRP = "1"
> > > > >
> > > > > In testing it showed:
> > > > >
> > > > > stdio: WARNING: cargo-c-0.9.18-r0 do_recipe_qa: QA Issue: Recipe
> > > > > cargo-c in /home/pokybuild/yocto-worker/a-full/build/meta/recipes-
> > > > > devtools/rust/cargo-c_0.9.18.bb does not contain a SUMMARY. Please
> > > > > add an entry. [missing-metadata]
> > > > > stdio: WARNING: cargo-c-native-0.9.18-r0 do_recipe_qa: QA Issue:
> > > > > Recipe cargo-c in /home/pokybuild/yocto-worker/a-
> > > > > full/build/meta/recipes-devtools/rust/cargo-c_0.9.18.bb does not
> > > > > contain a SUMMARY. Please add an entry. [missing-metadata]
> > > > > stdio: WARNING: nativesdk-cargo-c-0.9.18-r0 do_recipe_qa: QA Issue:
> > > > > Recipe cargo-c in /home/pokybuild/yocto-worker/a-
> > > > > full/build/meta/recipes-devtools/rust/cargo-c_0.9.18.bb does not
> > > > > contain a SUMMARY. Please add an entry. [missing-metadata]
> > > >
> > > > Thanks Richard, will take care of that soon.
> > > >
> > > > Can you tell me what commands do you run to have that sanity check?
> > > > It will avoid me to do the same mistake next time I'll add a recipe.
> > >
> > > It should just show up building the recipe (e.g. "bitbake cargo-c")?
> > >
> > > There are further build failures:
> > >
> > >
> https://autobuilder.yoctoproject.org/typhoon/#/builders/101/builds/6361/steps/14/logs/stdio
> > >
> https://autobuilder.yoctoproject.org/typhoon/#/builders/110/builds/6484/steps/14/logs/stdio
> > >
> > > and the build isn't finished yet so Is suspect there will be more.
> >
> >
> https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/5606/steps/15/logs/stdio
> >
> > not all of those failures are your patches but:
> >
> > 2023-08-13 12:38:57,894 - oe-selftest - INFO -
> ======================================================================
> > 2023-08-13 12:38:57,894 - oe-selftest - INFO - FAIL:
> distrodata.Distrodata.test_maintainers (subunit.RemotedTestCase)
> > 2023-08-13 12:38:57,894 - oe-selftest - INFO -
> ----------------------------------------------------------------------
> > 2023-08-13 12:38:57,894 - oe-selftest - INFO -
> testtools.testresult.real._StringException: Traceback (most recent call
> last):
> > File
> "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/selftest/cases/distrodata.py",
> line 115, in test_maintainers
> > self.fail("""
> > File
> "/home/pokybuild/yocto-worker/oe-selftest-centos/build/buildtools/sysroots/x86_64-pokysdk-linux/usr/lib/python3.11/unittest/case.py",
> line 703, in fail
> > raise self.failureException(msg)
> > AssertionError:
> > Unable to find recipes for the following entries in maintainers.inc:
> > rust-c-lib-example
> > rust-c-lib-example-bin
> >
> >
> > and this:
> >
> > Traceback (most recent call last):
> > File
> "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/core/decorator/__init__.py",
> line 35, in wrapped_f
> > return func(*args, **kwargs)
> > ^^^^^^^^^^^^^^^^^^^^^
> > File
> "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/core/decorator/__init__.py",
> line 35, in wrapped_f
> > return func(*args, **kwargs)
> > ^^^^^^^^^^^^^^^^^^^^^
> > File
> "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/runtime/cases/rust.py",
> line 31, in test_rust_compile
> > self.assertEqual(status, 0, msg=msg)
> > AssertionError: 127 != 0 : rust compile failed, output: sh: rustc: not
> found
> >
> >
> > probably is are, so 2 of the 6 failures. The other 4 are "mine" :/.
> >
>
> and a reproducibility failure:
>
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3355/steps/13/logs/stdio
>
> which leads to:
>
>
> http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20230813-z_b2j3ha/packages/diff-html/
Argh, this makes me remember of
https://bugzilla.yoctoproject.org/show_bug.cgi?id=15090
Do you know if any of cargo based recipe is reproducible ?
Should I add EXCLUDE_FROM_WORLD in cargo-c ?
>
>
> Cheers,
>
> Richard
>
>
[-- Attachment #2: Type: text/html, Size: 8438 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe
2023-08-13 15:00 ` Frédéric Martinsons
@ 2023-08-13 15:05 ` Richard Purdie
2023-08-13 15:10 ` Frédéric Martinsons
2023-08-14 7:30 ` Frédéric Martinsons
0 siblings, 2 replies; 19+ messages in thread
From: Richard Purdie @ 2023-08-13 15:05 UTC (permalink / raw)
To: Frédéric Martinsons; +Cc: openembedded-core
On Sun, 2023-08-13 at 17:00 +0200, Frédéric Martinsons wrote:
> On Sun, 13 Aug 2023 at 16:53, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> >
> > and a reproducibility failure:
> >
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3355/steps/13/logs/stdio
> >
> > which leads to:
> >
> > http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20230813-z_b2j3ha/packages/diff-html/
> >
>
>
> Argh, this makes me remember
> of https://bugzilla.yoctoproject.org/show_bug.cgi?id=15090
> Do you know if any of cargo based recipe is reproducible ?
> Should I add EXCLUDE_FROM_WORLD in cargo-c ?
At some point we're going to have to dive in and fix the
reproducibility issues so I'm reluctant to take more patches with that
set...
Cheers,
Richard
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe
2023-08-13 15:05 ` Richard Purdie
@ 2023-08-13 15:10 ` Frédéric Martinsons
2023-08-14 7:30 ` Frédéric Martinsons
1 sibling, 0 replies; 19+ messages in thread
From: Frédéric Martinsons @ 2023-08-13 15:10 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 1696 bytes --]
On Sun, 13 Aug 2023 at 17:05, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:
> On Sun, 2023-08-13 at 17:00 +0200, Frédéric Martinsons wrote:
> > On Sun, 13 Aug 2023 at 16:53, Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> > >
> > > and a reproducibility failure:
> > >
> > >
> https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3355/steps/13/logs/stdio
> > >
> > > which leads to:
> > >
> > >
> http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20230813-z_b2j3ha/packages/diff-html/
> > >
> >
> >
> > Argh, this makes me remember
> > of https://bugzilla.yoctoproject.org/show_bug.cgi?id=15090
> > Do you know if any of cargo based recipe is reproducible ?
> > Should I add EXCLUDE_FROM_WORLD in cargo-c ?
>
> At some point we're going to have to dive in and fix the
> reproducibility issues so I'm reluctant to take more patches with that
> set...
I understand, in the meantime, I issue a simple bibtake cargo-c and see
these (along with the missing SUMMARY):
WARNING: cargo-c-0.9.18-r0 do_package_qa: QA Issue: File
/usr/bin/.debug/cargo-cinstall in package cargo-c-dbg contains reference to
TMPDIR
File /usr/bin/.debug/cargo-cbuild in package cargo-c-dbg contains reference
to TMPDIR
File /usr/bin/.debug/cargo-ctest in package cargo-c-dbg contains reference
to TMPDIR
File /usr/bin/.debug/cargo-capi in package cargo-c-dbg contains reference
to TMPDIR [buildpaths]
I guess this doesn't help to be reproducible, I'll look at those soon.
Sadly, I didn't see any of these warnings during my tests, I just have to
look sharply for the next time.
>
>
Cheers,
>
> Richard
>
>
>
[-- Attachment #2: Type: text/html, Size: 2984 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe
2023-08-13 15:05 ` Richard Purdie
2023-08-13 15:10 ` Frédéric Martinsons
@ 2023-08-14 7:30 ` Frédéric Martinsons
2023-08-14 8:46 ` Richard Purdie
1 sibling, 1 reply; 19+ messages in thread
From: Frédéric Martinsons @ 2023-08-14 7:30 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 2112 bytes --]
On Sun, 13 Aug 2023 at 17:05, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:
> On Sun, 2023-08-13 at 17:00 +0200, Frédéric Martinsons wrote:
> > On Sun, 13 Aug 2023 at 16:53, Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> > >
> > > and a reproducibility failure:
> > >
> > >
> https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3355/steps/13/logs/stdio
> > >
> > > which leads to:
> > >
> > >
> http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20230813-z_b2j3ha/packages/diff-html/
> > >
> >
> >
> > Argh, this makes me remember
> > of https://bugzilla.yoctoproject.org/show_bug.cgi?id=15090
> > Do you know if any of cargo based recipe is reproducible ?
> > Should I add EXCLUDE_FROM_WORLD in cargo-c ?
>
> At some point we're going to have to dive in and fix the
> reproducibility issues so I'm reluctant to take more patches with that
> set...
It will hardly be doable to correct the reproducibility of rust packages
since rust/cargo
itself have issues upstream. I take a look and there are lot of open issues
cargo:
https://github.com/rust-lang/cargo/issues?q=is%3Aissue+is%3Aopen+label%3AA-reproducibility+
rust:
https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+label%3AA-reproducibility
There was an RFC accepted back in may (
https://github.com/rust-lang/rfcs/pull/3127) and implementation
progress have a tracking issue in cargo (
https://github.com/rust-lang/cargo/issues/12137) and in rust
(https://github.com/rust-lang/rust/issues/111540).
Don't know if it will fix our root issue (
https://bugzilla.yoctoproject.org/show_bug.cgi?id=14875) but I don't
see how to workaround all of that without this upstream work.
For cargo-c specific issues, I'll try to make things better (the TMPDIR in
debug symbols) but I'm wondering
something, reproducibility is desirable for all generated artifacts or is
it only for target ones ? I mean,
the cargo-c is used in native so I'm wondering if making it native only
would be acceptable ?
>
>
Cheers,
>
> Richard
>
>
>
[-- Attachment #2: Type: text/html, Size: 3946 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe
2023-08-14 7:30 ` Frédéric Martinsons
@ 2023-08-14 8:46 ` Richard Purdie
2023-08-14 9:39 ` Frédéric Martinsons
0 siblings, 1 reply; 19+ messages in thread
From: Richard Purdie @ 2023-08-14 8:46 UTC (permalink / raw)
To: Frédéric Martinsons; +Cc: openembedded-core
On Mon, 2023-08-14 at 09:30 +0200, Frédéric Martinsons wrote:
>
>
> On Sun, 13 Aug 2023 at 17:05, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > On Sun, 2023-08-13 at 17:00 +0200, Frédéric Martinsons wrote:
> > > On Sun, 13 Aug 2023 at 16:53, Richard Purdie
> > > <richard.purdie@linuxfoundation.org> wrote:
> > > >
> > > > and a reproducibility failure:
> > > >
> > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3355/steps/13/logs/stdio
> > > >
> > > > which leads to:
> > > >
> > > > http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20230813-z_b2j3ha/packages/diff-html/
> > > >
> > >
> > >
> > > Argh, this makes me remember
> > > of https://bugzilla.yoctoproject.org/show_bug.cgi?id=15090
> > > Do you know if any of cargo based recipe is reproducible ?
> > > Should I add EXCLUDE_FROM_WORLD in cargo-c ?
> >
> > At some point we're going to have to dive in and fix the
> > reproducibility issues so I'm reluctant to take more patches with
> > that
> > set...
> >
>
>
> It will hardly be doable to correct the reproducibility of rust
> packages since rust/cargo
> itself have issues upstream. I take a look and there are lot of open
> issues
> cargo:
> https://github.com/rust-lang/cargo/issues?q=is%3Aissue+is%3Aopen+labe
> l%3AA-reproducibility+
> rust:
> https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+label
> %3AA-reproducibility
I believe there is one problematic reference left which causes problems
for core rust. Fixing that issue would be the best place to start and
then we can work from there.
We do already have a lot of good reproducibility pieces in the
toolchain so not every upstream bug will apply to us.
> There was an RFC accepted back in may
> (https://github.com/rust-lang/rfcs/pull/3127) and implementation
> progress have a tracking issue in cargo
> (https://github.com/rust-lang/cargo/issues/12137) and in rust
> (https://github.com/rust-lang/rust/issues/111540).
>
> Don't know if it will fix our root issue
> (https://bugzilla.yoctoproject.org/show_bug.cgi?id=14875) but I don't
> see how to workaround all of that without this upstream work.
>
> For cargo-c specific issues, I'll try to make things better (the
> TMPDIR in debug symbols) but I'm wondering
> something, reproducibility is desirable for all generated artifacts
> or is it only for target ones ? I mean,
> the cargo-c is used in native so I'm wondering if making it native
> only would be acceptable ?
That would certainly avoid this issue. It would also make on target
testing of the functionality not possible.
Cheers,
Richard
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe
2023-08-14 8:46 ` Richard Purdie
@ 2023-08-14 9:39 ` Frédéric Martinsons
2023-08-14 9:59 ` Richard Purdie
0 siblings, 1 reply; 19+ messages in thread
From: Frédéric Martinsons @ 2023-08-14 9:39 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 3518 bytes --]
Le lun. 14 août 2023, 10:46, Richard Purdie <
richard.purdie@linuxfoundation.org> a écrit :
> On Mon, 2023-08-14 at 09:30 +0200, Frédéric Martinsons wrote:
> >
> >
> > On Sun, 13 Aug 2023 at 17:05, Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> > > On Sun, 2023-08-13 at 17:00 +0200, Frédéric Martinsons wrote:
> > > > On Sun, 13 Aug 2023 at 16:53, Richard Purdie
> > > > <richard.purdie@linuxfoundation.org> wrote:
> > > > >
> > > > > and a reproducibility failure:
> > > > >
> > > > >
> https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3355/steps/13/logs/stdio
> > > > >
> > > > > which leads to:
> > > > >
> > > > >
> http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20230813-z_b2j3ha/packages/diff-html/
> > > > >
> > > >
> > > >
> > > > Argh, this makes me remember
> > > > of https://bugzilla.yoctoproject.org/show_bug.cgi?id=15090
> > > > Do you know if any of cargo based recipe is reproducible ?
> > > > Should I add EXCLUDE_FROM_WORLD in cargo-c ?
> > >
> > > At some point we're going to have to dive in and fix the
> > > reproducibility issues so I'm reluctant to take more patches with
> > > that
> > > set...
> > >
> >
> >
> > It will hardly be doable to correct the reproducibility of rust
> > packages since rust/cargo
> > itself have issues upstream. I take a look and there are lot of open
> > issues
> > cargo:
> > https://github.com/rust-lang/cargo/issues?q=is%3Aissue+is%3Aopen+labe
> > l%3AA-reproducibility+
> > rust:
> > https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+label
> > %3AA-reproducibility
>
> I believe there is one problematic reference left which causes problems
> for core rust. Fixing that issue would be the best place to start and
> then we can work from there.
>
> We do already have a lot of good reproducibility pieces in the
> toolchain so not every upstream bug will apply to us.
>
I'm afraid I do not see what is your point, can you elaborate please? What
is the "problematic reference left which causes problems
for core rust" you refer to?
> > There was an RFC accepted back in may
> > (https://github.com/rust-lang/rfcs/pull/3127) and implementation
> > progress have a tracking issue in cargo
> > (https://github.com/rust-lang/cargo/issues/12137) and in rust
> > (https://github.com/rust-lang/rust/issues/111540).
> >
> > Don't know if it will fix our root issue
> > (https://bugzilla.yoctoproject.org/show_bug.cgi?id=14875) but I don't
> > see how to workaround all of that without this upstream work.
> >
> > For cargo-c specific issues, I'll try to make things better (the
> > TMPDIR in debug symbols) but I'm wondering
> > something, reproducibility is desirable for all generated artifacts
> > or is it only for target ones ? I mean,
> > the cargo-c is used in native so I'm wondering if making it native
> > only would be acceptable ?
>
> That would certainly avoid this issue. It would also make on target
> testing of the functionality not possible.
>
The test I added is on the final binary generated (rust-c-lib-examble-bin),
not cargo-c itself. So the target test would still be valid.
I tested a release build with a custom patch that strips debuginfo
(strip="debug info" in Cargo.toml) and I do not have build path leaking in
debug symbol anymore. I'll dig this up more and see if I can upstream that.
But the reproducible issue remain despite that.
> Cheers,
>
> Richard
>
>
>
[-- Attachment #2: Type: text/html, Size: 6380 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe
2023-08-14 9:39 ` Frédéric Martinsons
@ 2023-08-14 9:59 ` Richard Purdie
0 siblings, 0 replies; 19+ messages in thread
From: Richard Purdie @ 2023-08-14 9:59 UTC (permalink / raw)
To: Frédéric Martinsons; +Cc: openembedded-core
On Mon, 2023-08-14 at 11:39 +0200, Frédéric Martinsons wrote:
>
>
> Le lun. 14 août 2023, 10:46, Richard Purdie
> <richard.purdie@linuxfoundation.org> a écrit :
> > On Mon, 2023-08-14 at 09:30 +0200, Frédéric Martinsons wrote:
> > >
> > >
> > > On Sun, 13 Aug 2023 at 17:05, Richard Purdie
> > > <richard.purdie@linuxfoundation.org> wrote:
> > > > On Sun, 2023-08-13 at 17:00 +0200, Frédéric Martinsons wrote:
> > > > > On Sun, 13 Aug 2023 at 16:53, Richard Purdie
> > > > > <richard.purdie@linuxfoundation.org> wrote:
> > > > > >
> > > > > > and a reproducibility failure:
> > > > > >
> > > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3355/steps/13/logs/stdio
> > > > > >
> > > > > > which leads to:
> > > > > >
> > > > > > http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20230813-z_b2j3ha/packages/diff-html/
> > > > > >
> > > > >
> > > > >
> > > > > Argh, this makes me remember
> > > > > of https://bugzilla.yoctoproject.org/show_bug.cgi?id=15090
> > > > > Do you know if any of cargo based recipe is reproducible ?
> > > > > Should I add EXCLUDE_FROM_WORLD in cargo-c ?
> > > >
> > > > At some point we're going to have to dive in and fix the
> > > > reproducibility issues so I'm reluctant to take more patches
> > > > with
> > > > that
> > > > set...
> > > >
> > >
> > >
> > > It will hardly be doable to correct the reproducibility of rust
> > > packages since rust/cargo
> > > itself have issues upstream. I take a look and there are lot of
> > > open
> > > issues
> > > cargo:
> > > https://github.com/rust-lang/cargo/issues?q=is%3Aissue+is%3Aopen+labe
> > > l%3AA-reproducibility+
> > > rust:
> > > https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+label
> > > %3AA-reproducibility
> >
> > I believe there is one problematic reference left which causes
> > problems
> > for core rust. Fixing that issue would be the best place to start
> > and
> > then we can work from there.
> >
> > We do already have a lot of good reproducibility pieces in the
> > toolchain so not every upstream bug will apply to us.
>
> I'm afraid I do not see what is your point, can you elaborate please?
> What is the "problematic reference left which causes problems
> for core rust" you refer to?
https://bugzilla.yoctoproject.org/show_bug.cgi?id=14875
There appeared to be one reference left in the binaries we couldn't
track down. If we fix that one reference, at least the main rust recipe
issues *should* be fixed.
> > > There was an RFC accepted back in may
> > > (https://github.com/rust-lang/rfcs/pull/3127) and implementation
> > > progress have a tracking issue in cargo
> > > (https://github.com/rust-lang/cargo/issues/12137) and in rust
> > > (https://github.com/rust-lang/rust/issues/111540).
> > >
> > > Don't know if it will fix our root issue
> > > (https://bugzilla.yoctoproject.org/show_bug.cgi?id=14875) but I
> > > don't
> > > see how to workaround all of that without this upstream work.
> > >
> > > For cargo-c specific issues, I'll try to make things better (the
> > > TMPDIR in debug symbols) but I'm wondering
> > > something, reproducibility is desirable for all generated
> > > artifacts
> > > or is it only for target ones ? I mean,
> > > the cargo-c is used in native so I'm wondering if making it
> > > native
> > > only would be acceptable ?
> >
> > That would certainly avoid this issue. It would also make on target
> > testing of the functionality not possible.
>
> The test I added is on the final binary generated (rust-c-lib-
> examble-bin), not cargo-c itself. So the target test would still be
> valid.
Ok, good.
> I tested a release build with a custom patch that strips debuginfo
> (strip="debug info" in Cargo.toml) and I do not have build path
> leaking in debug symbol anymore. I'll dig this up more and see if I
> can upstream that.
Debug symbols should be relocated correctly if we pass the correct
compiler options. We usually prefer debug symbols to be present so we
can package them into the -dbg packages.
Cheers,
Richard
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe
2023-08-13 14:57 ` Frédéric Martinsons
@ 2023-08-15 15:52 ` Frédéric Martinsons
0 siblings, 0 replies; 19+ messages in thread
From: Frédéric Martinsons @ 2023-08-15 15:52 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 6103 bytes --]
Le dim. 13 août 2023, 16:57, Frédéric Martinsons <
frederic.martinsons@gmail.com> a écrit :
>
>
> On Sun, 13 Aug 2023 at 15:09, Richard Purdie <
> richard.purdie@linuxfoundation.org> wrote:
>
>> On Sun, 2023-08-13 at 12:22 +0100, Richard Purdie via
>> lists.openembedded.org wrote:
>> > On Sun, 2023-08-13 at 12:48 +0200, Frédéric Martinsons wrote:
>> > >
>> > >
>> > > Le dim. 13 août 2023, 12:23, Richard Purdie
>> > > <richard.purdie@linuxfoundation.org> a écrit :
>> > > > On Sun, 2023-08-13 at 10:23 +0200, Frederic Martinsons wrote:
>> > > > > From: Frederic Martinsons <frederic.martinsons@gmail.com>
>> > > > >
>> > > > > This is an RFC for introducing a new class and recipes that
>> > > > > help building C-ABI compatible header and library around
>> > > > > rust code.
>> > > > >
>> > > > > The third patch add examples and test to demonstrate
>> > > > > the usage and the good working of this use case.
>> > > > >
>> > > > > Test have been passed with the following in local.conf:
>> > > > >
>> > > > > CORE_IMAGE_EXTRA_INSTALL:append = " openssh-sshd openssh-scp
>> > > > > cargo rust rust-c-lib-example-bin"
>> > > > > IMAGE_CLASSES += "testimage"
>> > > > > TEST_SUITES = "ping ssh rust"
>> > > > > # To use slirp option in testimage.bbclass
>> > > > > TEST_RUNQEMUPARAMS = "slirp"
>> > > > > TEST_SERVER_IP = "127.0.0.1"
>> > > > > QEMU_USE_SLIRP = "1"
>> > > >
>> > > > In testing it showed:
>> > > >
>> > > > stdio: WARNING: cargo-c-0.9.18-r0 do_recipe_qa: QA Issue: Recipe
>> > > > cargo-c in /home/pokybuild/yocto-worker/a-full/build/meta/recipes-
>> > > > devtools/rust/cargo-c_0.9.18.bb does not contain a SUMMARY. Please
>> > > > add an entry. [missing-metadata]
>> > > > stdio: WARNING: cargo-c-native-0.9.18-r0 do_recipe_qa: QA Issue:
>> > > > Recipe cargo-c in /home/pokybuild/yocto-worker/a-
>> > > > full/build/meta/recipes-devtools/rust/cargo-c_0.9.18.bb does not
>> > > > contain a SUMMARY. Please add an entry. [missing-metadata]
>> > > > stdio: WARNING: nativesdk-cargo-c-0.9.18-r0 do_recipe_qa: QA Issue:
>> > > > Recipe cargo-c in /home/pokybuild/yocto-worker/a-
>> > > > full/build/meta/recipes-devtools/rust/cargo-c_0.9.18.bb does not
>> > > > contain a SUMMARY. Please add an entry. [missing-metadata]
>> > >
>> > > Thanks Richard, will take care of that soon.
>> > >
>> > > Can you tell me what commands do you run to have that sanity check?
>> > > It will avoid me to do the same mistake next time I'll add a recipe.
>> >
>> > It should just show up building the recipe (e.g. "bitbake cargo-c")?
>> >
>> > There are further build failures:
>> >
>> >
>> https://autobuilder.yoctoproject.org/typhoon/#/builders/101/builds/6361/steps/14/logs/stdio
>> >
>> https://autobuilder.yoctoproject.org/typhoon/#/builders/110/builds/6484/steps/14/logs/stdio
>> >
>> > and the build isn't finished yet so Is suspect there will be more.
>>
>>
>> https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/5606/steps/15/logs/stdio
>>
>> not all of those failures are your patches but:
>>
>> 2023-08-13 12:38:57,894 - oe-selftest - INFO -
>> ======================================================================
>> 2023-08-13 12:38:57,894 - oe-selftest - INFO - FAIL:
>> distrodata.Distrodata.test_maintainers (subunit.RemotedTestCase)
>> 2023-08-13 12:38:57,894 - oe-selftest - INFO -
>> ----------------------------------------------------------------------
>> 2023-08-13 12:38:57,894 - oe-selftest - INFO -
>> testtools.testresult.real._StringException: Traceback (most recent call
>> last):
>> File
>> "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/selftest/cases/distrodata.py",
>> line 115, in test_maintainers
>> self.fail("""
>> File
>> "/home/pokybuild/yocto-worker/oe-selftest-centos/build/buildtools/sysroots/x86_64-pokysdk-linux/usr/lib/python3.11/unittest/case.py",
>> line 703, in fail
>> raise self.failureException(msg)
>> AssertionError:
>> Unable to find recipes for the following entries in maintainers.inc:
>> rust-c-lib-example
>> rust-c-lib-example-bin
>>
>
> I don't understand these, because rust-c-lib-example and
> rust-c-lib-example-bin have been added by PATCHV2 (3/4) in meta-selftest.
> ./meta-selftest/recipes-devtools/rust/rust-c-lib-example-bin_git.bb
> ./meta-selftest/recipes-devtools/rust/rust-c-lib-example_git.bb
>
> Is this because they are in meta-selftest ? Should I remove them from
> maintainers.inc ?
>
>
>> and this:
>>
>> Traceback (most recent call last):
>> File
>> "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/core/decorator/__init__.py",
>> line 35, in wrapped_f
>> return func(*args, **kwargs)
>> ^^^^^^^^^^^^^^^^^^^^^
>> File
>> "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/core/decorator/__init__.py",
>> line 35, in wrapped_f
>> return func(*args, **kwargs)
>> ^^^^^^^^^^^^^^^^^^^^^
>> File
>> "/home/pokybuild/yocto-worker/oe-selftest-centos/build/meta/lib/oeqa/runtime/cases/rust.py",
>> line 31, in test_rust_compile
>> self.assertEqual(status, 0, msg=msg)
>> AssertionError: 127 != 0 : rust compile failed, output: sh: rustc: not
>> found
>>
>> I don't understand this one either, I simply add openssh-scp in require
> package to run test_rust_compile since its setup function
> copy source on target via scp, rustc is provided by rust recipe and rust
> recipe is required to run this test. Any ideas ?
>
In fact, I do know where it's come from, I just had to look for the
docstring of the decorator OEHasPackage since it tells that the writing
@OEHasPackage(['rust', 'openssh-scp'])
means an "or" (test needs rust or openssh-scp), this is the wrong usage
since the test needs both.
The V3 of the series I just sent should correct that, I also make cargo-c
purely native but for the maintainers.inc issue, I have no clue...
>
>> probably is are, so 2 of the 6 failures. The other 4 are "mine" :/.
>>
>> Cheers,
>>
>> Richard
>>
>>
[-- Attachment #2: Type: text/html, Size: 9452 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2023-08-15 15:52 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-13 8:23 [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe frederic.martinsons
2023-08-13 8:23 ` [PATCHV2 1/4] rust: add cargo-c recipe frederic.martinsons
2023-08-13 8:23 ` [PATCHV2 2/4] classes-recipe: add cargo_c.bbclass frederic.martinsons
2023-08-13 8:23 ` [PATCHV2 3/4] rust: provide examples for C library generation in rust frederic.martinsons
2023-08-13 8:23 ` [PATCHV2 4/4] oeqa/runtime/rust: correct rust test frederic.martinsons
2023-08-13 10:23 ` [OE-core] [RFC][PATCHV2 0/4] Introduction of cargo-c class and recipe Richard Purdie
2023-08-13 10:48 ` Frédéric Martinsons
2023-08-13 11:22 ` Richard Purdie
[not found] ` <177AED879B83B027.8497@lists.openembedded.org>
2023-08-13 13:09 ` Richard Purdie
2023-08-13 14:57 ` Frédéric Martinsons
2023-08-15 15:52 ` Frédéric Martinsons
[not found] ` <177AF35A822C5F89.12117@lists.openembedded.org>
2023-08-13 14:53 ` Richard Purdie
2023-08-13 15:00 ` Frédéric Martinsons
2023-08-13 15:05 ` Richard Purdie
2023-08-13 15:10 ` Frédéric Martinsons
2023-08-14 7:30 ` Frédéric Martinsons
2023-08-14 8:46 ` Richard Purdie
2023-08-14 9:39 ` Frédéric Martinsons
2023-08-14 9:59 ` Richard Purdie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox