#debian #control #dpkg #deb

debcontrol_struct_derive

为结构体自动解析 Debian 控制文件(proc 宏)

4 个版本 (2 个破坏性更新)

0.3.1 2021年9月4日
0.3.0 2021年8月5日
0.2.0 2021年8月4日
0.1.0 2021年8月4日

#10 in #dpkg


2 crates 中使用

MIT/Apache

9KB
176

debcontrol_struct

Build Latest version Documentation License

为结构体自动解析 Debian 控制文件。

用法

为了使用此 crate,您必须将以下依赖项添加到项目的 Cargo.toml 文件中

[dependencies]
debcontrol_struct = "0.3.1"

示例

安装 crate 后,您就可以使用 DebControl derive 了!

通过定义以下结构

use debcontrol::{Paragraph, Field};
use debcontrol_struct::DebControl;

#[derive(DebControl)]
struct DerivedStruct {
    first: String,
    multiple_words: String,
    optional: Option<String>,
}

然后可以自动从 debcontrol 段落解析结构

let input = &debcontrol::parse_str(
    "First: Hello\n\
     Multiple-Words: World\n"
).unwrap()[0];

let derived = DerivedStruct::from_paragraph(&input).unwrap();
assert_eq!("Hello", derived.first);
assert_eq!("World", derived.multiple_words);
assert_eq!(None, derived.optional);

许可证

根据您的选择,在以下两者之下许可:[a href="https://github.com/microjoe/debcontrol_struct/blob/HEAD/LICENSE-APACHE" rel="noopener ugc nofollow">Apache 许可证 2.0 版 或 [a href="https://github.com/microjoe/debcontrol_struct/blob/HEAD/LICENSE-MIT" rel="noopener ugc nofollow">MIT 许可证。

除非您明确声明,否则您提交给本项目以包含在内的任何贡献,根据 Apache-2.0 许可证的定义,应如上所述双重许可,不附加任何额外的条款或条件。

依赖关系

~1.5MB
~35K SLoC