2.Pkg

The type of Package or Binary

#Example ONLY
pkg: "Real Name, It will be Installed & Integrated based on this Value"
pkg_id: "Unique Identifier, Based on src_url, used for identifying this .pkg"
pkg_type: "Pkg Format, if empty or nonexistent, Builder reads Magic Bytes to determine format"
  • pkg_id is to make it seamless to add multiple binaries from multiple sources for the same pkg

  • pkg_id is just src_url without http|https schema along with some extra params

  • Example: src_url ``= "https://github.com/AppImager/example-appimage" --> github.com.AppImager.example-appimage

  • Notice how, all special chars like / --> . and http://|https:// was removed Another example, where the repo has multiple appimages:

  • alpha --> github.com.AppImager.example-appimage.alpha

  • latest --> github.com.AppImager.example-appimage.latest

  • nightly --> github.com.AppImager.example-appimage.nightly

  • stable --> github.com.AppImager.example-appimage.stable

  • It's just $tag or some other identifier added at last

If you don't specify a pkg_id, the first entry of src_url is auto converted & added as pkg_id

  • AppImage denotes it is an AppImage pkg_type: "appimage"

  • AppBundle denotes it is an AppBundle pkg_type: "appbundle"

  • Archive denotes it is an archive (SELF-EXTRACTABLE) format: .7z .bz .bz2 .gz .lz4 .lzma .rar .sz .tar .xz .zst or a mix-mash of these. This includes formats like alpix, staticx etc. pkg_type: "archive"

  • Dynamic denotes it is a Dynamic Binary pkg_type: "dynamic"

  • FlatImage denotes it is a FlatImage , pkg_type: "flatimage"

  • GameImage denotes it is a GameImage , pkg_type: "gameimage"

  • NixAppImage denotes it is a NixAppImage , pkg_type: "nixappimage"

  • RunImage denotes it is a RunImage , pkg_type: "runimage"

  • Static denotes it is a Static Binary , pkg_type: "static"

Runner/Linter will read the magic bytes to determine correct format in case this field is empty.

Last updated

Was this helpful?