From ec708cf17f461d378e5961e5740d85ae70700e80 Mon Sep 17 00:00:00 2001 From: Patrick Ziegler Date: Wed, 15 Nov 2023 15:48:22 +0100 Subject: [PATCH] Add generic specification for the Eclipse provisioning platform (p2) In short, a p2 unit can be described via p2//. --- PURL-TYPES.rst | 54 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/PURL-TYPES.rst b/PURL-TYPES.rst index 1ace3bd..d22dce6 100644 --- a/PURL-TYPES.rst +++ b/PURL-TYPES.rst @@ -397,6 +397,59 @@ nuget pkg:nuget/EnterpriseLibrary.Common@6.0.1304 +p2 +---- +``p2`` for Eclipse p2 units: + +- A p2 unit represents a unit of software that can be consumed using the Eclipse + Provisioning Platform. A unit can represent various types of software + artifacts, such as Eclipse features, plug-ins or other bundles. + +- A p2 unit is uniquely identified by its id and version. A namespace is + therefore not necessary. + +- The name corresponds to the unique identifier of a given p2 unit. This id + uniquely identifies a unit within the Eclipse Provisioning Platform. + Examples:: + + org.eclipse.core.resources.win32.x86_64 + org.eclipse.rcp.sdk.id.executable.win32.win32.x86_64 + org.eclipse.sdk.feature.group + +- The version corresponds to the version of the p2 unit. A p2 repository may + host multiple versions of the same unit. This information is therefore + essential when resolving the relationship between different artifacts. + Examples:: + + 3.5.500.v20220812-1420 + 2.0.0.202304281106 + +- The software artifact are accessed from a p2 repository. Given that each + project may host their own update site, no default repository exists. The base + path to this repository is provided by the ``repository_url`` qualifier key + and is optional. + Examples:: + + https://download.eclipse.org/releases/2023-09/202309131000 + https://download.itemis.com/updates/releases/2.1.1 + +- A p2 repository can host a multitude of artifacts. The type of artifact is + provided by the ``classifier`` qualifier key and is optional. + Examples:: + + binary + org.eclipse.update.feature + osgi.bundle + + +- The full URL of a p2 unit can be derived from the name, version, repository + URL and classifier. + Examples:: + + pkg:p2/org.eclipse.core.resources.win32.x86_64@3.5.500.v20220812-1420 + pkg:p2/org.eclipse.rcp.sdk.id.executable.win32.win32.x86_64@4.29.0.I20230903-1000?classifier=binary + pkg:p2/org.eclipse.sdk.feature.group@4.29.0.v20230903-1000?repository_url=https://download.eclipse.org/releases/2023-09/202309131000 + qpkg ---- ``qpkg`` for QNX packages: @@ -558,7 +611,6 @@ Other candidate types to define: - ``opam`` for OCaml packages: - ``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: