Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • cerbero cerbero
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 101
    • Issues 101
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 35
    • Merge requests 35
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamerGStreamer
  • cerberocerbero
  • Issues
  • #147
Closed
Open
Issue created May 03, 2019 by Andoni Morales Alastruey@ylatuyaDeveloper

The Fridge: binary packages for cerbero recipes

The Fridge is a new feature that intends to provide support for binary packages in cerbero, which dramatically increases initial builds by downloading pre-compiled versions of packages instead of rebuilding them from scratch.

Per-recipe packages

For each recipe a new <recipe_name>-pkg is created with the files listed by the recipe. When packaging a recipe, all text files that are subject to relocation such as .pc or .la files are relocated replacing the current prefix with a placeholder. When extracting the recipe package, the placeholder is replaced with the new build prefix.

Workflow

When building a recipe with the option to upload binaries to the fridge, after all recipe steps are performed, the recipe is packaged in a tarball and uploaded to the fridge (the upload process could support several mechanisms, right now it posts the tarball with curl/wget).

When building a recipe with the option to download binaries from the fridge, before building the recipe an attempt is made to download the binary package from the fridge and extract it to the recipe. If it succeeds, the recipe is marked as built.

Unique package names

Packages are upload to a directory with the hash of the current cerbero configuration, computed with the environment set by the config, so that if compiler flags changes, the hash will change and new binary packages will be built. The package name will also contain a hash, the same used for the cache, to ensure that packages are rebuilt with changes in the recipe or the commit they have compiled.

Edited May 03, 2019 by Andoni Morales Alastruey
Assignee
Assign to
Time tracking