setuptools的扩展,支持可重现的分发
项目描述
setuptools-reproducible
这是一个PEP 517构建后端,它通过可重现构建与setuptools。
Setuptools可以在构建时通过设置SOURCE_DATE_EPOCH
来创建可重现的wheel存档(.whl),但对于创建可重现的sdists(.tar.gz)而言,仅设置环境变量是不够的。
setuptools-reproducible通过一些修改封装了build_sdist
和build_wheel
钩子,以使可重现构建成为默认选项
- 在构建环境中,如果未进行配置,将使用
SOURCE_DATE_EPOCH=0
。 - 将tarfile模式设置为0o644用于常规文件,0o755用于目录。
- 将存档成员的uid/gid设置为0,并将用户名/组名设置为空字符串。
- 将gzip头值设置为源日期纪元。
通过这些修改,在相同的构建环境中创建的内容相同的源树应产生具有相同校验和的构建包。
注意:由于Windows/Unix行结束和Python标准库更改的差异,校验和可能不会在平台和Python版本之间保持不变。
使用方法
后端功能与上游setuptools相同。用户需要更改的是在pyproject.toml
中指定构建系统。
[build-system]
requires = ["setuptools-reproducible"]
build-backend = "setuptools_reproducible"
设置SOURCE_DATE_EPOCH
是不必要的,除非您想覆盖默认值0
,即1970-01-01 00:00:00 UTC。
致谢
本实现受到来自Lisandro Dalcin在setuptools问题#2133中的有用评论的启发,并借鉴了项目repro-tarfile的一些想法。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
setuptools_reproducible-0.1.tar.gz (4.2 kB 查看哈希值)
构建分布
关闭
setuptools_reproducible-0.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1ae3c0dcca3f125e0fdfb7ce749c872f63d9fe6a0fd8b36954f639ee677f2f73 |
|
MD5 | afb3d02461c1a9170608b5de4dce2d41 |
|
BLAKE2b-256 | 7bb6de696b39a53e7f05ba62f9f0a1329769679f3bac203d5cb0a90406b1d5a1 |
关闭
setuptools_reproducible-0.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 753dfa85af4fdbcc6dda769403287848b6b982502d1197df681a1fb506a20e5b |
|
MD5 | f68286bb239b614d3c25010b0573d761 |
|
BLAKE2b-256 | e54ebba85bc26060b1b02003a4e6664929792790f9579f56d3b6aeff80bea1d2 |