In meson
's debian/control
file, I see its Build-Depends
is as follows (see the last line):
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),
... ...
What is the meaning of "any" in "python3:any (>= 3.5)"?
I found the related part of the source code here (and hopefully I found the right code):
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
The code comment says the ":any" part specifies the architecture.
However, after reading the following chapters in Debian Policy Manual v4.5.0.2:
[2] does talk about the bracket syntax (e.g., "hurd-dev [hurd-i386]") that specifies the architectures that the package should be installed. I haven't found the text that mentions this colon syntax.
So my previous question can be further divided into:
- Am I correct that the "any" part specifies the architecture?
- If "any" specifies the architecture, what's the difference between the colon syntax (e.g., "python3:any") and the bracket syntax (e.g., "hurd-dev [hurd-i386]")?
- Why is the colon syntax needed if we already have the bracket syntax?
- Most importantly, could someone point me to the related documentation for this colon syntax?