6 个版本

0.3.2 2020年10月30日
0.3.1 2019年12月29日
0.3.0 2017年11月18日
0.2.1 2017年9月9日
0.1.0 2017年7月13日

#273操作系统

Download history 33/week @ 2024-03-13 2/week @ 2024-03-20 9/week @ 2024-03-27 12/week @ 2024-04-03 21/week @ 2024-04-10 22/week @ 2024-04-17 15/week @ 2024-04-24 3/week @ 2024-05-15 5/week @ 2024-05-22 8/week @ 2024-05-29 21/week @ 2024-06-05 22/week @ 2024-06-12 26/week @ 2024-06-19 56/week @ 2024-06-26

130 每月下载量
deb-version 中使用

MIT 许可证

51KB
1K SLoC

Rust 896 SLoC // 0.0% comments C++ 318 SLoC // 0.1% comments

此crate提供了对libapt-pkg的绑定。

Build status

文档和示例

请参阅 examples/ 文件夹以获取一些命令的部分实现。

https://docs.rs/apt-pkg-native

许可证说明

虽然此crate中的代码可在MIT许可证下使用,但没有libapt-pkg(GPL2+),它是无用的。

构建

必须安装 libapt-pkg-dev。使用 cc crate 尝试查找原生编译器。

提供 ye-olde-apt 特性以支持 apt <1.2 (Ubuntu 14.04 (Trusty), Debian 7 (Jessie) (2015))。这是通过仅删除该版本中不可用的方法来实现的。请参阅 #2

线程安全性

该crate应该可以从多个线程中使用。然而,这通常是通过单例实现的,这可能对您的用例非常恼人。

当前对单例的管理方式非常糟糕,在我学习这些问题时还没有修复。通过增加主要版本号和适当的单例,可以解决一些问题。这最终必须完成。

apt 没有并发模型:您不能使用线程。

apt 1.4 或 1.5(在 Debian Stretch (2017) 中,但不在 Xenial 16.04 中)开始,某些操作是线程安全的:应该可以并行初始化缓存两次。由于这些版本的 apt 并不广泛使用,此crate的API不尝试暴露此功能。

使用 docker 切换发行版

examples/on-sid 有一个 Dockerfile,它构建了一个包含典型软件包列表的最小 Debian 图像。您可以从这个目录中运行其中的工具:

(cd examples/on-sid && make)
docker run -v $(pwd):/mnt sid-sources-list /mnt/target/release/examples/sources

依赖项

~235KB