Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • juerg/cache-query-job-benchmark
  • bst-1 protected
  • juerg/cache-query-job
  • tristan/fix-recursive-artifact-pull
  • nanonyme/remove-fix-python-timestamps
  • tristan/shell-artifacts
  • bschubert/update-coverage
  • juerg/remote-cache
  • nanonyme/subprocess-devnull
  • tristan/artifact-extensions
  • tpollard/custom-platform-properties
  • juerg/buildbox
  • chandan/update-reqs
  • chandan/moar-runners
  • tpollard/optional-sandbox-properties
  • nanonyme/fix-tests
  • bschubert/standardize-source-tests
  • nanonyme/warn-nofile
  • abderrahim/stage-artifact-scriptelement
  • 1.6.1
  • 1.6.0
  • 1.93.5
  • 1.5.1
  • 1.93.4
  • bst-1.4-branchpoint protected
  • 1.5.0
  • 1.4.3
  • 1.93.3
  • 1.93.2
  • 1.4.2
  • 1.93.1
  • 1.93.0
  • 1.91.3
  • 1.91.2
  • 1.91.1
  • 1.91.0
  • bst-1-branchpoint protected
  • 1.4.1
  • 1.4.0
40 results

buildstream

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Tristan Van Berkom authored
    This also ensures it is exposed via the main buildstream __init__.py
    file, fixes the imports of CoreWarnings, and adjusts the documentation
    links to point to the right place.
    03028c7f
    History

    About

    https://gitlab.com/BuildStream/buildstream/badges/master/coverage.svg?job=coverage

    What is BuildStream?

    BuildStream is a Free Software tool for building/integrating software stacks. It takes inspiration, lessons and use-cases from various projects including OBS, Reproducible Builds, Yocto, Baserock, Buildroot, Aboriginal, GNOME Continuous, JHBuild, Flatpak Builder and Android repo.

    BuildStream supports multiple build-systems (e.g. autotools, cmake, cpan, distutils, make, meson, qmake), and can create outputs in a range of formats (e.g. debian packages, flatpak runtimes, sysroots, system images) for multiple platforms and chipsets.

    Why should I use BuildStream?

    BuildStream offers the following advantages:

    • Declarative build instructions/definitions

      BuildStream provides a flexible and extensible framework for the modelling of software build pipelines in a declarative YAML format, which allows you to manipulate filesystem data in a controlled, reproducible sandboxed environment.

    • Support for developer and integrator workflows

      BuildStream provides traceability and reproducibility for integrators handling stacks of hundreds/thousands of components, as well as workspace features and shortcuts to minimise cycle-time for developers.

    • Fast and predictable

      BuildStream can cache previous builds and track changes to source file content and build/config commands. BuildStream only rebuilds the things that have changed.

    • Extensible

      You can extend BuildStream to support your favourite build-system.

    • Bootstrap toolchains and bootable systems

      BuildStream can create full systems and complete toolchains from scratch, for a range of ISAs including x86_32, x86_64, ARMv7, ARMv8, MIPS.

    How do I use BuildStream?

    Please refer to the documentation for information about installing BuildStream, and about the BuildStream YAML format and plugin options.

    How does BuildStream work?

    BuildStream operates on a set of YAML files (.bst files), as follows:

    • Loads the YAML files which describe the target(s) and all dependencies.
    • Evaluates the version information and build instructions to calculate a build graph for the target(s) and all dependencies and unique cache-keys for each element.
    • Retrieves previously built elements (artifacts) from a local/remote cache, or builds the elements in a sandboxed environment using the instructions declared in the .bst files.
    • Transforms/configures and/or deploys the resulting target(s) based on the instructions declared in the .bst files.

    How can I get started?

    To get started, first install BuildStream by following the installation guide and then follow our tutorial in the user guide.

    We also recommend exploring some existing BuildStream projects:

    If you have any questions please ask on our #buildstream channel in irc.gnome.org