Packaging - google/googet GitHub Wiki

You create a googet package directly based on a goospec file. By default the package is created in the current working directory but that can be changed using the 'output_dir' flag.

goopack [-output_dir=<path/to/output/dir>] <path/to/goospec>

Package Spec

The package spec is a JSON description of the package with build and installation instructions.

  • name: package name
  • version: package version
  • arch: the architecture of the package (noarch, x86_64, x86_32, arm)
  • authors: package authors
  • releaseNotes: package release notes (list of strings)
  • dependencies: dictionary of dependencies
  • description: package description
  • sources
    • include: list of includes
    • exclude: list of excludes
    • target: where to put the files in the package (defaults to root)
    • root: where to start looking for files (defaults to working dir)
  • files: a map of source location to destination location, folder:folder or file:file. GooGet will automatically copy 'source' to 'destination' on install and remove on uninstall or upgrade if the file no longer exists in the package. Destination is full path to destination, encase environment variables in '<>', ex: '<ProgramFiles>'.
  • install
    • args: list of args
    • exitCodes: list of successful exit codes
    • path: install path in package (script, msi, exe)
  • owners: package owners (if different from authors)
  • uninstall
    • args: list of args
    • exitCodes: list of successful exit codes
    • path: uninstall path in package (script, msi, exe)
  • build
    • linux: path to linux build script
    • windows: path to windows build script

See googet.goospec for an example.