1个不稳定版本
使用旧的Rust 2015
0.2.0 | 2016年4月24日 |
---|
#12 in #searcher
1.5MB
30K SLoC
feaders-rs
使用Rust重新实现Feaders项目。
用法
$ feaders -h
Usage: feaders [options] PATH
Options:
-h, --help prints this menu
-r, --repo repository to use for resolution
-v, --verbose verbose mode
-d, --deduplicate try to deduplicate headers
--version display version information
(注意:当前忽略存储库参数,搜索/etc/yum.repos.d/
中找到的所有存储库)
示例运行
$ feaders -d ../Pillow/
python-devel-2.7.10-8.fc22.x86_64
tk-devel-1:8.6.4-2.fc22.x86_64
libjpeg-turbo-devel-1.4.0-2.fc22.x86_64
libtiff-devel-4.0.3-21.fc22.x86_64
openjpeg-devel-1.5.1-14.fc22.x86_64
zlib-devel-1.2.8-7.fc22.x86_64
lcms2-devel-2.7-1.fc22.x86_64
libwebp-devel-0.4.4-1.fc22.x86_64
与原始Feaders的不同之处
除了用Rust而不是Python编写之外,feaders-rs
在搜索存储库方面采取了不同的方法。原始实现依赖于librepo
下载存储库的sqlite
表示形式,将工作流程分为客户端/服务器部分,其中客户端用于在文件系统中搜索C/C++文件,提取#include
语句,并查询执行所有sqlite
查询的服务器。
feaders-rs
使用libhif
通过libsolv
查询来简化搜索。使用rust-bindgen自动生成libhif
的FFI定义,并可在其自己的存储库rust-libhif中找到Docker化的生成器。
注意
我已经使用这个项目来实际学习Rust,如果你发现一个愚蠢的错误或只是“糟糕的Rust”,请打开一个问题或发送一个拉取请求。
依赖关系
~4.5MB
~85K SLoC