36 个版本

0.19.1 2023 年 9 月 8 日
0.18.0 2023 年 5 月 1 日
0.17.1 2023 年 2 月 21 日
0.17.0 2022 年 11 月 24 日
0.5.0 2019 年 6 月 28 日

#71操作系统

Download history 580/week @ 2024-04-20 328/week @ 2024-04-27 296/week @ 2024-05-04 612/week @ 2024-05-11 733/week @ 2024-05-18 447/week @ 2024-05-25 518/week @ 2024-06-01 499/week @ 2024-06-08 871/week @ 2024-06-15 1248/week @ 2024-06-22 652/week @ 2024-06-29 401/week @ 2024-07-06 876/week @ 2024-07-13 462/week @ 2024-07-20 661/week @ 2024-07-27 298/week @ 2024-08-03

2,373 每月下载量
用于 ostree-ext

MIT 许可证

400KB
8K SLoC

ostree-rs

pipeline status Crates.io main-docs

Rustlibostree 的绑定。

libostree 既是共享库也是一组命令行工具,它结合了“类似 git”的提交和下载可引导文件系统的模型,并包含部署和管理引导加载器配置的层。

注意:此包已从 libostree 包重命名。

状态

现在大多数可以自动生成的绑定都在自动生成。目前不支持此包的任何内容可能需要手动编写绑定。这些绑定将根据需要添加。

使用

需求

ostree 包需要 libostree 和 libostree 开发头文件。

在 Debian 和 Ubuntu 上

$ sudo apt-get install libostree-1 libostree-dev

在 Fedora 和 CentOS 上

$ sudo dnf install ostree-libs ostree-devel

安装

要使用此包,将其添加到您的 Cargo.toml

[dependencies]
ostree = "0.10"

要使用后续 libostree 版本的功能,您还需要指定发布版本

[dependencies.ostree]
version = "0.10"
features = ["v2021_1"]

开发

可以使用常规 Cargo 命令构建和测试 ostreeostree-sys 包。

生成代码

大多数代码基于 gir 文件使用 gir 工具生成。

您可以直接从本地 ostree 构建中复制它来更新 OSTree-1.0.gir

或者,这些部分可以使用包含的 Makefile 重新生成

$ make gir

运行以下命令以更新捆绑的 gir 文件

$ make update-gir-files

文档

libostree API 文档默认不包含在代码中,因为其采用了 LGPL 许可协议。这意味着使用 cargo doc 运行时,生成的代码不会包含 API 文档。要包含 API 文档到源代码中以便 cargo doc

$ make merge-lgpl-docs

请注意,如果您构建的软件包包含了 API 文档,则其实际上采用了 LGPL 许可协议,您需要遵守 LGPL 的要求(特别是,允许最终用户替换 LGPL 部分的内容)。

CI 构建过程中包括了 LGPL 文档到文档构建中。

更新 glib-rs

  • Makefile 中更新 GIR_VERSION 为最新的 gir 提交(与目标 glib-rs 版本匹配)
  • 运行 make gir 以重新生成生成的代码
  • 检查生成代码中的差异
  • Cargo.tomlsys/Cargo.toml 中更新 glib-rs 的依赖

更新 ostree

  • Makefile 中更新 OSTREE_VERSION
  • 运行 make update-gir-files 以更新所有 gir 文件
  • 检查 OSTree-1.0.gir 的差异
  • 运行 make gir 以重新生成生成的代码
  • 将任何新功能级别添加到 Cargo.toml
  • 如果出现新的功能级别,则更新 README.md 中的示例功能级别

发布

可以使用管道中的 publish_* 作业进行发布。没有版本辅助工具,因此需要手动进行版本升级。

以下位置需要更改版本(如果适用)

  • sys/Cargo.toml 中为 -sys 软件包版本
  • Cargo.toml 中的 ostree-sys = 依赖项
  • Cargo.toml 中为主软件包版本
  • README.md安装 部分(如果进行主要版本升级)

然后以 ostree/x.y.z 和/或 ostree-sys/x.y.z 的形式标记提交。这将运行 crates.io 部署作业。主软件包和 -sys 软件包不需要同时发布。

许可证

ostree 软件包采用 MIT 许可协议。有关详细信息,请参阅 LICENSE 文件。

libostree 本身采用 LGPL2+ 许可协议。有关更多信息,请参阅其许可信息

libostree 的 GIR 文件(gir-files/OSTree-1.0.gir)源自 libostree 源代码,也采用 LGPL2+ 许可协议。LGPL 版本 2 的副本包含在 LICENSE.LGPL2 文件中。

其余的 GIR 文件(gir-files/*.gir)来自 glib 项目,并采用 LGPL2.1+ 许可协议。LGPL 版本 2.1 的副本包含在 LICENSE.LGPL2.1 文件中。

依赖关系

~9.5MB
~207K SLoC