30 个稳定版本
2.6.1 | 2023年10月28日 |
---|---|
2.6.0 | 2022年11月14日 |
2.5.0 | 2021年11月11日 |
2.4.4 | 2020年12月20日 |
1.3.0 | 2016年12月9日 |
#35 在 Cargo 插件 中
1,504 每月下载量
用于 upstream-ontologist
170KB
4K SLoC
Rust crates 到 Debian 软件包
debcargo
是将 Rust crates 打包成 Debian 系统的一部分的官方工具。
它从遵循 Debian 的通用打包策略以及 Debian Rust 团队的 crate 打包策略的 Rust crate 创建 Debian 源软件包 (*.dsc
)。
特性
- 易于定制,使用配置文件和覆盖目录。这包括修补或以其他方式修复 Rust crate 以符合 Debian 策略。
- 从 crate 元数据和源代码中猜测版权信息,用于为
debian/copyright
提供合适的值。 - 在无法检测到完整信息的地方放置
FIXME (提示)
字符串,以便用户可以提供覆盖/覆盖或手动修复它。 - 生成的软件包自动支持所有符合策略的 Debian 软件包的一般功能,例如
- 直接通过
apt-get
向用户提供适用于 10+ 架构 的二进制文件 - 调试符号放置在单独的二进制软件包中,与标准的 Debian 调试符号分发系统集成
- 与非 Rust 软件的全系统集成,包括跨语言依赖关系解析
- 跨编译支持,包括通过 Debian 构建工具(如
sbuild
)自动解析和安装非 Rust 跨依赖关系
- 直接通过
- 从 Debian 打包和 QA 视角确定 crate 的完整依赖关系树(即构建顺序)。
安装
在 Debian 系统上,可以使用常规方式安装 debcargo
$ apt-get install debcargo
在本地构建以进行开发
$ apt-get build-dep debcargo
$ cargo build debcargo
在非Debian系统上,您可以尝试简单地进行
$ cargo build debcargo
并修复出现的任何构建错误,例如通过安装缺失的库。可能,这包括cargo的依赖项OpenSSL。
示例
下载并解压最新的clap
软件包并准备源代码包
$ debcargo package clap
下载并解压clap
软件包的版本2.25.0
并准备源代码包
$ debcargo package clap =2.25.0
为从crates.io下载和打包最新的clap
软件包提供额外的打包特定配置
$ debcargo package --config clap-2/debian/debcargo.toml clap
有关示例TOML文件,请参阅debcargo.toml.example
长期包维护
Debian Rust团队使用此工具以及https://salsa.debian.org/rust-team/debcargo-conf/中的配置和覆盖文件。如果您有兴趣贡献,请查看该存储库以获取更多信息以及如何与我们协作的说明。
构建非官方Debian软件包
Debian打包策略相当详细。如果您只想创建Debian二进制软件包(*.deb
),而不担心这些策略,您可能希望使用其他工具,这些工具忽略并绕过这些策略。例如,cargo-deb
。
权衡的是,生成的软件包与Debian系统的集成度较低,并且完全不与Debian构建系统集成,这意味着您将失去之前描述的功能。此外,您将负责自行托管和分发这些软件包,这超出了官方Debian发行基础设施的范围。
许可证
Debcargo受MIT/Apache-2.0
许可证的约束。它由Josh Triplett
和Ximin Luo
编写,并由Debian Rust Maintainers团队
成员改进。
依赖项
~52MB
~1M SLoC