From cf999acb17c8123ddee407d0e486ca3b275a5d7c Mon Sep 17 00:00:00 2001 From: Helmut Grohne Date: Sun, 18 Apr 2021 14:42:27 +0200 Subject: initial checkin of mdbp Proof-of-concept status. Some things work. --- mdbp/build_schema.json | 129 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 mdbp/build_schema.json (limited to 'mdbp/build_schema.json') 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" + } + } + } + } +} -- cgit v1.2.3