{
  "$id": "tlpobj-info.schema.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "TLPOBJINFO",
  "description": "This JSON format is dumped on `tlmgr info --data json`.\n\nhttps://tug.org/svn/texlive/trunk/Master/tlpkg/doc/json-formats.txt?revision=56458&view=markup#l53",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "examples": [
        "12many"
      ]
    },
    "shortdesc": {
      "$comment": "The value of `null` is UNDOCUMENTED.",
      "type": [
        "string",
        "null"
      ]
    },
    "longdesc": {
      "$comment": "The value of `null` is UNDOCUMENTED.",
      "type": [
        "string",
        "null"
      ]
    },
    "category": {
      "title": "Category",
      "description": "Identifies the category into which this package belongs.\n\nhttps://www.tug.org/texlive/doc/tlpkgdoc/TLPSRC.html#category",
      "type": "string",
      "enum": [
        "Collection",
        "Scheme",
        "TLCore",
        "Package",
        "ConTeXt"
      ]
    },
    "catalogue": {
      "$comment": "The value of `null` is UNDOCUMENTED.",
      "type": [
        "string",
        "null"
      ]
    },
    "containerchecksum": {
      "type": "string"
    },
    "srccontainerchecksum": {
      "type": "string"
    },
    "doccontainerchecksum": {
      "type": "string"
    },
    "runsize": {
      "type": "integer"
    },
    "docsize": {
      "type": "integer"
    },
    "srcsize": {
      "type": "integer"
    },
    "containersize": {
      "type": "integer"
    },
    "srccontainersize": {
      "type": "integer"
    },
    "doccontainersize": {
      "type": "integer"
    },
    "relocated": {
      "type": "boolean",
      "examples": [
        false
      ]
    },
    "runfiles": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "examples": [
        [
          "texmf-dist/...",
          "texmf-dist/...file2"
        ]
      ]
    },
    "srcfiles": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "executes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "depends": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "postactions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "docfiles": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "details": {
            "type": "string"
          }
        },
        "required": [
          "file"
        ],
        "additionalProperties": false
      },
      "examples": [
        [
          {
            "file": "docfile1",
            "language": "en"
          },
          {
            "file": "docfile2",
            "details": "readme file"
          }
        ]
      ]
    },
    "binfiles": {
      "description": "Keys are architecture names, values are arrays of strings (list of binfiles).",
      "type": "object",
      "patternProperties": {
        "^.*$": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "examples": [
        {
          "x86_64-linux": [
            "binfile1",
            "binfile2",
            "..."
          ],
          "win32": [
            "binfile3"
          ]
        }
      ]
    },
    "binsize": {
      "description": "Keys are architecture names, values are numbers.",
      "type": "object",
      "patternProperties": {
        "^.*$": {
          "type": "integer"
        }
      },
      "examples": [
        {
          "x86_64-linux": 1233,
          "win32": 333
        }
      ]
    },
    "cataloguedata": {
      "type": "object",
      "properties": {
        "topics": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "license": {
          "type": "string"
        },
        "ctan": {
          "type": "string"
        },
        "date": {
          "type": "string"
        },
        "related": {
          "type": "string"
        },
        "alias": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        },
        "also": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        },
        "contact-announce": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        },
        "contact-bugs": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        },
        "contact-development": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        },
        "contact-home": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        },
        "contact-repository": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        },
        "contact-support": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        }
      },
      "additionalProperties": false,
      "examples": [
        {
          "topics": "graphic",
          "version": "1.23"
        }
      ]
    },
    "lrev": {
      "description": "Local revision of the package.",
      "type": "integer"
    },
    "rrev": {
      "description": "Remote revision of the package.",
      "type": "integer"
    },
    "available": {
      "description": "Available at repository.",
      "type": "boolean"
    },
    "installed": {
      "type": "boolean"
    },
    "rcataloguedata": {
      "type": "object",
      "properties": {
        "topics": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "license": {
          "type": "string"
        },
        "ctan": {
          "type": "string"
        },
        "date": {
          "type": "string"
        },
        "related": {
          "type": "string"
        },
        "alias": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        },
        "also": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        },
        "contact-announce": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        },
        "contact-bugs": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        },
        "contact-development": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        },
        "contact-home": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        },
        "contact-repository": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        },
        "contact-support": {
          "description": "UNDOCUMENTED.",
          "type": "string"
        }
      },
      "additionalProperties": false,
      "examples": [
        {
          "topics": "graphic",
          "version": "1.23"
        }
      ],
      "description": "Catalogue data on the remote side."
    }
  },
  "required": [
    "name",
    "category"
  ],
  "additionalProperties": false
}