Files
EndraApp/packaging/Packaging.md

974 B

Overview of Packaging System

Layers of Build Tools/Scripts

  1. Packaging-Toolchains: Tools, developed by other projects, to package code projects into executable/installable packages. For example:
    • pyinstaller
    • flatpak-builder
    • buildozer
  2. Build-Runners: Wrapper around packaging-toolchains, consisting of scripts and configuration files for packaging this project specifically, performing the following tasks:
    • install prerequisites
    • resolve and update python dependencies
    • document the exact versions of dependencies produced
    • configure packaging toolchains for use in this project
    • run packaping toolchains
  3. Orchestration-Scripts: Wrapper around build-runners, performing:
    • decide which build to run on a given platform
    • commit reports generated by build-runners to version control
    • cross-repo coordination (for contributing via forks): update repos from upstream, push to fork repos, open pull requests