{
  "$schema": "https://packageurl.org/schemas/purl-type-definition.schema-1.0.json",
  "$id": "https://packageurl.org/types/generic-definition.json",
  "type": "generic",
  "type_name": "Generic Package",
  "description": "The generic type is for plain, generic packages that do not fit anywhere else such as for \"upstream-from-distro\" packages. In particular this is handy for a plain version control repository such as a bare git repo in combination with a vcs_url.",
  "repository": {
    "use_repository": false,
    "note": "There is no default repository."
  },
  "namespace_definition": {
    "requirement": "optional",
    "note": "there is no generic namespace definition"
  },
  "name_definition": {
    "requirement": "required",
    "note": "as for other type, the name component is mandatory. In the worst case it can be a file or directory name."
  },
  "qualifiers_definition": [
    {
      "key": "download_url",
      "description": "A download_url and checksum may be provided in qualifiers or as separate attributes outside of a purl for proper identification and location."
    },
    {
      "key": "checksum",
      "description": "A checksum may be provided in qualifiers or as separate attributes outside of a purl for proper identification and location."
    }
  ],
  "note": "When possible another or a new purl type should be used instead of using the generic type and eventually contributed back to this specification. Example have been truncated for brevity",
  "examples": [
    "pkg:generic/openssl@1.1.10g",
    "pkg:generic/openssl@1.1.10g?download_url=https://openssl.org/source/openssl-1.1.0g.tar.gz&checksum=sha256:de4d501267da",
    "pkg:generic/bitwarderl?vcs_url=git%2Bhttps://git.fsfe.org/dxtr/bitwarderl%40cc55108da32"
  ]
}
