123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291 |
- {
- "$schema": "http://json-schema.org/draft/2020-12/schema",
- "title": "Package Meta",
- "description": "meta information of a package",
- "type": "object",
- "properties": {
- "id": {
- "description": "unix name of the package",
- "type": "string",
- "minLength": 3,
- "maxLength": 63,
- "pattern": "^[a-zA-Z_][a-zA-Z0-9_\\-\\.]+"
- },
- "description": {
- "description": "translated names and descriptions of the package",
- "type": "array",
- "minItems": 1,
- "uniqueItems": true,
- "items": {
- "type": "object",
- "properties": {
- "0": {
- "description": "language code of the record",
- "type": "string",
- "minLength": 2,
- "maxLength": 5,
- "pattern": "^[a-z][a-z][_]?[A-Z]?[A-Z]?$"
- },
- "1": {
- "description": "translated name of your package",
- "type": "string",
- "minLength": 1,
- "maxLength": 63
- },
- "2": {
- "description": "translated description of your package",
- "type": "string",
- "minLength": 1,
- "maxLength": 511
- }
- }
- }
- },
- "version": {
- "description": "canonical version",
- "type": "string",
- "minLength": 5,
- "maxLength": 15,
- "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"
- },
- "release": {
- "description": "free form textual version",
- "type": "string",
- "minLength": 0,
- "maxLength": 31
- },
- "url": {
- "description": "download URL mask with $VERSION, $RELEASE and $ARCH",
- "type": "string",
- "minLength": 12,
- "maxLength": 255,
- "pattern": "^https://.*",
- "contentMediaType": "application/zip"
- },
- "category": {
- "description": "unix category name where the package belongs",
- "type": "string",
- "minLength": 1,
- "maxLength": 255,
- "pattern": "[a-zA-Z0-9_]"
- },
- "depends": {
- "description": "mandatory dependencies of the package",
- "type": "array",
- "uniqueItems": true,
- "items": {
- "type": "string",
- "minLength": 3,
- "maxLength": 79,
- "pattern": "^[a-zA-Z0-9_\\-\\.]+[\\ ]?[0-9]*[\\.]?[0-9]*[\\.]?[0-9]*$"
- }
- },
- "suggests": {
- "description": "optional dependencies of the package",
- "type": "array",
- "uniqueItems": true,
- "items": {
- "type": "string",
- "minLength": 3,
- "maxLength": 79,
- "pattern": "^[a-zA-Z0-9_\\-\\.]+[\\ ]?[0-9]*[\\.]?[0-9]*[\\.]?[0-9]*$"
- }
- },
- "conflicts": {
- "description": "packages that this package conflicts with",
- "type": "array",
- "uniqueItems": true,
- "items": {
- "type": "string",
- "minLength": 3,
- "maxLength": 79,
- "pattern": "^[a-zA-Z0-9_\\-\\.]+[\\ ]?[0-9]*[\\.]?[0-9]*[\\.]?[0-9]*$"
- }
- },
- "license": {
- "description": "package's license",
- "type": "string",
- "minLength": 2,
- "maxLength": 15,
- "pattern": "^[A-Z][A-Z0-9_\\-]+"
- },
- "eula": {
- "description": "URL of the End User License Agreement",
- "type": "string",
- "minLength": 0,
- "maxLength": 255,
- "pattern": "^https://.*",
- "contentMediaType": "text/plain"
- },
- "homepage": {
- "description": "URL to the package software's homepage",
- "type": "string",
- "minLength": 0,
- "maxLength": 255,
- "pattern": "^https://.*",
- "contentMediaType": "text/html"
- },
- "bugtracker": {
- "description": "URL to the package software's issue tracker",
- "type": "string",
- "minLength": 0,
- "maxLength": 255,
- "pattern": "^https://.*",
- "contentMediaType": "text/html"
- },
- "screenshots": {
- "description": "URLs to screenshot PNG files",
- "type": "array",
- "uniqueItems": true,
- "items": {
- "type": "string",
- "minLength": 0,
- "maxLength": 255,
- "pattern": "^https://.*\\.",
- "contentMediaType": "image/png"
- }
- },
- "override": {
- "description": "override category directories in payloads",
- "type": "object",
- "properties": {
- "bin": { "type": "string" },
- "inc": { "type": "string" },
- "lib": { "type": "string" },
- "etc": { "type": "string" },
- "src": { "type": "string" },
- "shr": { "type": "string" },
- "man": { "type": "string" },
- "var": { "type": "string" }
- }
- },
- "postinst": {
- "type": "object",
- "properties": {
- "env": {
- "description": "configuration form specification for environment variables",
- "type": "array",
- "maxItems": 15,
- "uniqueItems": true,
- "items": {
- "type": "object",
- "properties": {
- "name": {
- "description": "name of the variable",
- "type": "string",
- "minLength": 0,
- "maxLength": 15
- },
- "type": {
- "description": "type of the variable",
- "type": "string",
- "minLength": 0,
- "maxLength": 255
- },
- "desc": {
- "description": "translated names and descriptions of the variables",
- "type": "array",
- "minItems": 1,
- "uniqueItems": true,
- "items": {
- "type": "object",
- "properties": {
- "0": {
- "description": "language code of the record",
- "type": "string",
- "minLength": 2,
- "maxLength": 5,
- "pattern": "^[a-z][a-z][_]?[A-Z]?[A-Z]?$"
- },
- "1": {
- "description": "translated name of the label",
- "type": "string",
- "minLength": 1,
- "maxLength": 31
- },
- "2": {
- "description": "translated description of the label",
- "type": "string",
- "minLength": 1,
- "maxLength": 255
- }
- }
- }
- }
- }
- }
- },
- "commands": {
- "description": "commands to be executed after installation",
- "type": "array",
- "maxItems": 7,
- "items": {
- "type": "string",
- "minLength": 0,
- "maxLength": 255
- }
- }
- }
- },
- "payloads": {
- "description": "payload descriptions",
- "type": "array",
- "minItems": 1,
- "uniqueItems": true,
- "items": {
- "type": "object",
- "properties": {
- "0": {
- "description": "architecture or 'any'",
- "type": "string",
- "minLength": 1,
- "maxLength": 15
- },
- "1": {
- "description": "compressed payload size",
- "type": "number",
- "minimum": 0,
- "maximum": 9223372036854775807
- },
- "2": {
- "description": "uncompressed payload size",
- "type": "number",
- "minimum": 0,
- "maximum": 9223372036854775807
- },
- "3": {
- "description": "SHA checksum of the payload",
- "type": "string",
- "minLength": 64,
- "maxLength": 64,
- "pattern": "[0-9a-f]"
- }
- }
- }
- },
- "files": {
- "description": "list of files in payloads",
- "type": "array",
- "uniqueItems": true,
- "items": {
- "type": "object",
- "properties": {
- "0": {
- "description": "uncompressed file size",
- "type": "number",
- "minimum": 0,
- "maximum": 9223372036854775807
- },
- "1": {
- "description": "file name",
- "type": "string",
- "minLength": 1,
- "maxLength": 4084
- }
- }
- }
- }
- },
- "required": [ "id", "description", "version", "category" ]
- }
|