二进制包控制文件字段标识符中的有效字符

二进制包控制文件字段标识符中的有效字符

字符限制是什么debian 二进制包控制文件在 Ubuntu 中?

python-tempest 目前使用一个名为trusty 中的控制文件中的 Python_version这会导致 python_support.py 在解析包文件时出错。

我还没有找到关于下划线(例如 python-tempest 包使用的下划线)作为字段标识符是否有效的文档。

答案1

来自 Debian 政策手册,5.1控制文件的语法

每个段落由一系列数据字段组成。每个字段由字段名称、冒号和与该字段关联的数据/值组成。字段名称由 US-ASCII 字符组成,不包括控制字符、空格和冒号(即 U+0021 ( !) 至 U+0039 ( 9) 和 U+003B ( ;) 至 U+007E ( ~) 范围内的字符(含)。字段名称不得以注释字符 (U+0023 #) 开头,也不得以连字符 (U+002D -) 开头。

对于字段名称来说,这似乎_是一个完全有效的字符control

答案2

如果有人找到规范,最好将其添加为答案;暂时我将使用位于的来源python-debian 包中的 debian_support.py

当前它使用这个正则表达式来解析包控制文件:

^([A-Za-z][A-Za-z0-9-_]+):(?:\s*(.*?))?\s*$

相关内容