summaryrefslogtreecommitdiff
path: root/mdbp/build_schema.json
diff options
context:
space:
mode:
Diffstat (limited to 'mdbp/build_schema.json')
-rw-r--r--mdbp/build_schema.json129
1 files changed, 129 insertions, 0 deletions
diff --git a/mdbp/build_schema.json b/mdbp/build_schema.json
new file mode 100644
index 0000000..b8d905d
--- /dev/null
+++ b/mdbp/build_schema.json
@@ -0,0 +1,129 @@
+{
+ "$schema": "http://json-schema.org/schema#",
+ "type": "object",
+ "required": [ "input", "distribution", "output" ],
+ "properties": {
+ "input": {
+ "type": "object",
+ "oneOf": [ {
+ "required": [ "dscpath" ],
+ "additionalProperties": false,
+ "properties": {
+ "dscpath": {
+ "type": "string",
+ "description": "path to the .dsc file that is to be built, can be relative to the location of this json file"
+ }
+ }
+ }, {
+ "required": [ "dscuri" ],
+ "additionalProperties": false,
+ "properties": {
+ "dscuri": {
+ "type": "string",
+ "format": "uri",
+ "description": "uri for downloading the .dsc file"
+ },
+ "checksums": {
+ "type": "object",
+ "patternProperties": { ".*": { "type": "string" } },
+ "default": {},
+ "description": "a mapping of checksum algorithms to the expected values"
+ }
+ }
+ } ]
+ },
+ "distribution": {
+ "type": "string",
+ "pattern": "^[a-z0-9-]+$",
+ "description": "selects the base chroot used for building"
+ },
+ "extrarepositories": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "^(deb|deb-src) "
+ },
+ "default": [],
+ "description": "extra repository specifications to be added to sources.list"
+ },
+ "type": {
+ "type": "string",
+ "enum": [ "any", "all", "binary" ],
+ "default": "binary",
+ "description": "select an arch-only, indep-only or full build"
+ },
+ "buildarch": {
+ "type": "string",
+ "minLength": 2,
+ "pattern": "^[a-z0-9-]+$",
+ "description": "build architecture, defaults to the native architecure"
+ },
+ "hostarch": {
+ "type": "string",
+ "minLength": 2,
+ "pattern": "^[a-z0-9-]+$",
+ "description": "host architecture, defaults to the build architecture"
+ },
+ "profiles": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[a-z0-9.-]+$" },
+ "uniqueItems": true,
+ "default": [],
+ "description": "select build profiles to enabled"
+ },
+ "options": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[a-z0-9.=_-]+$" },
+ "uniqueItems": true,
+ "default": [],
+ "description": "values of DEB_BUILD_OPTIONS"
+ },
+ "environment": {
+ "type": "object",
+ "propertyNames": { "pattern": "^[^=-][^=]*$" },
+ "patternProperties": { ".*": { "type": "string" } },
+ "default": [],
+ "description": "extra environment variables"
+ },
+ "buildpath": {
+ "type": "string",
+ "description": "the path inside the chroot to peform the build"
+ },
+ "lintian": {
+ "type": "object",
+ "properties": {
+ "run": {
+ "type": "boolean",
+ "default": false,
+ "description": "whether to run lintian after the build"
+ },
+ "options": {
+ "type": "array",
+ "items": { "type": "string" },
+ "default": [],
+ "description": "extra options to pass to lintian"
+ }
+ }
+ },
+ "bd-uninstallable-explainer": {
+ "enum": [ null, "apt", "dose3" ],
+ "default": null,
+ "description": "when installing Build-Depends fails, an explainer can be used to give details"
+ },
+ "network": {
+ "enum": [ "enable", "disable", "try-disable", "try-enable", "undefined" ],
+ "default": "undefined",
+ "description": "whether the build should be able to access the internet"
+ },
+ "output": {
+ "type": "object",
+ "required": [ "directory" ],
+ "properties": {
+ "directory": {
+ "type": "string",
+ "description": "target directory to place output artifacts"
+ }
+ }
+ }
+ }
+}