meta-selftest: provide a recipe for zvariant

This recipe is for showing a "real world" example of
a crate that depends on some git repositories.

Usually, this kind of crate is built within a global
workspace (here it is the zbus project) and so
doesn't need a Cargo.lock on its own.

For the sake of the demonstration, I had to tweak things
a little to be able to compile zvariant in standalone
(no relative path in dependency, no symlink to LICENSE
provide a Cargo.lock)

The use case where the crate had some git repository
in dependency is very common for "private" crate that
are not aimed to be published on crates.io.
When the project grow bigger, it is common to have
a bin and multiple lib developped in parallel, and these
libs are surely on a git repostitory.

A test case have been also added to check for:
  - the previous patch about git subpath parameter and devtool
  - the correctness of overriding dependencies (first patch of the
series)

(From OE-Core rev: 409e045f96f69877de6f36ed14c5c19a9cb74eaf)

Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Frederic Martinsons
2023-03-31 07:45:26 +02:00
committed by Richard Purdie
parent 11180fd528
commit ad460bb6aa
5 changed files with 1684 additions and 0 deletions

View File

@@ -0,0 +1,258 @@
# Autogenerated with 'bitbake -c update_crates zvariant'
# from Cargo.lock
SRC_URI += " \
crate://crates.io/anes/0.1.6;name=anes-0.1.6 \
crate://crates.io/anyhow/1.0.70;name=anyhow-1.0.70 \
crate://crates.io/arrayvec/0.7.2;name=arrayvec-0.7.2 \
crate://crates.io/atty/0.2.14;name=atty-0.2.14 \
crate://crates.io/autocfg/1.1.0;name=autocfg-1.1.0 \
crate://crates.io/bitflags/1.3.2;name=bitflags-1.3.2 \
crate://crates.io/bumpalo/3.12.0;name=bumpalo-3.12.0 \
crate://crates.io/byteorder/1.4.3;name=byteorder-1.4.3 \
crate://crates.io/cast/0.3.0;name=cast-0.3.0 \
crate://crates.io/cfg-if/1.0.0;name=cfg-if-1.0.0 \
crate://crates.io/chrono/0.4.24;name=chrono-0.4.24 \
crate://crates.io/ciborium/0.2.0;name=ciborium-0.2.0 \
crate://crates.io/ciborium-io/0.2.0;name=ciborium-io-0.2.0 \
crate://crates.io/ciborium-ll/0.2.0;name=ciborium-ll-0.2.0 \
crate://crates.io/clap/3.2.23;name=clap-3.2.23 \
crate://crates.io/clap_lex/0.2.4;name=clap_lex-0.2.4 \
crate://crates.io/criterion/0.4.0;name=criterion-0.4.0 \
crate://crates.io/criterion-plot/0.5.0;name=criterion-plot-0.5.0 \
crate://crates.io/crossbeam-channel/0.5.7;name=crossbeam-channel-0.5.7 \
crate://crates.io/crossbeam-deque/0.8.3;name=crossbeam-deque-0.8.3 \
crate://crates.io/crossbeam-epoch/0.9.14;name=crossbeam-epoch-0.9.14 \
crate://crates.io/crossbeam-utils/0.8.15;name=crossbeam-utils-0.8.15 \
crate://crates.io/either/1.8.1;name=either-1.8.1 \
crate://crates.io/enumflags2/0.7.5;name=enumflags2-0.7.5 \
crate://crates.io/enumflags2_derive/0.7.4;name=enumflags2_derive-0.7.4 \
crate://crates.io/form_urlencoded/1.1.0;name=form_urlencoded-1.1.0 \
crate://crates.io/futures-channel/0.3.27;name=futures-channel-0.3.27 \
crate://crates.io/futures-core/0.3.27;name=futures-core-0.3.27 \
crate://crates.io/futures-executor/0.3.27;name=futures-executor-0.3.27 \
crate://crates.io/futures-macro/0.3.27;name=futures-macro-0.3.27 \
crate://crates.io/futures-task/0.3.27;name=futures-task-0.3.27 \
crate://crates.io/futures-util/0.3.27;name=futures-util-0.3.27 \
crate://crates.io/getrandom/0.2.8;name=getrandom-0.2.8 \
crate://crates.io/half/1.8.2;name=half-1.8.2 \
crate://crates.io/hashbrown/0.12.3;name=hashbrown-0.12.3 \
crate://crates.io/heck/0.3.3;name=heck-0.3.3 \
crate://crates.io/hermit-abi/0.1.19;name=hermit-abi-0.1.19 \
crate://crates.io/hermit-abi/0.2.6;name=hermit-abi-0.2.6 \
crate://crates.io/idna/0.3.0;name=idna-0.3.0 \
crate://crates.io/indexmap/1.9.2;name=indexmap-1.9.2 \
crate://crates.io/itertools/0.9.0;name=itertools-0.9.0 \
crate://crates.io/itertools/0.10.5;name=itertools-0.10.5 \
crate://crates.io/itoa/1.0.6;name=itoa-1.0.6 \
crate://crates.io/js-sys/0.3.61;name=js-sys-0.3.61 \
crate://crates.io/lazy_static/1.4.0;name=lazy_static-1.4.0 \
crate://crates.io/libc/0.2.140;name=libc-0.2.140 \
crate://crates.io/log/0.4.17;name=log-0.4.17 \
crate://crates.io/memchr/2.5.0;name=memchr-2.5.0 \
crate://crates.io/memoffset/0.8.0;name=memoffset-0.8.0 \
crate://crates.io/num-integer/0.1.45;name=num-integer-0.1.45 \
crate://crates.io/num-traits/0.2.15;name=num-traits-0.2.15 \
crate://crates.io/num_cpus/1.15.0;name=num_cpus-1.15.0 \
crate://crates.io/once_cell/1.17.1;name=once_cell-1.17.1 \
crate://crates.io/oorandom/11.1.3;name=oorandom-11.1.3 \
crate://crates.io/os_str_bytes/6.5.0;name=os_str_bytes-6.5.0 \
crate://crates.io/percent-encoding/2.2.0;name=percent-encoding-2.2.0 \
crate://crates.io/pin-project-lite/0.2.9;name=pin-project-lite-0.2.9 \
crate://crates.io/pin-utils/0.1.0;name=pin-utils-0.1.0 \
crate://crates.io/pkg-config/0.3.26;name=pkg-config-0.3.26 \
crate://crates.io/plotters/0.3.4;name=plotters-0.3.4 \
crate://crates.io/plotters-backend/0.3.4;name=plotters-backend-0.3.4 \
crate://crates.io/plotters-svg/0.3.3;name=plotters-svg-0.3.3 \
crate://crates.io/ppv-lite86/0.2.17;name=ppv-lite86-0.2.17 \
crate://crates.io/proc-macro-crate/0.1.5;name=proc-macro-crate-0.1.5 \
crate://crates.io/proc-macro-crate/1.3.1;name=proc-macro-crate-1.3.1 \
crate://crates.io/proc-macro-error/1.0.4;name=proc-macro-error-1.0.4 \
crate://crates.io/proc-macro-error-attr/1.0.4;name=proc-macro-error-attr-1.0.4 \
crate://crates.io/proc-macro2/1.0.53;name=proc-macro2-1.0.53 \
crate://crates.io/quote/1.0.26;name=quote-1.0.26 \
crate://crates.io/rand/0.8.5;name=rand-0.8.5 \
crate://crates.io/rand_chacha/0.3.1;name=rand_chacha-0.3.1 \
crate://crates.io/rand_core/0.6.4;name=rand_core-0.6.4 \
crate://crates.io/rayon/1.7.0;name=rayon-1.7.0 \
crate://crates.io/rayon-core/1.11.0;name=rayon-core-1.11.0 \
crate://crates.io/regex/1.7.2;name=regex-1.7.2 \
crate://crates.io/regex-syntax/0.6.29;name=regex-syntax-0.6.29 \
crate://crates.io/ryu/1.0.13;name=ryu-1.0.13 \
crate://crates.io/same-file/1.0.6;name=same-file-1.0.6 \
crate://crates.io/scopeguard/1.1.0;name=scopeguard-1.1.0 \
crate://crates.io/serde/1.0.158;name=serde-1.0.158 \
crate://crates.io/serde_bytes/0.11.9;name=serde_bytes-0.11.9 \
crate://crates.io/serde_derive/1.0.158;name=serde_derive-1.0.158 \
crate://crates.io/serde_json/1.0.94;name=serde_json-1.0.94 \
crate://crates.io/serde_repr/0.1.12;name=serde_repr-0.1.12 \
crate://crates.io/slab/0.4.8;name=slab-0.4.8 \
crate://crates.io/static_assertions/1.1.0;name=static_assertions-1.1.0 \
crate://crates.io/strum/0.18.0;name=strum-0.18.0 \
crate://crates.io/strum_macros/0.18.0;name=strum_macros-0.18.0 \
crate://crates.io/syn/1.0.109;name=syn-1.0.109 \
crate://crates.io/syn/2.0.8;name=syn-2.0.8 \
crate://crates.io/system-deps/1.3.2;name=system-deps-1.3.2 \
crate://crates.io/textwrap/0.16.0;name=textwrap-0.16.0 \
crate://crates.io/thiserror/1.0.40;name=thiserror-1.0.40 \
crate://crates.io/thiserror-impl/1.0.40;name=thiserror-impl-1.0.40 \
crate://crates.io/time/0.3.20;name=time-0.3.20 \
crate://crates.io/time-core/0.1.0;name=time-core-0.1.0 \
crate://crates.io/time-macros/0.2.8;name=time-macros-0.2.8 \
crate://crates.io/tinytemplate/1.2.1;name=tinytemplate-1.2.1 \
crate://crates.io/tinyvec/1.6.0;name=tinyvec-1.6.0 \
crate://crates.io/tinyvec_macros/0.1.1;name=tinyvec_macros-0.1.1 \
crate://crates.io/toml/0.5.11;name=toml-0.5.11 \
crate://crates.io/toml_datetime/0.6.1;name=toml_datetime-0.6.1 \
crate://crates.io/toml_edit/0.19.8;name=toml_edit-0.19.8 \
crate://crates.io/unicode-bidi/0.3.13;name=unicode-bidi-0.3.13 \
crate://crates.io/unicode-ident/1.0.8;name=unicode-ident-1.0.8 \
crate://crates.io/unicode-normalization/0.1.22;name=unicode-normalization-0.1.22 \
crate://crates.io/unicode-segmentation/1.10.1;name=unicode-segmentation-1.10.1 \
crate://crates.io/url/2.3.1;name=url-2.3.1 \
crate://crates.io/uuid/1.3.0;name=uuid-1.3.0 \
crate://crates.io/version-compare/0.0.10;name=version-compare-0.0.10 \
crate://crates.io/version_check/0.9.4;name=version_check-0.9.4 \
crate://crates.io/walkdir/2.3.3;name=walkdir-2.3.3 \
crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1;name=wasi-0.11.0+wasi-snapshot-preview1 \
crate://crates.io/wasm-bindgen/0.2.84;name=wasm-bindgen-0.2.84 \
crate://crates.io/wasm-bindgen-backend/0.2.84;name=wasm-bindgen-backend-0.2.84 \
crate://crates.io/wasm-bindgen-macro/0.2.84;name=wasm-bindgen-macro-0.2.84 \
crate://crates.io/wasm-bindgen-macro-support/0.2.84;name=wasm-bindgen-macro-support-0.2.84 \
crate://crates.io/wasm-bindgen-shared/0.2.84;name=wasm-bindgen-shared-0.2.84 \
crate://crates.io/web-sys/0.3.61;name=web-sys-0.3.61 \
crate://crates.io/winapi/0.3.9;name=winapi-0.3.9 \
crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0;name=winapi-i686-pc-windows-gnu-0.4.0 \
crate://crates.io/winapi-util/0.1.5;name=winapi-util-0.1.5 \
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0;name=winapi-x86_64-pc-windows-gnu-0.4.0 \
crate://crates.io/winnow/0.4.0;name=winnow-0.4.0 \
crate://crates.io/zvariant_derive/3.12.0;name=zvariant_derive-3.12.0 \
crate://crates.io/zvariant_utils/1.0.0;name=zvariant_utils-1.0.0 \
"
SRC_URI[anes-0.1.6.sha256sum] = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
SRC_URI[anyhow-1.0.70.sha256sum] = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4"
SRC_URI[arrayvec-0.7.2.sha256sum] = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
SRC_URI[atty-0.2.14.sha256sum] = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
SRC_URI[bumpalo-3.12.0.sha256sum] = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
SRC_URI[byteorder-1.4.3.sha256sum] = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
SRC_URI[cast-0.3.0.sha256sum] = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
SRC_URI[chrono-0.4.24.sha256sum] = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
SRC_URI[ciborium-0.2.0.sha256sum] = "b0c137568cc60b904a7724001b35ce2630fd00d5d84805fbb608ab89509d788f"
SRC_URI[ciborium-io-0.2.0.sha256sum] = "346de753af073cc87b52b2083a506b38ac176a44cfb05497b622e27be899b369"
SRC_URI[ciborium-ll-0.2.0.sha256sum] = "213030a2b5a4e0c0892b6652260cf6ccac84827b83a85a534e178e3906c4cf1b"
SRC_URI[clap-3.2.23.sha256sum] = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
SRC_URI[clap_lex-0.2.4.sha256sum] = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
SRC_URI[criterion-0.4.0.sha256sum] = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb"
SRC_URI[criterion-plot-0.5.0.sha256sum] = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
SRC_URI[crossbeam-channel-0.5.7.sha256sum] = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c"
SRC_URI[crossbeam-deque-0.8.3.sha256sum] = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
SRC_URI[crossbeam-epoch-0.9.14.sha256sum] = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
SRC_URI[crossbeam-utils-0.8.15.sha256sum] = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
SRC_URI[either-1.8.1.sha256sum] = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
SRC_URI[enumflags2-0.7.5.sha256sum] = "e75d4cd21b95383444831539909fbb14b9dc3fdceb2a6f5d36577329a1f55ccb"
SRC_URI[enumflags2_derive-0.7.4.sha256sum] = "f58dc3c5e468259f19f2d46304a6b28f1c3d034442e14b322d2b850e36f6d5ae"
SRC_URI[form_urlencoded-1.1.0.sha256sum] = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
SRC_URI[futures-channel-0.3.27.sha256sum] = "164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac"
SRC_URI[futures-core-0.3.27.sha256sum] = "86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd"
SRC_URI[futures-executor-0.3.27.sha256sum] = "1997dd9df74cdac935c76252744c1ed5794fac083242ea4fe77ef3ed60ba0f83"
SRC_URI[futures-macro-0.3.27.sha256sum] = "3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6"
SRC_URI[futures-task-0.3.27.sha256sum] = "fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879"
SRC_URI[futures-util-0.3.27.sha256sum] = "3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab"
SRC_URI[getrandom-0.2.8.sha256sum] = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
SRC_URI[half-1.8.2.sha256sum] = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
SRC_URI[heck-0.3.3.sha256sum] = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
SRC_URI[hermit-abi-0.2.6.sha256sum] = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
SRC_URI[idna-0.3.0.sha256sum] = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
SRC_URI[indexmap-1.9.2.sha256sum] = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
SRC_URI[itertools-0.9.0.sha256sum] = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b"
SRC_URI[itertools-0.10.5.sha256sum] = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
SRC_URI[itoa-1.0.6.sha256sum] = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
SRC_URI[js-sys-0.3.61.sha256sum] = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
SRC_URI[libc-0.2.140.sha256sum] = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c"
SRC_URI[log-0.4.17.sha256sum] = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
SRC_URI[memoffset-0.8.0.sha256sum] = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
SRC_URI[num-integer-0.1.45.sha256sum] = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
SRC_URI[num-traits-0.2.15.sha256sum] = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
SRC_URI[num_cpus-1.15.0.sha256sum] = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
SRC_URI[once_cell-1.17.1.sha256sum] = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
SRC_URI[oorandom-11.1.3.sha256sum] = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
SRC_URI[os_str_bytes-6.5.0.sha256sum] = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267"
SRC_URI[percent-encoding-2.2.0.sha256sum] = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
SRC_URI[pin-project-lite-0.2.9.sha256sum] = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
SRC_URI[pkg-config-0.3.26.sha256sum] = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
SRC_URI[plotters-0.3.4.sha256sum] = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97"
SRC_URI[plotters-backend-0.3.4.sha256sum] = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142"
SRC_URI[plotters-svg-0.3.3.sha256sum] = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f"
SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
SRC_URI[proc-macro-crate-0.1.5.sha256sum] = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785"
SRC_URI[proc-macro-crate-1.3.1.sha256sum] = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
SRC_URI[proc-macro-error-1.0.4.sha256sum] = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
SRC_URI[proc-macro-error-attr-1.0.4.sha256sum] = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
SRC_URI[proc-macro2-1.0.53.sha256sum] = "ba466839c78239c09faf015484e5cc04860f88242cff4d03eb038f04b4699b73"
SRC_URI[quote-1.0.26.sha256sum] = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
SRC_URI[rayon-1.7.0.sha256sum] = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
SRC_URI[rayon-core-1.11.0.sha256sum] = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
SRC_URI[regex-1.7.2.sha256sum] = "cce168fea28d3e05f158bda4576cf0c844d5045bc2cc3620fa0292ed5bb5814c"
SRC_URI[regex-syntax-0.6.29.sha256sum] = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
SRC_URI[ryu-1.0.13.sha256sum] = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
SRC_URI[scopeguard-1.1.0.sha256sum] = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
SRC_URI[serde-1.0.158.sha256sum] = "771d4d9c4163ee138805e12c710dd365e4f44be8be0503cb1bb9eb989425d9c9"
SRC_URI[serde_bytes-0.11.9.sha256sum] = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294"
SRC_URI[serde_derive-1.0.158.sha256sum] = "e801c1712f48475582b7696ac71e0ca34ebb30e09338425384269d9717c62cad"
SRC_URI[serde_json-1.0.94.sha256sum] = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea"
SRC_URI[serde_repr-0.1.12.sha256sum] = "bcec881020c684085e55a25f7fd888954d56609ef363479dc5a1305eb0d40cab"
SRC_URI[slab-0.4.8.sha256sum] = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
SRC_URI[strum-0.18.0.sha256sum] = "57bd81eb48f4c437cadc685403cad539345bf703d78e63707418431cecd4522b"
SRC_URI[strum_macros-0.18.0.sha256sum] = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c"
SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
SRC_URI[syn-2.0.8.sha256sum] = "bcc02725fd69ab9f26eab07fad303e2497fad6fb9eba4f96c4d1687bdf704ad9"
SRC_URI[system-deps-1.3.2.sha256sum] = "0f3ecc17269a19353b3558b313bba738b25d82993e30d62a18406a24aba4649b"
SRC_URI[textwrap-0.16.0.sha256sum] = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
SRC_URI[thiserror-1.0.40.sha256sum] = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
SRC_URI[thiserror-impl-1.0.40.sha256sum] = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
SRC_URI[time-0.3.20.sha256sum] = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
SRC_URI[time-core-0.1.0.sha256sum] = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
SRC_URI[time-macros-0.2.8.sha256sum] = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36"
SRC_URI[tinytemplate-1.2.1.sha256sum] = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
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_datetime-0.6.1.sha256sum] = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622"
SRC_URI[toml_edit-0.19.8.sha256sum] = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13"
SRC_URI[unicode-bidi-0.3.13.sha256sum] = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
SRC_URI[unicode-ident-1.0.8.sha256sum] = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
SRC_URI[unicode-segmentation-1.10.1.sha256sum] = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
SRC_URI[url-2.3.1.sha256sum] = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
SRC_URI[uuid-1.3.0.sha256sum] = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79"
SRC_URI[version-compare-0.0.10.sha256sum] = "d63556a25bae6ea31b52e640d7c41d1ab27faba4ccb600013837a3d0b3994ca1"
SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
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.84.sha256sum] = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
SRC_URI[wasm-bindgen-backend-0.2.84.sha256sum] = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
SRC_URI[wasm-bindgen-macro-0.2.84.sha256sum] = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
SRC_URI[wasm-bindgen-macro-support-0.2.84.sha256sum] = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
SRC_URI[wasm-bindgen-shared-0.2.84.sha256sum] = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
SRC_URI[web-sys-0.3.61.sha256sum] = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
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[winnow-0.4.0.sha256sum] = "deac0939bd6e4f24ab5919fbf751c97a8cfc8543bb083a305ed5c0c10bb241d1"
SRC_URI[zvariant_derive-3.12.0.sha256sum] = "34c20260af4b28b3275d6676c7e2a6be0d4332e8e0aba4616d34007fd84e462a"
SRC_URI[zvariant_utils-1.0.0.sha256sum] = "53b22993dbc4d128a17a3b6c92f1c63872dd67198537ee728d8b5d7c40640a8b"

View File

@@ -0,0 +1,14 @@
SRC_URI += "\
git://github.com/gtk-rs/glib;protocol=https;nobranch=1;name=glib;destsuffix=glib;type=git-dependency \
git://github.com/gtk-rs/sys;protocol=https;nobranch=1;name=glib-sys;destsuffix=glib-sys;subpath=glib-sys;type=git-dependency \
git://github.com/gtk-rs/sys;protocol=https;nobranch=1;name=gobject-sys;destsuffix=gobject-sys;subpath=gobject-sys;type=git-dependency \
"
SRCREV_FORMAT .= "_glib"
SRCREV_glib = "c9ee583cea07830c099cdcccd33eda9ef705ea93"
SRCREV_FORMAT .= "_glib-sys"
SRCREV_glib-sys = "5f35e26c65d24f8f018f643218de0f5807ba5f01"
SRCREV_FORMAT .= "_gobject-sys"
SRCREV_gobject-sys = "5f35e26c65d24f8f018f643218de0f5807ba5f01"

View File

@@ -0,0 +1,27 @@
SUMMARY = "Provides API for encoding/decoding of data to/from D-Bus wire format"
DESCRIPTION = "This crate provides API for encoding/decoding of data to/from D-Bus wire format.\
This binary wire format is simple and very efficient and hence useful outside of D-Bus context as well.\
A modified form of this format, GVariant is very commonly used for efficient storage of arbitrary \
data and is also supported by this crate."
HOMEPAGE = "https://gitlab.freedesktop.org/dbus/zbus/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b377b220f43d747efdec40d69fcaa69d"
SRC_URI = " \
git://gitlab.freedesktop.org/dbus/zbus;protocol=https;branch=main;subpath=zvariant \
file://0001-Tweak-zvariant-crate-config.patch;striplevel=2 \
"
SRCREV = "07506776fab5f58e029760bb4b288f670c7eecd6"
S = "${WORKDIR}/zvariant"
python do_clean_lic_file_symlink() {
bb.utils.remove("LICENCE")
}
addtask clean_lic_file_symlink after do_unpack before do_patch
inherit cargo cargo-update-recipe-crates
require ${BPN}-crates.inc
require ${BPN}-git-crates.inc

View File

@@ -848,6 +848,99 @@ class DevtoolModifyTests(DevtoolBase):
# Try building
bitbake(testrecipe)
def test_devtool_modify_git_crates_subpath(self):
# This tests two things in devtool context:
# - that we support local git dependencies for cargo based recipe
# - that we support patches in SRC_URI when git url contains subpath parameter
# Check preconditions:
# recipe inherits cargo
# git:// uri with a subpath as the main package
# some crate:// in SRC_URI
# others git:// in SRC_URI
# cointains a patch
testrecipe = 'zvariant'
bb_vars = get_bb_vars(['SRC_URI', 'FILE', 'WORKDIR', 'CARGO_HOME'], testrecipe)
recipefile = bb_vars['FILE']
workdir = bb_vars['WORKDIR']
cargo_home = bb_vars['CARGO_HOME']
src_uri = bb_vars['SRC_URI'].split()
self.assertTrue(src_uri[0].startswith('git://'),
'This test expects the %s recipe to have a git repo has its main uri' % testrecipe)
self.assertIn(';subpath=', src_uri[0],
'This test expects the %s recipe to have a git uri with subpath' % testrecipe)
self.assertTrue(any([uri.startswith('crate://') for uri in src_uri]),
'This test expects the %s recipe to have some crates in its src uris' % testrecipe)
self.assertGreater(sum(map(lambda x:x.startswith('git://'), src_uri)), 2,
'This test expects the %s recipe to have several git:// uris' % testrecipe)
self.assertTrue(any([uri.startswith('file://') and '.patch' in uri for uri in src_uri]),
'This test expects the %s recipe to have a patch in its src uris' % testrecipe)
self._test_recipe_contents(recipefile, {}, ['cargo'])
# Clean up anything in the workdir/sysroot/sstate cache
bitbake('%s -c cleansstate' % testrecipe)
# Try modifying a recipe
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
self.track_for_cleanup(tempdir)
self.track_for_cleanup(self.workspacedir)
self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe)
self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir))
self.assertExists(os.path.join(tempdir, 'Cargo.toml'), 'Extracted source could not be found')
self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created. devtool output: %s' % result.output)
matches = glob.glob(os.path.join(self.workspacedir, 'appends', 'zvariant_*.bbappend'))
self.assertTrue(matches, 'bbappend not created')
# Test devtool status
result = runCmd('devtool status')
self.assertIn(testrecipe, result.output)
self.assertIn(tempdir, result.output)
# Check git repo
self._check_src_repo(tempdir)
# Check that the patch is correctly applied
# last commit message in the tree must contain
# %% original patch: <patchname>
# ..
patchname = None
for uri in src_uri:
if uri.startswith('file://') and '.patch' in uri:
patchname = uri.replace("file://", "").partition('.patch')[0] + '.patch'
self.assertIsNotNone(patchname)
result = runCmd('git -C %s log -1' % tempdir)
self.assertIn("%%%% original patch: %s" % patchname, result.output)
# Configure the recipe to check that the git dependencies are correctly patched in cargo config
bitbake('-c configure %s' % testrecipe)
cargo_config_path = os.path.join(cargo_home, 'config')
with open(cargo_config_path, "r") as f:
cargo_config_contents = [line.strip('\n') for line in f.readlines()]
# Get back git dependencies of the recipe (ignoring the main one)
# and check that they are all correctly patched to be fetched locally
git_deps = [uri for uri in src_uri if uri.startswith("git://")][1:]
for git_dep in git_deps:
raw_url, _, raw_parms = git_dep.partition(";")
parms = {}
for parm in raw_parms.split(";"):
name_parm, _, value_parm = parm.partition('=')
parms[name_parm]=value_parm
self.assertIn('protocol', parms, 'git dependencies uri should contain the "protocol" parameter')
self.assertIn('name', parms, 'git dependencies uri should contain the "name" parameter')
self.assertIn('destsuffix', parms, 'git dependencies uri should contain the "destsuffix" parameter')
self.assertIn('type', parms, 'git dependencies uri should contain the "type" parameter')
self.assertEqual(parms['type'], 'git-dependency', 'git dependencies uri should have "type=git-dependency"')
raw_url = raw_url.replace("git://", '%s://' % parms['protocol'])
patch_line = '[patch."%s"]' % raw_url
path_patched = os.path.join(workdir, parms['destsuffix'])
path_override_line = '%s = { path = "%s" }' % (parms['name'], path_patched)
# Would have been better to use tomllib to read this file :/
self.assertIn(patch_line, cargo_config_contents)
self.assertIn(path_override_line, cargo_config_contents)
# Try to package the recipe
bitbake('-c package_qa %s' % testrecipe)
def test_devtool_modify_localfiles(self):
# Check preconditions
testrecipe = 'lighttpd'