This is an automated email from the ASF dual-hosted git repository. striker pushed a commit to branch staging in repository https://gitbox.apache.org/repos/asf/buildstream-site.git
commit 4b6a297c5b8f203bf61162e7614eb9249a45a1f3 Author: Sander Striker <[email protected]> AuthorDate: Wed May 1 23:01:40 2024 +0200 Port content over from buildstream.build. --- content/images/CarbonOS_logo.png | Bin 0 -> 16583 bytes content/images/Freedesktop-sdk_logo.png | Bin 0 -> 17296 bytes content/images/Gnome-build-meta_logo.png | Bin 0 -> 4469 bytes content/images/Libreml_logo.png | Bin 0 -> 38221 bytes content/images/WebKitGTK_logo.png | Bin 0 -> 72988 bytes content/pages/index.md | 139 ++++++++++++++++++++++++++++++- content/pages/installation.md | 122 +++++++++++++++++++++++++++ 7 files changed, 258 insertions(+), 3 deletions(-) diff --git a/content/images/CarbonOS_logo.png b/content/images/CarbonOS_logo.png new file mode 100644 index 0000000..8fa8cc3 Binary files /dev/null and b/content/images/CarbonOS_logo.png differ diff --git a/content/images/Freedesktop-sdk_logo.png b/content/images/Freedesktop-sdk_logo.png new file mode 100644 index 0000000..61e860e Binary files /dev/null and b/content/images/Freedesktop-sdk_logo.png differ diff --git a/content/images/Gnome-build-meta_logo.png b/content/images/Gnome-build-meta_logo.png new file mode 100644 index 0000000..a1bea23 Binary files /dev/null and b/content/images/Gnome-build-meta_logo.png differ diff --git a/content/images/Libreml_logo.png b/content/images/Libreml_logo.png new file mode 100644 index 0000000..ced75e2 Binary files /dev/null and b/content/images/Libreml_logo.png differ diff --git a/content/images/WebKitGTK_logo.png b/content/images/WebKitGTK_logo.png new file mode 100644 index 0000000..737b0f4 Binary files /dev/null and b/content/images/WebKitGTK_logo.png differ diff --git a/content/pages/index.md b/content/pages/index.md index e0d8787..3daee42 100644 --- a/content/pages/index.md +++ b/content/pages/index.md @@ -1,5 +1,138 @@ -Title: [WIP] Apache BuildStream website +title: Welcome to the Apache BuildStream project +slug: index -This website is under construction. +## What is BuildStream? -The current website for this project can be found here: https://buildstream.build/ +BuildStream is a powerful software integration tool that allows developers to automate the +integration of software components including operating systems, and to streamline the software +development and production process. + +Some key capabilities of BuildStream include: + +* Defining software stacks in a declarative format: BuildStream allows users to define the steps + required to build and integrate software components, including fetching source code and building + dependencies. +* Integrating with version control systems: BuildStream can be configured to fetch source code from + popular source code management solutions such as GitLab, GitHub, BitBucket as well as a range of + non-git technologies. +* Supporting a wide range of build technologies: BuildStream supports a wide range of technologies, + including key programming languages like C, C++, Python, Rust and Java, as well as many build tools + including Make, CMake, Meson, distutils, pip and others. +* Ability to create outputs in a range of formats: e.g. debian packages, flatpak runtimes, sysroots, + system images, for multiple platforms and chipsets. +* Flexible architecture: BuildStream is designed to be flexible and extensible, allowing users to + customize their build and integration processes to meet their specific needs and tooling. +* Enabling fast and reliable software delivery: By extensibly use of sandboxing techniques and by + its capability to distribute the build, BuildStream helps teams deliver high-quality software faster. + +## Apache BuildStream 2 is now available + +BuildStream 2 has been released and effectively replaces BuildStream 1, which is +now in maintenance mode and will no longer be actively developed. + +Users are encouraged to follow the [porting guide](https://docs.buildstream.build/master/main_porting.html) +to port their projects to the new API, and distributions are encouraged to ship +BuildStream 2 in place of BuildStream 1. + +For a period of transition, we understand that users will need to use both BuildStream 1 +and BuildStream 2 in parallel, this can be done in various ways, such as using containers, +or installing these into separate python virtual environments, as explained in the +[install page](installation.html) + +## Who is using BuildStream? + +Our core users are application developers and system integrators who create +production-ready software systems that need to be maintained efficiently and +reliably in the long term. + +Buildstream is currently used by multiple software projects, including: + +<div style="display:flex; align-items:flex-end"> + <div style="margin:10px; margin-left:0; vertical-align:bottom; text-align:center"> + <a +href="https://gitlab.com/freedesktop-sdk/freedesktop-sdk"> + <img src="/images/Freedesktop-sdk_logo.png" + alt="Freedesktop-SDK logo" + width="100"> + <br>Freedesktop-sdk + </a> + </div> + <br> + <div style="margin:10px; vertical-align:bottom; text-align:center"> + <a href="https://gitlab.gnome.org/GNOME/gnome-build-meta/"> + <img src="/images/Gnome-build-meta_logo.png" + alt="GNOME logo" + width="100"> + <br>Gnome-build-meta</a> + </div> + <br> + <div style="margin:10px; vertical-align:bottom; text-align:center"> + <a href="https://gitlab.com/carbonOS/build-meta"> + <img src="/images/CarbonOS_logo.png" + alt="CarbonOS logo" + width="100"> + <br>carbonOS + </a> + </div> + <br> + <div style="margin:10px; vertical-align:bottom; text-align:center"> + <a href="https://gitlab.com/libreml/libreml"> + <img src="/images/Libreml_logo.png" + alt="LibreML logo" + width="100"> + <br>Libreml + </a> + </div> + <br> + <div style="margin:10px; vertical-align:bottom; text-align:center"> + <a href="https://github.com/WebKit/webkit/tree/master/Tools/buildstream"> + <img src="/images/WebKitGTK_logo.png" + alt="WebKitGTK logo" + width="100"> + <br> WebKitGTK SDK + </a> + </div> +</div> +<br> + +## What can BuildStream do, and why should I use it? + +See ["Why should I use BuildStream?"](https://docs.buildstream.build/master/main_about.html#why-should-i-use-buildstream) +for details. + +## How do I get BuildStream? + +See our [install page](installation.html) for details. + +## How do I get involved? + +BuildStream is a welcoming open source project, which means your participation +is one of the project goals. The BuildStream project welcomes and promotes the +participation and contributions of any person. + +The most obvious way to participate is to use BuildStream. If you do, then +please tell us about your experiences so we can learn from your feedback, +and tell other people about your exeriences too, so we can reach a larger user +base. + +You can also install the latest development snapshots, and help us test new +features developed by the community. + +#### How can I get involved with Buildstream Development? + +The main repository is [buildstream] and development happens on the default +branch. Following modern delivery practices, this branch should always work. + +We suggest starting with basic bug fixes, and working up to new feature +development. New features should always be discussed on the mailing lists, +before being submitted as pull requests, see the project's [contributing page] +for details. + +#### How can I get involved with the Community? + +Please join our [mailing list]. When attending events or conferences please do +reach out to community members and introduce yourself. + +[mailing list]: https://lists.apache.org/[email protected] +[buildstream]: https://github.com/apache/buildstream +[contributing page]: https://github.com/apache/buildstream/tree/HEAD/CONTRIBUTING.rst diff --git a/content/pages/installation.md b/content/pages/installation.md new file mode 100644 index 0000000..d536104 --- /dev/null +++ b/content/pages/installation.md @@ -0,0 +1,122 @@ +title: Install +slug: install + +[](https://docs.buildstream.build/master/_static/release.html) [](https://docs.buildstream.build/master/_static/snapshot.html) + +This page is a "quick start" guide for installing BuildStream, with links +to detailed instructions found in the reference documentation. + +BuildStream is currently only supported natively on Linux. Users of +Unix-like systems where OCI technology is available can still use BuildStream +by following the [Container Images](#container-images) guide. + +## Do you need BuildStream 2 or BuildStream 1? + +There are two major versions of BuildStream currently supported. + +**Apache BuildStream 2** is the latest version, stable since 2022 and +recommended for all new projects. + +**BuildStream 1** is the "classic taste" version, stable and supported +since 2018. No new feature development is planned for BuildStream 1. + +If you want to build a specific project, check its `project.conf` file for the +[`min-version` setting](https://docs.buildstream.build/master/format_project.html#minimum-version). +If the setting is `2.0` or above you need BuildStream 2, if the setting is +not present then you need BuildStream 1. + +If you want BuildStream 1 and 2 on the same host, you'll need to use a +[venv] as they cannot share a single Python environment. See the +["Installing in virtual environments" guide](https://docs.buildstream.build/master/main_install.html#installing-in-virtual-environments) +for instructions. + +## Installing BuildStream 2 + +If your distribution has an up-to-date `buildstream` package >= 2.0, use that. +[Repology] has a useful table of package versions. + +Otherwise, try installing from [PyPI] into your home directory: + + pip3 install --user 'BuildStream == 2.*' + +Note that: + + * Some host packages are required which Pip cannot provide, see the list in + the reference manual's + ["Installing Dependencies" section](https://docs.buildstream.build/master/main_install.html#installing-dependencies). + + * BuildStream 2 and its dependency `grpc` contain binary modules. The `pip + install` command will work differently depending on whether [prebuilt + 'wheel' packages](https://pypi.org/project/BuildStream/#files) are + available for your platform, and may fail if it can't build from source -- + if this happens, follow the full build + install procedure linked below. + +The full build + install procedure for BuildStream 2 is documented in the +reference manual's ["Installing" section](https://docs.buildstream.build/master/main_install.html). + +## Installing BuildStream 1 + +If your distribution has an up-to-date `buildstream` package < 2.0, use that. +[Repology] has a useful table of package versions. + +Otherwise, install from [PyPI] into your home directory: + + pip3 install --user 'BuildStream == 1.*' + +Some host packages are required beyond what Pip provides, see the list in +the reference manual's +["Installing dependencies" section](https://docs.buildstream.build/1.6/install_linux_distro.html#installing-dependencies) + +The full build + install procedure for BuildStream 1 is documented in the +reference manual's +["Installing from source" section](https://docs.buildstream.build/1.6/install_linux_distro.html#installing-from-source). + +## Container Images + +BuildStream can run inside container tools such as Docker, Podman, and Toolbx. + +Prebuilt images containing `bst` are available at +[docker.io/buildstream/buildstream] via the [buildstream-docker-images] +project. Please read that project's +[USING.md file](https://gitlab.com/BuildStream/buildstream-docker-images/-/blob/master/USING.md) +for usage instructions. + +Note that the Docker `--privileged` flag is usually needed, as BuildStream runs +element build commands in a nested container. + +## BuildStream Plugins + +BuildStream is extensible via plugins written in Python. Projects should +provide their own setup instructions they require specific plugins from the +host. + +Here are some common plugin sets: + +Plugins for **BuildStream 2**: + + * **buildstream-plugins**: + [documentation](https://apache.github.io/buildstream-plugins/), + [PyPI package](https://pypi.org/project/buildstream-plugins/), + [GitHub project](https://github.com/apache/buildstream-plugins/) + * **bst-plugins-container**: + [documentation](https://buildstream.gitlab.io/bst-plugins-container/), + [PyPI package](https://pypi.org/project/bst-plugins-container/), + [GitLab project](https://gitlab.com/BuildStream/bst-plugins-container) + * **bst-plugins-experimental**: + [documentation](https://buildstream.gitlab.io/bst-plugins-experimental), + [PyPI package](https://pypi.org/project/bst-plugins-experimental/), + [GitLab project](https://gitlab.com/BuildStream/bst-plugins-experimental) + +Plugins for **BuildStream 1**: + + * **bst-external**: + [documentation](https://buildstream.gitlab.io/bst-external/), + [PyPI package](https://pypi.org/project/BuildStream-external/#history), + [GitLab project](https://gitlab.com/BuildStream/bst-external) + +[buildstream-docker-images]: https://gitlab.com/BuildStream/buildstream-docker-images/ +[docker.io/buildstream/buildstream]: https://hub.docker.com/r/buildstream/buildstream +[BuildStream docs]: https://docs.buildstream.build +[Repology]: https://repology.org/project/buildstream/versions +[PyPI]: https://www.pypi.org/project/BuildStream/ +[venv]: https://docs.python.org/3/library/venv.html
