解析Debian包、版权和控制文件的实用程序。
项目描述
解析Debian包、版权和控制文件的实用程序
Python包《debian_inspector》是一组工具,用于解析各种Debian软件包的清单、机器可读的版权和控制文件,这些文件统称为Debian 822格式(基于RFC822电子邮件格式)。
最初命名为“debut”,是DEBian和UTilities的组合。
起源
这个库基于原始代码与来自其他来源的代码经过大量修改和混搭的组合
来自@xolox的python-deb-pkg-tools,用于处理Debian软件包、版本、依赖关系以及其他软件包间关系字段的解析,以及处理Debian版本语法并比较它们的能力。请参阅https://github.com/xolox/python-deb-pkg-tools
来自@agustinhenze的dlt(Debian许可工具),用于检查许可文件“文件”部分的覆盖率,以及许多灵感。请参阅https://github.com/agustinhenze/dlt/
来自@SecurityInnovation和@Commod0re的PGPy,其能够从电子邮件中移除PGP签名。dsc(Debian源控制)文件通常是PGP签名的,类似于电子邮件。请参阅https://github.com/SecurityInnovation/PGPy
来自@TheClimateCorporation和@memory的python-dpkg,其能够处理Debian版本语法并根据规范进行比较。请参阅https://github.com/TheClimateCorporation/python-dpkg
为什么?
为什么创建这个看似多余的库?官方的python-debian工具和几个其他实用工具已经提供了类似的功能!
表面上这是正确的,但有几个原因要创建一个新的实用工具
现有工具严格解析控制文件。这个库试图更加灵活。例如,它可以识别和修复一些几乎正确的版权文件,这些文件不是完全“机器可读”的,但足够接近规范,值得恢复。
其中一些工具必须处理遗留兼容性。我们没有这样的需求。例如,Python标准库的email模块和一行代码就足以解析Debian 822文件字段。我怀疑在python-debian开始时,标准库中并没有这个功能,但现在有了,这大大简化了代码。
这个库的重点是解析和检查控制文件,而不是生成和创建它们,因此代码和测试可以更加简单。例如,而不是使用更复杂的区分大小写的字典键来保留Deb822-like对象的键的大小写,这个库在整个库中使用了小写键。
官方的python-debian库是GPL许可的,这使得它很难与Apache许可的库结合。我尝试与python-debian的所有作者协商,以使其能够集成到许可宽松的Python工具中。尽管大多数当前维护者和贡献者都同意这种重新授权为许可宽松或LGPL许可,但我无法从一些重要的传统作者那里得到回复和同意:因此重新授权是不可能的。
许可证
SPDX-License-Identifier: Apache-2.0 AND BSD-3-Clause AND MIT
这个软件结合了来自不同许可来源的软件。所有这些许可证都适用,因为所有原始文件都已经进行了显著的重构和混搭
Copyright (c) nexB Inc. and others. Copyright (c) Peter Odding. Copyright (c) The Climate Corporation (https://climate.com) Copyright (c) Security Innovation, Inc Copyright (c) Agustin Henze <tin@sluc.org.ar>
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发版
debian_inspector-31.1.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ebcfbc17064f10bd3b6d2122cdbc97b71a494af0ebbafaf9a8ceadfe8b164f99 |
|
MD5 | bc819b1bc1d207e8687e258fbc0cbddb |
|
BLAKE2b-256 | 907a6f9d38aabf50c1e0449e22e42485047f9d22792664e1006b14aba8d2f604 |
debian_inspector-31.1.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 77dfeb34492dd49d8593d4f7146ffa3f71fca703737824e09d7472e0eafca567 |
|
MD5 | 2b7c5626ea877850565b30d2bb3225e9 |
|
BLAKE2b-256 | 0961709907d112553b39c8c907f0f90618de58ec87ca4565959d2ad350c84b9f |