#recipe #cargo-subcommand #yocto #cargo-build #bitbake

app cargo-bitbake

使用 meta-rust 的类生成一个软件包的 BitBake 脚本

21 个版本

0.3.16 2022 年 7 月 11 日
0.3.15 2021 年 4 月 26 日
0.3.14 2020 年 9 月 13 日
0.3.13 2020 年 3 月 29 日
0.1.0 2016 年 7 月 31 日

#194Cargo 插件

Download history 104/week @ 2024-03-14 67/week @ 2024-03-21 84/week @ 2024-03-28 121/week @ 2024-04-04 108/week @ 2024-04-11 67/week @ 2024-04-18 63/week @ 2024-04-25 79/week @ 2024-05-02 151/week @ 2024-05-09 145/week @ 2024-05-16 171/week @ 2024-05-23 152/week @ 2024-05-30 123/week @ 2024-06-06 146/week @ 2024-06-13 124/week @ 2024-06-20 63/week @ 2024-06-27

每月 483 次下载

MIT/Apache

32KB
525 代码行

cargo-bitbake

Build Status Latest Version

cargo bitbake 是一个 Cargo 子命令,它使用 BitBake 生成一个使用 meta-rust 构建 Yocto 的基于 Cargo 的项目的脚本

使用 Cargo 安装它

$ cargo install --locked cargo-bitbake

在其默认模式下,cargo bitbake 将为本地包写入脚本

$ cargo bitbake
Wrote: cargo-bitbake_0.1.0.bb

参数映射

Yocto Cargo
SRC_URI 依赖项中的每一行
SUMMARY .描述
HOMEPAGE package.homepagepackage.repository
LICENSE package.licensepackage.license-file
LIC_FILES_CHKSUM package.licensepackage.license-file. 请参阅以下内容

LIC_FILES_CHKSUM

LIC_FILES_CHKSUM 处理得有点特别。如果用户指定了 package.license-file,则直接取文件名。如果指定了 package.license,则直接检查文件名,并回退到检查 LICENSE-{license}。如果找不到任何内容,则预期您将自行生成 md5sum。

许可证字段支持任何有效的 Cargo 值,并且可以使用 / 分隔来指定多个许可证。

API

API 文档可在 docs.rs 上找到。

示例输出

$ cat cargo-bitbake_0.1.0.bb
inherit cargo_util

SRC_URI = " \
crate://crates.io/libssh2-sys/0.1.37 \
crate://crates.io/crates-io/0.2.0 \
crate://crates.io/openssl-sys/0.7.14 \
crate://crates.io/nom/1.2.3 \
crate://crates.io/rustache/0.0.3 \
crate://crates.io/url/1.1.1 \
crate://crates.io/unicode-bidi/0.2.3 \
crate://crates.io/num_cpus/0.2.13 \
crate://crates.io/libc/0.2.14 \
crate://crates.io/strsim/0.3.0 \
crate://crates.io/fs2/0.2.5 \
crate://crates.io/curl/0.2.19 \
crate://crates.io/pkg-config/0.3.8 \
crate://crates.io/filetime/0.1.10 \
crate://crates.io/flate2/0.2.14 \
crate://crates.io/matches/0.1.2 \
crate://crates.io/unicode-normalization/0.1.2 \
crate://crates.io/tar/0.4.6 \
crate://crates.io/memchr/0.1.11 \
crate://crates.io/git2/0.4.4 \
crate://crates.io/git2-curl/0.4.1 \
crate://crates.io/env_logger/0.3.4 \
crate://crates.io/winapi/0.2.8 \
crate://crates.io/miniz-sys/0.1.7 \
crate://crates.io/libgit2-sys/0.4.4 \
crate://crates.io/advapi32-sys/0.1.2 \
crate://crates.io/toml/0.1.30 \
crate://crates.io/pnacl-build-helper/1.4.10 \
crate://crates.io/gcc/0.3.31 \
crate://crates.io/tempdir/0.3.4 \
crate://crates.io/thread-id/2.0.0 \
crate://crates.io/libz-sys/1.0.5 \
crate://crates.io/url/0.2.38 \
crate://crates.io/thread_local/0.2.6 \
crate://crates.io/kernel32-sys/0.2.2 \
crate://crates.io/rustc-serialize/0.3.19 \
crate://crates.io/user32-sys/0.2.0 \
crate://crates.io/regex-syntax/0.3.4 \
crate://crates.io/libressl-pnacl-sys/2.1.6 \
crate://crates.io/crossbeam/0.2.9 \
crate://crates.io/bitflags/0.1.1 \
crate://crates.io/memstream/0.0.1 \
crate://crates.io/winapi-build/0.1.1 \
crate://crates.io/idna/0.1.0 \
crate://crates.io/glob/0.2.11 \
crate://crates.io/semver/0.2.3 \
crate://crates.io/time/0.1.35 \
crate://crates.io/gdi32-sys/0.2.0 \
crate://crates.io/utf8-ranges/0.1.3 \
crate://crates.io/term/0.4.4 \
crate://crates.io/rand/0.3.14 \
crate://crates.io/uuid/0.1.18 \
crate://crates.io/cargo/0.10.0 \
crate://crates.io/curl-sys/0.1.34 \
crate://crates.io/docopt/0.6.81 \
crate://crates.io/regex/0.1.73 \
crate://crates.io/cmake/0.1.17 \
crate://crates.io/log/0.3.6 \
crate://crates.io/aho-corasick/0.5.2 \
crate://crates.io/cargo-bitbake/0.1.0 \
crate-index://crates.io/CARGO_INDEX_COMMIT \
"
SRC_URI[index.md5sum] = "79f10f436dbf26737cc80445746f16b4"
SRC_URI[index.sha256sum] = "86114b93f1f51aaf0aec3af0751d214b351f4ff9839ba031315c1b19dcbb1913"

LIC_FILES_CHKSUM=" \
    file://LICENSE-APACHE;md5=1836efb2eb779966696f473ee8540542 \
    file://LICENSE-MIT;md5=0b29d505d9225d1f0815cbdcf602b901 \
"

SUMMARY = "Generates a BitBake recipe for a package utilizing meta-rust's classes."
HOMEPAGE = "https://github.com/cardoe/cargo-bitbake"
LICENSE = "MIT | Apache-2.0"

依赖项

~50MB
~1M SLoC