diff --git a/PURL-TYPES.rst b/PURL-TYPES.rst index 2bf69af..bbe89f4 100644 --- a/PURL-TYPES.rst +++ b/PURL-TYPES.rst @@ -471,6 +471,19 @@ including container images built by Docker and others: pkg:oci/static@sha256%3A244fd47e07d10?repository_url=gcr.io/distroless/static&tag=latest pkg:oci/hello-wasm@sha256%3A244fd47e07d10?tag=v1 +pear +---- +``pear`` for PEAR and PECL PHP packages: + +- The default repository for PEAR is ``https://pear.php.net``. The default repository for PECL is ``https://pecl.php.net/``. +- The ``namespace`` is the channel of the package. The domain portion of the channel MUST be lowercased. +- The ``name`` is not case sensitive +- The ``version`` is the version of the package +- Examples: + + pkg:pear/pear.php.net/Text_Password@1.2.1 + pkg:pear/pecl.php.net/APCu@5.1.23 + pub ---- ``pub`` for Dart and Flutter packages: @@ -588,8 +601,6 @@ Other candidate types to define: - ``openwrt`` for OpenWRT packages: - ``osgi`` for OSGi bundle packages: - ``p2`` for Eclipse p2 packages: -- ``pear`` for Pear PHP packages: -- ``pecl`` for PECL PHP packages: - ``perl6`` for Perl 6 module packages: - ``platformio`` for PlatformIO packages: - ``ebuild`` for Gentoo Linux portage packages: diff --git a/test-suite-data.json b/test-suite-data.json index a819fc8..d55e2a1 100644 --- a/test-suite-data.json +++ b/test-suite-data.json @@ -550,5 +550,41 @@ "qualifiers": null, "subpath": null, "is_invalid": false + }, + { + "description": "valid php pecl purl", + "purl": "pkg:pear/pecl.php.net/APCu@5.1.23", + "canonical_purl": "pkg:pear/pecl.php.net/APCu@5.1.23", + "type": "pear", + "namespace": "pecl.php.net", + "name": "APCu", + "version": "5.1.23", + "qualifiers": null, + "subpath": null, + "is_invalid": false + }, + { + "description": "valid php pecl purl without version", + "purl": "pkg:pear/pecl.php.net/APCu", + "canonical_purl": "pkg:pear/pecl.php.net/APCu", + "type": "pear", + "namespace": "pecl.php.net", + "name": "APCu", + "version": null, + "qualifiers": null, + "subpath": null, + "is_invalid": false + }, + { + "description": "valid php pear purl", + "purl": "pkg:pear/pear.php.net/Text_Password@1.2.1", + "canonical_purl": "pkg:pear/pear.php.net/Text_Password@1.2.1", + "type": "pear", + "namespace": "pear.php.net", + "name": "Text_Password", + "version": "1.2.1", + "qualifiers": null, + "subpath": null, + "is_invalid": false } ]