Name | Date | Size | ||
---|---|---|---|---|
.. | 24-Jan-2022 | 5 | ||
assets/ | H | 29-Mar-2024 | 5 | |
Dockerfile | H A D | 03-Nov-2023 | 2.3 KiB | |
Makefile | H A D | 03-Nov-2023 | 357 | |
README.md | H A D | 28-Jul-2023 | 2.3 KiB | |
tools/ | H | 24-Nov-2022 | 3 |
README.md
1# HaikuPorter in Buildmaster mode 2 3One buildmaster container per architecture 4 5# Requirements 6 7## Secrets 8 9 * ```/run/secrets/sig_repo_privatekey``` - Minisign private key to sign repos (optional) 10 * ```/run/secrets/sig_repo_privatekeypass``` - Password for Minisign private key (optional) 11 12## Environmental 13 14 * ```BUILD_TARGET_ARCH``` - Target architecture for buildmaster 15 * ```REPOSITORY_TRIGGER_URL``` - Target URL to hit when build complete (optional) 16 * example: https://depot.haiku-os.org/__repository/haikuports/source/haikuports_x86_64/import 17 18## Volumes 19 20 * /var/sources (shared between all architectures) 21 * Storage for various required sources like haiku 22 * /var/packages (shared between all architectures) 23 * Storage for packages and repositories 24 * repository 25 * Haikuports repositories 26 * instances 27 * Has all built packages 28 * A symlink from /var/buildmaster/haikuports/packages 29 * Packaged hardlinked into /var/packages/repository/(branch)/(arch)/current/packages/ 30 * /var/buildmaster (one-per-architecture) 31 * Main state directory for buildmaster 32 * output 33 * records - json dump of internal haikuporter state data during buildrun. Symlinks to buildruns 34 * builds - logs of buildruns. Symlinks to buildruns 35 * buildruns - complete log of every buildrun and build 36 * haikuports 37 * buildmaster 38 * builders 39 * haikuports.conf 40 41## Repository generation 42 43> aka our Rube Goldberg machine 44 45* haikuporter buildmaster builds packages into /var/buildmaster/haikuports/packages which quietly goes to /var/packages/instances/master/(arch) via a symlink 46 * This follows the basic haikuporter behaviour 47* haikuporter buildmaster then moves obsolete packages from /var/buildmaster/haikuports/packages /var/buildmaster/haikuports/packages/.obsolete/ (keeping in mind packages is a symlink) 48 * This follows the basic haikuporter behaviour 49* haikuporter buildmaster then hardlinks packages in /var/packages/instances to /var/packages/repository/(branch)/(arch)/current/packages/ 50 * This is something performed by haikuporter --create-package-repository called by loop 51* haikuporter buildmaster then generates a repository for the hardlinked packages in /var/packages/repository/(branch)/(arch)/current/ 52 * This is something performed by haikuporter --create-package-repository called by loop 53