Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions etc/scripts/purl_type_definition.py
Original file line number Diff line number Diff line change
Expand Up @@ -254,3 +254,11 @@ class NamespaceDefinition(PurlComponentDefinition):
),
title="Namespace requirement",
)
known_values: Optional[list[str]] = Field(
None,
description=(
"Optional set of known values for this namespace. If provided, the namespace value"
" SHOULD be one of these."
),
title="Known values",
)
9 changes: 9 additions & 0 deletions schemas/purl-type-definition.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,15 @@
"$ref": "#/definitions/prohibited_requirement"
}
]
},
"known_values": {
"title": "Known values",
"description": "Optional set of known values for this namespace. If provided, the namespace value SHOULD be one of these.",
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
},
"allOf": [
Expand Down
2 changes: 1 addition & 1 deletion types-doc/cpan-definition.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ The structure of a PURL for this package type is:

- **Requirement:** Required
- **Native Label:** CPAN ID of the author/publisher
- **Note:** `It MUST be written uppercase and is required.`
- **Note:** `It MUST be written uppercase and is required`

## Name definition

Expand Down
6 changes: 5 additions & 1 deletion types/deb-definition.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@
"native_name": "vendor",
"case_sensitive": false,
"note": "The namespace is the \"vendor\" name such as \"debian\" or \"ubuntu\". It is not case sensitive and must be lowercased.",
"requirement": "required"
"requirement": "required",
"known_values": [
"debian",
"ubuntu"
]
},
"name_definition": {
"requirement": "required",
Expand Down
13 changes: 12 additions & 1 deletion types/rpm-definition.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,18 @@
"case_sensitive": false,
"native_name": "vendor",
"note": "The namespace is the vendor such as Fedora or OpenSUSE. It is not case sensitive and must be lowercased.",
"requirement": "required"
"requirement": "required",
"known_values": [
"redhat",
"centos",
"fedora",
"almalinux",
"rockylinux",
"opensuse",
"oraclelinux",
"amazonlinux",
"azurelinux"
]
},
"name_definition": {
"requirement": "required",
Expand Down