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日

#35Cargo 插件

Download history 6/week @ 2024-05-26 570/week @ 2024-06-02 220/week @ 2024-06-09 319/week @ 2024-06-16 526/week @ 2024-06-23 236/week @ 2024-06-30 396/week @ 2024-07-07 374/week @ 2024-07-14 413/week @ 2024-07-21

1,504 每月下载量
用于 upstream-ontologist

MIT/Apache

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 TriplettXimin Luo编写,并由Debian Rust Maintainers团队成员改进。

依赖项

~52MB
~1M SLoC