PEP 639: Make the policy around globs tighter (#3913)
This commit is contained in:
parent
0c23a1fe31
commit
1f6cac14e0
|
@ -521,21 +521,32 @@ containing licenses and other legal notices to be distributed with the package.
|
||||||
It corresponds to the ``License-File`` fields in the Core Metadata.
|
It corresponds to the ``License-File`` fields in the Core Metadata.
|
||||||
|
|
||||||
Its value is an array of strings which MUST contain valid glob patterns,
|
Its value is an array of strings which MUST contain valid glob patterns,
|
||||||
as specified below.
|
as specified below:
|
||||||
The glob patterns MAY contain special glob characters: ``*``, ``?``, ``**``
|
|
||||||
and character ranges: ``[]``, and tools MUST support them.
|
- Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots (``.``)
|
||||||
Path delimiters MUST be the forward slash character (``/``),
|
MUST be matched verbatim.
|
||||||
and parent directory indicators (``..``) MUST NOT be used.
|
|
||||||
|
- Special glob characters: ``*``, ``?``, ``**`` and character ranges: ``[]``
|
||||||
|
containing only the verbatim matched characters MUST be supported.
|
||||||
|
Within ``[...]``, the hyphen indicates a range (e.g. ``a-z``).
|
||||||
|
Hyphens at the start or end are matched literally.
|
||||||
|
|
||||||
|
- Path delimiters MUST be the forward slash character (``/``).
|
||||||
|
Patterns are relative to the directory containing ``pyproject.toml``,
|
||||||
|
therefore the leading slash character MUST NOT be used.
|
||||||
|
|
||||||
|
- Parent directory indicators (``..``) MUST NOT be used.
|
||||||
|
|
||||||
|
Any characters or character sequences not covered by this specification are
|
||||||
|
invalid. Projects MUST NOT use such values.
|
||||||
|
Tools consuming this field MAY reject invalid values with an error.
|
||||||
|
|
||||||
Tools MUST assume that license file content is valid UTF-8 encoded text,
|
Tools MUST assume that license file content is valid UTF-8 encoded text,
|
||||||
and SHOULD validate this and raise an error if it is not.
|
and SHOULD validate this and raise an error if it is not.
|
||||||
|
|
||||||
Literal paths (e.g. ``LICENSE``) are treated as valid globs which means they
|
Literal paths (e.g. ``LICENSE``) are treated as valid globs which means they
|
||||||
can also be defined.
|
can also be defined.
|
||||||
|
|
||||||
To achieve better portability, the filenames to match should only contain
|
|
||||||
the alphanumeric characters, underscores (``_``), hyphens (``-``)
|
|
||||||
and dots (``.``).
|
|
||||||
|
|
||||||
Build tools:
|
Build tools:
|
||||||
|
|
||||||
- MUST treat each value as a glob pattern, and MUST raise an error if the
|
- MUST treat each value as a glob pattern, and MUST raise an error if the
|
||||||
|
|
Loading…
Reference in New Issue