clarify pack:
name behavior (draft)
#1936
Labels
discussion done
indicates an issue's discussion is completed
enhancement
New feature or request
proposal
Proposal for change or extension
The Problem To Be Solved
This is a proposal how pack names should behave regarding the sematic versioning fields
-<pre-release>
and+<build>
and case sensitivity.cbuild/csolution
:YML Input files: pack names only accept version without the fields
+<build>
. Thus it is not possible to specify a specific build of pack. Clarify in the specification and update schema removing+<build>
.Using
path:
allows to reference packs with-<pre-release>
and/or+<build>
information This is no change to the current specification.New requirement: Treat pack filenames as case insensitive, meaning that
Arm::Cmsis
is identical toARM:CMSIS
.PDCS files: allow in the element package to specify
-<pre-release>
and+<build>
information. This is no change to the current specification.*.cbuild-pack.yml
: records inresolved-pack:
the+<build>
information that is used. With option--frozen-packs
an error is issued even when only the+<build>
information changes. Without option--frozen-packs
it is accepted that+<build>
information changes and the new version is recorded.Public pack service (arm.com)
CMSIS Pack index files collecting a list of public packs should only list
*.pdsc
files with a version history specifying versions without<pre-release>
and/or+<build>
information.ToDo: define how such packs are indexed (suggestion is to reject packs with
<pre-release>
and/or+<build>
information)Note: Current pack importer does import pack versions with
<pre-release>
and/or+<build>
information and stores the full version in the index.pidx file.cpackget
Allows to install packs with
<pre-release>
and+<build>
information only using these syntax variants:cpackget add <path>/Vendor.PackName.x.y.z[-<pre-release>][+<build>].pack
- this installs in CMSIS_PACK_ROOT (see note)cpackget add https://vendor.com/example/Vendor.PackName.x.y.z[-<pre-release>][+<build>].pack
- this installs in CMSIS_PACK_ROOT (see note)cpackget add Vendor.PackName.pdsc
- this installs as local packThus Open-CMSIS-Pack/cpackget#385 is not considered as a bug, but should be rejected with an error.
Note: the directory in CMSIS_PACK_ROOT will be always without
[+<build>]
information. Thus packs which only differ in the+<build>
information are considered "equal" from the CMSIS_PACK_ROOT point of view (need better wording).The directory name used in CMSIS_PACK_ROOT considers the case used in the *.PDSC file. However an existing directory name will kept identical (meaning that changes in a later version to the case of vendor or pack name are not reflected in the directory name).
When the CMSIS_PACK_ROOT contains both, a standard pack and a local pack (registered in
local_repository.pidx
) with the same semantic version (excluding+<build>
information), the pack inlocal_repository.pidx
takes precedence.Relates to:
The text was updated successfully, but these errors were encountered: