summaryrefslogtreecommitdiff
path: root/spec-qdp/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec-qdp/spec')
-rw-r--r--spec-qdp/spec/qdp-copyrights-by-license.yml30
-rw-r--r--spec-qdp/spec/qdp-directory-state-exclude-role.yml25
-rw-r--r--spec-qdp/spec/qdp-directory-state-generic.yml22
-rw-r--r--spec-qdp/spec/qdp-directory-state-pattern-list.yml16
-rw-r--r--spec-qdp/spec/qdp-directory-state-patterns.yml37
-rw-r--r--spec-qdp/spec/qdp-directory-state.yml48
-rw-r--r--spec-qdp/spec/qdp-file-state-list.yml16
-rw-r--r--spec-qdp/spec/qdp-file-state.yml30
-rw-r--r--spec-qdp/spec/qdp-optional-sha512.yml20
-rw-r--r--spec-qdp/spec/qdp-repository-role.yml23
-rw-r--r--spec-qdp/spec/qdp-repository.yml50
-rw-r--r--spec-qdp/spec/qdp-sha512.yml18
-rw-r--r--spec-qdp/spec/qdp-unpacked-archive.yml46
13 files changed, 381 insertions, 0 deletions
diff --git a/spec-qdp/spec/qdp-copyrights-by-license.yml b/spec-qdp/spec/qdp-copyrights-by-license.yml
new file mode 100644
index 00000000..fbed9d61
--- /dev/null
+++ b/spec-qdp/spec/qdp-copyrights-by-license.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ description:
+ description: |
+ If the value is present, then it shall be the licensing description.
+ spec-type: str
+ files:
+ description: |
+ If the value is present, then it shall be the list of license files.
+ spec-type: list-str
+ description: |
+ This set of attributes contains associated copyrights by license.
+ generic-attributes:
+ description: null
+ key-spec-type: spdx-license-identifier
+ value-spec-type: copyrights
+ mandatory-attributes: none
+spec-name: Copyrights by License
+spec-type: qdp-copyrights-by-license
+type: spec
diff --git a/spec-qdp/spec/qdp-directory-state-exclude-role.yml b/spec-qdp/spec/qdp-directory-state-exclude-role.yml
new file mode 100644
index 00000000..07e5aaaf
--- /dev/null
+++ b/spec-qdp/spec/qdp-directory-state-exclude-role.yml
@@ -0,0 +1,25 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: role
+ spec-value: directory-state-exclude
+ uid: link
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes: {}
+ description: |
+ It defines the directory state exclude role of links. Such links are
+ used to exclude the files of the referenced
+ ${qdp-directory-state:/spec-name} from the pattern defined directory
+ state.
+ mandatory-attributes: all
+spec-name: Directory State Exclude Link Role
+spec-type: qdp-directory-state-exclude-role
+type: spec
diff --git a/spec-qdp/spec/qdp-directory-state-generic.yml b/spec-qdp/spec/qdp-directory-state-generic.yml
new file mode 100644
index 00000000..0bad0795
--- /dev/null
+++ b/spec-qdp/spec/qdp-directory-state-generic.yml
@@ -0,0 +1,22 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: directory-state-type
+ spec-value: generic
+ uid: qdp-directory-state
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes: {}
+ description: |
+ This set of attributes specifies a generic directory state.
+ mandatory-attributes: all
+spec-name: Generic Directory State Item Type
+spec-type: qdp-directory-state-generic
+type: spec
diff --git a/spec-qdp/spec/qdp-directory-state-pattern-list.yml b/spec-qdp/spec/qdp-directory-state-pattern-list.yml
new file mode 100644
index 00000000..b0cafee3
--- /dev/null
+++ b/spec-qdp/spec/qdp-directory-state-pattern-list.yml
@@ -0,0 +1,16 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ list:
+ description: null
+ spec-type: qdp-directory-state-patterns
+spec-name: Directory State Pattern List
+spec-type: qdp-directory-state-pattern-list
+type: spec
diff --git a/spec-qdp/spec/qdp-directory-state-patterns.yml b/spec-qdp/spec/qdp-directory-state-patterns.yml
new file mode 100644
index 00000000..4cbcde6d
--- /dev/null
+++ b/spec-qdp/spec/qdp-directory-state-patterns.yml
@@ -0,0 +1,37 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ include:
+ description: |
+ It shall be a Python ``fnmatch`` pattern. If a file path relative to
+ the base directory of the directory state matches with the pattern,
+ then the file is added to the directory state if it is not rejected
+ by an exclude pattern.
+ spec-type: str
+ exclude:
+ description: |
+ It shall be a list of Python ``fnmatch`` patterns. If a file path
+ matches with the pattern, then the file is not added to the directory
+ state. The file paths are absolute paths relative to the base
+ directory of the directory state. For example, if the directory
+ state has a base of ``/base`` and a file to include has the path
+ ``/base/abc``, then the file path ``/abc`` is used to match with the
+ exclude patterns.
+ spec-type: list-str
+ description: |
+ This set of attributes specifies a set of patterns used to load the file
+ list of the directory state.
+ mandatory-attributes: all
+ none: null
+spec-name: Directory State Patterns
+spec-type: qdp-directory-state-patterns
+type: spec
diff --git a/spec-qdp/spec/qdp-directory-state.yml b/spec-qdp/spec/qdp-directory-state.yml
new file mode 100644
index 00000000..838eeaf7
--- /dev/null
+++ b/spec-qdp/spec/qdp-directory-state.yml
@@ -0,0 +1,48 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: qdp-type
+ spec-value: directory-state
+ uid: qdp-root
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ copyrights-by-license:
+ description: null
+ spec-type: qdp-copyrights-by-license
+ directory:
+ description: |
+ It shall be the path to the directory. A variable substitution is
+ performed on the value. For example, you can use
+ ``$${/variant:/build-directory}/some/path/in/build/directory`` or
+ ``$${/variant:/deployment-directory}/some/path/in/deployment/directory``.
+ spec-type: str
+ directory-state-type:
+ description: |
+ It shall be the directory state type.
+ spec-type: name
+ patterns:
+ description: null
+ spec-type: qdp-directory-state-pattern-list
+ files:
+ description: null
+ spec-type: qdp-file-state-list
+ hash:
+ description: |
+ If the value is present, then it shall be the hash of the file state
+ list and the directory path, otherwise the directory state is
+ invalid.
+ spec-type: qdp-optional-sha512
+ description: |
+ This set of attributes specifies a directory state.
+ mandatory-attributes: all
+spec-name: Directory State Item Type
+spec-type: qdp-directory-state
+type: spec
diff --git a/spec-qdp/spec/qdp-file-state-list.yml b/spec-qdp/spec/qdp-file-state-list.yml
new file mode 100644
index 00000000..963a4d42
--- /dev/null
+++ b/spec-qdp/spec/qdp-file-state-list.yml
@@ -0,0 +1,16 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ list:
+ description: null
+ spec-type: qdp-file-state
+spec-name: File State List
+spec-type: qdp-file-state-list
+type: spec
diff --git a/spec-qdp/spec/qdp-file-state.yml b/spec-qdp/spec/qdp-file-state.yml
new file mode 100644
index 00000000..b3dd8489
--- /dev/null
+++ b/spec-qdp/spec/qdp-file-state.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ file:
+ description: |
+ It shall be the path to the file. A variable substitution is
+ performed on the value. For example, you can use
+ ``$${/variant:/build-directory}/some/path/in/build/file`` or
+ ``$${/variant:/deployment-directory}/some/path/in/deployment/file``.
+ spec-type: str
+ hash:
+ description: |
+ If the value is present, then it shall be the hash of the file,
+ otherwise the file state is invalid.
+ spec-type: qdp-optional-sha512
+ description: |
+ This set of attributes specifies a file state.
+ mandatory-attributes: all
+spec-name: File State
+spec-type: qdp-file-state
+type: spec
diff --git a/spec-qdp/spec/qdp-optional-sha512.yml b/spec-qdp/spec/qdp-optional-sha512.yml
new file mode 100644
index 00000000..c3291cd4
--- /dev/null
+++ b/spec-qdp/spec/qdp-optional-sha512.yml
@@ -0,0 +1,20 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ none: null
+ str:
+ assert:
+ - re: ^[A-Za-z0-9+_=-]{88}$
+ description: |
+ If the value is present, then it shall be a SHA512 hash value encoded in
+ base64url.
+spec-name: Optional SHA512
+spec-type: qdp-optional-sha512
+type: spec
diff --git a/spec-qdp/spec/qdp-repository-role.yml b/spec-qdp/spec/qdp-repository-role.yml
new file mode 100644
index 00000000..bcba5cff
--- /dev/null
+++ b/spec-qdp/spec/qdp-repository-role.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: role
+ spec-value: repository
+ uid: link
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes: {}
+ description: |
+ It defines the repository role of links and is used to define the
+ deployed repositories of a package variant.
+ mandatory-attributes: all
+spec-name: Repository Link Role
+spec-type: qdp-repository-role
+type: spec
diff --git a/spec-qdp/spec/qdp-repository.yml b/spec-qdp/spec/qdp-repository.yml
new file mode 100644
index 00000000..f4e27795
--- /dev/null
+++ b/spec-qdp/spec/qdp-repository.yml
@@ -0,0 +1,50 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020, 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: directory-state-type
+ spec-value: repository
+ uid: qdp-directory-state
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ branch:
+ description: |
+ It shall be a branch in the source repository for the commit.
+ spec-type: str
+ commit:
+ description: |
+ It shall be the commit of the branch in the source repository.
+ spec-type: qdp-git-hash
+ description:
+ description: |
+ It shall be the description of the repository.
+ spec-type: str
+ origin-branch:
+ description: |
+ It shall be the origin branch name.
+ spec-type: optional-str
+ origin-commit:
+ description: |
+ It shall be the commit of the origin branch.
+ spec-type: qdp-optional-git-hash
+ origin-commit-url:
+ description: |
+ It shall be the URL of the commit web page at the origin.
+ spec-type: optional-str
+ origin-url:
+ description: |
+ It shall be the repository URL of the origin.
+ spec-type: optional-str
+ description: |
+ This set of attributes specifies a repository.
+ mandatory-attributes: all
+spec-name: Repository Item Type
+spec-type: qdp-repository
+type: spec
diff --git a/spec-qdp/spec/qdp-sha512.yml b/spec-qdp/spec/qdp-sha512.yml
new file mode 100644
index 00000000..4eec0c80
--- /dev/null
+++ b/spec-qdp/spec/qdp-sha512.yml
@@ -0,0 +1,18 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ str:
+ assert:
+ - re: ^[A-Za-z0-9+_=-]{88}$
+ description: |
+ It shall be a SHA512 hash value encoded in base64url.
+spec-name: SHA512
+spec-type: qdp-sha512
+type: spec
diff --git a/spec-qdp/spec/qdp-unpacked-archive.yml b/spec-qdp/spec/qdp-unpacked-archive.yml
new file mode 100644
index 00000000..c808770a
--- /dev/null
+++ b/spec-qdp/spec/qdp-unpacked-archive.yml
@@ -0,0 +1,46 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: directory-state-type
+ spec-value: unpacked-archive
+ uid: qdp-directory-state
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ description:
+ description: |
+ It shall be the description of the unpacked archive.
+ spec-type: str
+ archive-file:
+ description: |
+ It shall be the archive file.
+ spec-type: str
+ archive-hash:
+ description: |
+ It shall be the archive hash.
+ spec-type: qdp-sha512
+ archive-patches:
+ description: |
+ It shall be the list of patches applied to the archive.
+ spec-type: any
+ archive-symbolic-links:
+ description: |
+ It shall be the list of symbolic links added to the archive.
+ spec-type: any
+ archive-url:
+ description: |
+ It shall be the archive URL.
+ spec-type: optional-str
+ description: |
+ This set of attributes specifies an unpacked archive.
+ mandatory-attributes: all
+spec-name: Unpacked Archive Item Type
+spec-type: qdp-unpacked-archive
+type: spec