summaryrefslogtreecommitdiffstats
path: root/schema
diff options
context:
space:
mode:
Diffstat (limited to 'schema')
-rw-r--r--schema/json/group.json34
-rw-r--r--schema/json/hint.json61
-rw-r--r--schema/json/input-file.json23
-rw-r--r--schema/json/item-pointer.json19
-rw-r--r--schema/json/item.json21
-rw-r--r--schema/json/mask.json21
-rw-r--r--schema/json/override.json16
-rw-r--r--schema/json/results.json23
-rw-r--r--schema/json/screen.json35
-rw-r--r--schema/json/tag.json67
-rw-r--r--schema/json/taglist.json10
11 files changed, 330 insertions, 0 deletions
diff --git a/schema/json/group.json b/schema/json/group.json
new file mode 100644
index 0000000..8889f26
--- /dev/null
+++ b/schema/json/group.json
@@ -0,0 +1,34 @@
+{
+ "$id": "https://lintian.debian.org/schema/json/lintian/group.json",
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "description": "A group of related input files examined by Lintian",
+ "properties": {
+ "group_id": {
+ "description": "Lintian's distinctive ID for input files that belong together",
+ "type": "string"
+ },
+ "input_files": {
+ "description": "Files that were analyzed",
+ "items": {
+ "$ref": "/schema/json/lintian/input-file.json"
+ },
+ "type": "array"
+ },
+ "source_name": {
+ "description": "Debian name of source distribution",
+ "type": "string"
+ },
+ "source_version": {
+ "description": "Full debianized version of source distribution",
+ "type": "string"
+ }
+ },
+ "required": [
+ "group_id",
+ "input_files",
+ "source_name",
+ "source_version"
+ ],
+ "title": "Lintian Group",
+ "type": "object"
+}
diff --git a/schema/json/hint.json b/schema/json/hint.json
new file mode 100644
index 0000000..94cea0a
--- /dev/null
+++ b/schema/json/hint.json
@@ -0,0 +1,61 @@
+{
+ "$id": "https://lintian.debian.org/schema/json/lintian/hint.json",
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "description": "A Lintian packaging hint",
+ "properties": {
+ "masks": {
+ "anyOf": [
+ {
+ "description": "Automated exemption as part of a class",
+ "items": {
+ "$ref": "/schema/json/lintian/mask.json"
+ },
+ "type": [
+ "array"
+ ]
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "note": {
+ "description": "Annotation to aid understanding",
+ "type": "string"
+ },
+ "override": {
+ "anyOf": [
+ {
+ "$ref": "/schema/json/lintian/override.json"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "pointer": {
+ "anyOf": [
+ {
+ "$ref": "/schema/json/lintian/item-pointer.json"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "tag": {
+ "description": "Name of Lintian tag",
+ "type": "string"
+ },
+ "visibility": {
+ "description": "User-facing visibility",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tag",
+ "visibility"
+ ],
+ "title": "Lintian Hint",
+ "type": "object"
+}
diff --git a/schema/json/input-file.json b/schema/json/input-file.json
new file mode 100644
index 0000000..df07cdf
--- /dev/null
+++ b/schema/json/input-file.json
@@ -0,0 +1,23 @@
+{
+ "$id": "https://lintian.debian.org/schema/json/lintian/input-file.json",
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "description": "A file examined by Lintian",
+ "properties": {
+ "hints": {
+ "description": "Packaging hints for a given input",
+ "items": {
+ "$ref": "/schema/json/lintian/hint.json"
+ },
+ "type": "array"
+ },
+ "path": {
+ "description": "Path as given on the command line",
+ "type": "string"
+ }
+ },
+ "required": [
+ "path"
+ ],
+ "title": "Lintian Input File",
+ "type": "object"
+}
diff --git a/schema/json/item-pointer.json b/schema/json/item-pointer.json
new file mode 100644
index 0000000..f9b9168
--- /dev/null
+++ b/schema/json/item-pointer.json
@@ -0,0 +1,19 @@
+{
+ "$id": "https://lintian.debian.org/schema/json/lintian/item-pointer.json",
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "description": "A Lintian pointer to an item",
+ "properties": {
+ "item": {
+ "$ref": "/schema/json/lintian/item.json"
+ },
+ "line_position": {
+ "description": "Line number for indicated position",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "item"
+ ],
+ "title": "Lintian Item Pointer",
+ "type": "object"
+}
diff --git a/schema/json/item.json b/schema/json/item.json
new file mode 100644
index 0000000..3784964
--- /dev/null
+++ b/schema/json/item.json
@@ -0,0 +1,21 @@
+{
+ "$id": "https://lintian.debian.org/schema/json/lintian/item.json",
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "description": "A Lintian item",
+ "properties": {
+ "index": {
+ "description": "Index holding the item",
+ "type": "string"
+ },
+ "name": {
+ "description": "Path without a leading slash",
+ "type": "string"
+ }
+ },
+ "required": [
+ "index",
+ "name"
+ ],
+ "title": "Lintian Item",
+ "type": "object"
+}
diff --git a/schema/json/mask.json b/schema/json/mask.json
new file mode 100644
index 0000000..05fbd8e
--- /dev/null
+++ b/schema/json/mask.json
@@ -0,0 +1,21 @@
+{
+ "$id": "https://lintian.debian.org/schema/json/lintian/mask.json",
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "description": "A Lintian mask",
+ "properties": {
+ "excuse": {
+ "description": "Automated excuse",
+ "type": "string"
+ },
+ "screen": {
+ "description": "Screen granting the exemption",
+ "type": "string"
+ }
+ },
+ "required": [
+ "excuse",
+ "screen"
+ ],
+ "title": "Lintian Mask",
+ "type": "object"
+}
diff --git a/schema/json/override.json b/schema/json/override.json
new file mode 100644
index 0000000..089c536
--- /dev/null
+++ b/schema/json/override.json
@@ -0,0 +1,16 @@
+{
+ "$id": "https://lintian.debian.org/schema/json/lintian/override.json",
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "description": "A Lintian override",
+ "properties": {
+ "justification": {
+ "description": "Distributor's justification",
+ "type": "string"
+ }
+ },
+ "required": [
+ "justification"
+ ],
+ "title": "Lintian Override",
+ "type": "object"
+}
diff --git a/schema/json/results.json b/schema/json/results.json
new file mode 100644
index 0000000..5521719
--- /dev/null
+++ b/schema/json/results.json
@@ -0,0 +1,23 @@
+{
+ "$id": "https://lintian.debian.org/schema/json/lintian/results.json",
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "description": "Results of running Lintian in JSON format",
+ "properties": {
+ "groups": {
+ "description": "Groups examined",
+ "items": {
+ "$ref": "/schema/json/lintian/group.json"
+ },
+ "type": "array"
+ },
+ "lintian_version": {
+ "description": "Version of the Lintian executable",
+ "type": "string"
+ }
+ },
+ "required": [
+ "lintian_version"
+ ],
+ "title": "Lintian Results",
+ "type": "object"
+}
diff --git a/schema/json/screen.json b/schema/json/screen.json
new file mode 100644
index 0000000..f05be9e
--- /dev/null
+++ b/schema/json/screen.json
@@ -0,0 +1,35 @@
+{
+ "$id": "https://lintian.debian.org/schema/json/lintian/screen.json",
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "description": "A Lintian screen declaration",
+ "properties": {
+ "advocates": {
+ "description": "Advocates for exemption",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "name": {
+ "description": "Screen name",
+ "type": "string"
+ },
+ "reason": {
+ "description": "Screen explanation",
+ "type": "string"
+ },
+ "see_also": {
+ "description": "Reference citations",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "name",
+ "reason"
+ ],
+ "title": "Lintian Screen",
+ "type": "object"
+}
diff --git a/schema/json/tag.json b/schema/json/tag.json
new file mode 100644
index 0000000..b4c05f2
--- /dev/null
+++ b/schema/json/tag.json
@@ -0,0 +1,67 @@
+{
+ "$id": "https://lintian.debian.org/schema/json/lintian/tag.json",
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "description": "A Lintian tag declaration",
+ "properties": {
+ "check": {
+ "description": "Issued by check",
+ "type": "string"
+ },
+ "experimental": {
+ "description": "Tag is experimental",
+ "type": "boolean"
+ },
+ "explanation": {
+ "description": "Explains condition and potential remedy",
+ "type": "string"
+ },
+ "lintian_version": {
+ "description": "Lintian version",
+ "type": "string"
+ },
+ "name": {
+ "description": "Tag name",
+ "type": "string"
+ },
+ "name_spaced": {
+ "description": "Has check-based name space",
+ "type": "boolean"
+ },
+ "renamed_from": {
+ "description": "Renamed from",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "screens": {
+ "description": "Associated screens that can mask",
+ "items": {
+ "$ref": "/schema/json/lintian/screen.json"
+ },
+ "type": "array"
+ },
+ "see_also": {
+ "description": "Reference citations",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "show_always": {
+ "description": "Always show",
+ "type": "boolean"
+ },
+ "visibility": {
+ "description": "User-facing visibility",
+ "type": "string"
+ }
+ },
+ "required": [
+ "explanation",
+ "name",
+ "visibility"
+ ],
+ "title": "Lintian Tag",
+ "type": "object"
+}
diff --git a/schema/json/taglist.json b/schema/json/taglist.json
new file mode 100644
index 0000000..4043183
--- /dev/null
+++ b/schema/json/taglist.json
@@ -0,0 +1,10 @@
+{
+ "$id": "https://lintian.debian.org/schema/json/lintian/taglist.json",
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "description": "A tag list from lintian-explain-tags",
+ "items": {
+ "$ref": "/schema/json/lintian/tag.json"
+ },
+ "title": "Lintian Tag Explanations",
+ "type": "array"
+}