在meson
的debian/control
文件中,我看到它Build-Depends
如下(见最后一行):
Source: meson
Maintainer: Jussi Pakkanen <jpakkane@gmail.com>
Section: devel
Priority: optional
Standards-Version: 4.5.0
Homepage: https://mesonbuild.com
X-Python3-Version: >= 3.7
Rules-Requires-Root: no
Build-Depends: debhelper (>= 12),
python3:any (>= 3.5),
... ...
“python3:any(> = 3.5)”中的“any”是什么意思?
我在这里找到了源代码的相关部分(希望我找到了正确的代码):
return if not $dep =~
m{^\s* # skip leading whitespace
($pkgname_re) # package name
(?: # start of optional part
: # colon for architecture
([a-zA-Z0-9][a-zA-Z0-9-]*) # architecture name
)? # end of optional part
代码注释说“:any”部分指定了架构。
但是,在阅读Debian Policy Manual v4.5.0.2中的以下章节后:
- [1] 5. 控制文件及其字段
- [2] 7.声明包之间的关系
[2] 确实谈到了括号语法(例如,“hurd-dev [hurd-i386]”),它指定了应该安装包的架构。我还没有找到提到这个冒号语法的文本。
所以我之前的问题可以进一步分为:
- 我是否正确“任何”部分指定了架构?
- 如果“any”指定架构,冒号语法(例如“python3:any”)和括号语法(例如“hurd-dev [hurd-i386]”)之间有什么区别?
- 如果我们已经有了括号语法,为什么还需要冒号语法?
- 最重要的是,有人能指点我这个冒号语法的相关文档吗?