File buildstream.changes of Package buildstream
-------------------------------------------------------------------
Mon Jun 9 06:48:01 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.5.0:
+ Fix directory mtime to support latest buildbox-casd
+ Fix test cases to work with latest buildbox
+ Support gRPC retry and timeout configuration for all remote
services
+ Fix our setup.py for surprise update of setuptools
+ Add Source.collect_source_info() and
SourceFetcher.get_source_info() methods, support showing
introspected source provenance information in `bst show`, make
it possible for absence of implementations of these new methods
be fatal, and export some related utilities to help plugins
support such
+ Some minor fixes to documentation
+ Support showing artifact content digests in `bst show`
+ Better support for parsing boolean configuration that is
exported from project options
+ Better error handling in remote execution if services do not
support required sandbox options
+ Fix pushing artifacts with remote caches
+ Fix build warnings stemming from using outdated grpcio tools
+ Fix additional jobs being scheduled after the user has asked to
quit
-------------------------------------------------------------------
Sun Mar 23 17:04:08 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.4.1:
+ Update default min-version for bst init to 2.4
+ Use subprocess umask support
+ Don't use `preexec_fn` on Python 3.11+
+ contrib/bst-graph: Escape names when using as node_id
+ _loader: Use the sort algorithm from Python 3.12 for
dependencies
-------------------------------------------------------------------
Tue Dec 24 11:44:22 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.4.0:
+ Add new user configuration for the cache
+ docs: fix link to docker install instructions
+ Fix console warnings in newer python versions
+ Update github CI workflow actions
+ Fix `bst artifact show --long` for artifacts with symlinks
+ Fix race condition in public data handling
+ Cleanup deadcode
+ Make remote execution directory fetching more robust
+ Disable logging for frequent cache query jobs
+ Improve performance when using `storage-service`
+ Fixed issues with nested junctions
+ Drop support for Python 3.8 and add support for Python 3.13
+ Load time optimization for commands which don't require cache
queries
+ Address deprecation warnings from deprecated pkg_resources
-------------------------------------------------------------------
Thu Sep 12 09:28:39 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.3.0:
+ Proxy remote asset and remote execution requests via
buildbox-casd
+ Optimize bst show when no cached state is needed
+ Support %{description} in bst show commands
+ Support HTTP Bearer authentication for remote API servers
+ Drop support for Python 3.7
+ downloadablefilesource: Add 10 minutes timeout
+ tar.py: Always check member paths
+ Ensure blobs are available locally when using storage-service
+ Support loading source mirror plugins from pip and junction
origins
+ Restore terminal after exiting a bst shell
+ Fail early if buildbox-run is present but non-functional
- Changes from version 2.2.1:
+ Fix parsing of keepalive time
+ Fix alias mapping when using source mirror plugins
+ Fix typing of SourceFetcher.fetch() and Source.translate_url():
the `alias_override` parameter should be considered opaque.
+ Update documentation regarding the buildbox merge
- Changes from version 2.2.0:
+ Support Python 3.12
+ Add suffix parameter to `Source.translate_url()`
+ Error out if a YAML mapping has duplicate keys
+ New configuration option to set the grpc keepalive time
+ Add SourceMirror plugins to allow more flexibility when
defining mirrors
+ Use system-installed buildbox components over bundled ones if
available
+ Support bearer authentication in DownloadableFileSource
+ Support mapping aliases from subprojects to parent project to
ease mirroring
-------------------------------------------------------------------
Sun Sep 24 10:46:54 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.1.0:
+ Support new architecture name "la64v100"
+ Fix race condition when downloading sources
+ Properly handle partial download errors
+ Fix regressed ETag handling to prevent redundant file downloads
+ Fix parsing remotes specified on the command line
+ Fix bug when tracking ref-less sources (like local sources)
when using project.refs
+ Follow semantic versioning more strictly
+ New `bst build --retry-failed` feature
+ Fix parsing override-project-caches configuration
+ Fix crashes when instructed to only download from mirrors, and
some sources have no mirrors defined
+ Drop unnecessary dependency on dateutil
+ Fix severe hangs when can occur when running out of disk
space specifically when attempting to open and write to a new
log file
- Update to version 2.0.0:
+ Please see the include NEWS file for all the changes during
development.
- Add python3-Cython BuildRequires: New dependency.
- Drop the 's:pytest-runner::' setup.py sed call, merged upstream.
- Drop noarch BuildArch: Package is no longer noarch.
- Add missing Requires: python3-Jinja2, python3-pluginbase,
python3-protobuf, python3-ruamel.yaml.clib, python3-setuptools
and python3-ujson
- Add disabled python3-pyroaring Requires: Needed, but not yet
available in openSUSE.
-------------------------------------------------------------------
Wed Feb 22 11:58:55 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.6.9:
+ Further Python 3.11 fixes to regex flags.
-------------------------------------------------------------------
Thu Oct 13 08:28:21 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.6.8:
+ Only test remote CAS push capabilities if push is enabled. This
improves compatibility with new grpcio releases.
+ Dummy sandbox for checking out from dirrefernt arches. Ability
to check out build artifacts with incompatible arch assuming no
commands need to be run.
+ Backport regex flags fix to support newer versions of Python.
-------------------------------------------------------------------
Sat Aug 20 10:22:17 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.6.7:
+ Some documentation updates.
+ Support newer versions of ruamel.yam.
- Changes from version 1.6.6:
+ BuildStream git tests have always assumed default git branch is
master. This is now explicit with test helpers.
+ project.refs of subprojects are properly taken into account.
+ ostree regressed as part of migrating to command-line that it
left whitespace into ref when tracking. Any whitespace around
ref is now removed.
+ pb2 files are regenerated with protobuf 3.20.1 to mitigate
forward compatibility issues. This has the implication that
protobuf 3.19.0 or higher.
- Build as noarch.
-------------------------------------------------------------------
Wed May 18 06:14:26 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
- Prepare for Python 3.10 by correcting sitelib install path.
-------------------------------------------------------------------
Fri Mar 18 15:16:33 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.6.5:
+ Make it easier to override parameters to `make` in the `make`
element.
+ ostree: Remove `--mirror` parameter which has been causing some
issues.
+ Fix test suite to work on some CI runners which hang while
resolving localhost when trying to open a port for the CAS
server.
-------------------------------------------------------------------
Sat Mar 12 22:16:55 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.6.4:
+ BuildElement classes now support `create-dev-shm`
+ script element plugin now supports `create-dev-shm`
+ Python 3.6 is no longer tested in CI but support is maintained
on best effort level.
+ New fatal warnings for unaliased sources.
+ New errors raised when using an unresolved source alias.
+ Add support for .netrc in remote/tar/zip sources.
+ Bugfixes and better stability in fuse layer.
+ Drop CI support for EOL python 3.6 (although BuildStream should
still work when installed in python 3.6 environments).
+ Various bug fixes, documentation updates and CI related
cleanup.
-------------------------------------------------------------------
Fri Dec 10 09:08:24 UTC 2021 - pgajdos@suse.com
- pytest-runner is deprecated
-------------------------------------------------------------------
Fri Oct 22 10:24:24 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to version 1.6.3
+ Support for python 3.10
+ Updated minimum required version of grpcio, to fix working
properly with existing artifact cache services.
+ Fix some issues with previous fix for handling with CAS
+ Ensure paths specified in user configuration are absolute
- Update URL and SourceUrl
-------------------------------------------------------------------
Fri Nov 6 08:26:26 UTC 2020 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.6.1:
+ Fix failure handling with CAS.
-------------------------------------------------------------------
Fri Sep 25 16:32:09 UTC 2020 - bjorn.lie@gmail.com
- Update to version 1.6.0:
+ Fixed edge case issue when dealing with git remotes.
- Changes from version 1.5.1:
+ Support `buildstream1.conf` as well as `buildstream.conf` for
parallel installations.
+ Lazy resolution of variables, this allows junctions to use
variables without requiring the project to have fully resolved
variables, while still reporting the right error messages if a
junction uses unresolved variables.
+ Fix an issue where conditional statements were being lost
instead of processed at include time, only when the include
happens in project.conf.
+ Backport some artifact cache related structural changes, and
allow BuildStream 1 clients to interface with BuildStream 2
remote asset caches, while still allowing BuildStream 1 to
interface with its own bst-artifact-server implementation.
+ Added sandbox configuration for `os` and `architecture` to
mirror the added options in BuildStream 2.
- Changes from version 1.5.0:
+ Process options in included files in the context of the project
they were included from.
This is technically a breaking change, however it is highly
unlikely that this will break projects. In some cases projects
were working around the broken behavior by ensuring matching
project option names in junctioned projects, and in other cases
simply avoiding including files which have project option
conditional statements.
+ Added errors when trying to load BuildStream 2 projects,
recommending to install the appropriate BuildStream version for
the project.
+ Added errors when loading BuildStream 2 plugins in a
BuildStream 1 project, recommending to use BuildStream 1
plugins with BuildStream 1 projects.
-------------------------------------------------------------------
Wed May 13 19:53:32 UTC 2020 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.4.3:
+ Fix support for conditional list append/prepend in
project.conf.
+ Fix internal imports to import from "collections" instead of
"collections.abc", this improves support for Python 3.8.
+ Fix some downloads from gitlab.com by setting custom user
agent.
+ Work around python API break from ostree's
repo.remote_gpg_import(), this was changed in ostree commit
v2019.2-10-gaa5df899, and we now have a fallback to support
both versions of the API.
-------------------------------------------------------------------
Wed Apr 1 15:27:11 UTC 2020 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.4.2:
+ Support for python 3.8.
+ Fix a stacktrace with a hang we can experience when we CTRL-C a
job twice.
+ Workaround some servers which do not honor the 'If-None-Match'
HTTP header and avoid downloading files redundantly in these
cases.
+ Allow specifying absolute paths in overlap-whitelist.
+ Support systems with fuse3 (avoid passing unsupported argument
to fusermount3).
-------------------------------------------------------------------
Tue Sep 3 11:56:38 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.4.1:
+ Depend on a newer version of ruamel.yaml (>= 0.16).
-------------------------------------------------------------------
Mon Sep 2 16:54:23 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.4.0:
+ Elements may now specify 'build-depends' and 'runtime-depends'
fields to avoid having to specify the dependency type for every
entry in 'depends'.
+ Elements may now specify cross-junction dependencies as simple
strings using the format '{junction-name}:{element-name}'.
+ New `fatal-warnings` has been added to the project.conf format,
allowing projects to specify which warnings they want to
consider as fatal.
+ Support for the following warnings is included:
- overlaps: When staged artifact files overlap (deprecates:
'fail-on-overlap').
- ref-not-in-track: When the source implementation finds that
the ref is out of bounds for the tracking config.
- git:inconsistent-submodule: A .gitmodules file is present but
the submodule was never added to the repo.
- git:unlisted-submodule: A submodule exists but is not
specified in the YAML declaration.
- git:invalid-submodule: A submodule is specified in the YAML
declaration but does not exist at the given ref in the git
repository.
+ BuildStream now depends on python3 ujson (for some internal
serializations).
+ Workspaces can now be opened as relative paths. Existing open
workspaces will not be converted to relative paths, (they need
to be closed and opened again to get the new behavior).
+ Dependencies can now be specified as strict to force rebuild in
non-strict mode. This is useful for statically linked
dependencies.
+ Git source plugins can optionally track human readable refs
using the output of `git describe`.
-------------------------------------------------------------------
Tue Jul 16 17:36:25 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.2.8:
+ Fixed issues with workspaced junctions which need fetches.
+ Bail out with informative error if stdout/stderr are
O_NONBLOCK.
-------------------------------------------------------------------
Sun May 26 08:52:06 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.2.7:
+ Improved messaging around unknown artifact cache keys.
+ Fixed crash which occurs when deleting artifact cache with open
workspaces.
+ Fixed `bst --no-strict build --track-all ...` which sometimes
exited successfully without building anything.
+ Fixed incorrect error message with malformed YAML in
project.conf.
-------------------------------------------------------------------
Thu May 23 09:26:16 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
- Require python3-click (boo#1116806).
-------------------------------------------------------------------
Tue Apr 30 11:07:14 UTC 2019 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 1.2.6:
+ Fix 'quit' option when interrupting a build.
+ Only queue one cache size calculation job at a time.
+ Fix stack traces on forceful termination.
+ Fix scheduler processing order regression.
+ Fix race condition in bzr source plugin.
+ Better error messages for insufficient disk space.
+ UI/Logging improvements regarding cache quota usage.
+ Fix `bst push` in non-strict mode.
+ Fix crash (regression) when tracking a single element.
-------------------------------------------------------------------
Mon Mar 25 19:29:19 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.2.5:
+ Fixed failure to process some elements when workspaces are
open.
+ Better error reporting when files are missing, or when
encountering errors in sub projects.
+ Do not require exact versions of dependencies for running
tests.
+ Fail on overlap policy no longer inherited from subprojects.
-------------------------------------------------------------------
Thu Feb 14 20:34:04 UTC 2019 - bjorn.lie@gmail.com
- Update to version 1.2.4:
+ Migration of scripts to use tox.
+ Force updating tags when fetching from git repos.
+ Avoid downloading unused submodules.
+ Fixed cleanup of cache server with disk is full.
+ Fixed possible artifact cache corruption.
+ Fixed `bst checkout --deps none` behavior.
-------------------------------------------------------------------
Fri Oct 5 13:20:12 UTC 2018 - bjorn.lie@gmail.com
- Update to version 1.2.3:
+ Fixed an unhandled exception when cleaning up a build sandbox.
+ Fixed race condition when calculating cache size and commiting
artifacts.
+ Fixed regression where terminating with `^C` results in a
double user interrogation.
+ Fixed regression in summary when builds are terminated.
+ Fixed regression where irrelevant status messages appear from
git sources.
+ Improve performance of artifact uploads by batching file
transfers.
+ Fixed performance of artifact downloads by batching file
transfers.
+ Fixed checks for paths which escape the project directory.
-------------------------------------------------------------------
Wed Sep 26 17:24:37 UTC 2018 - bjorn.lie@gmail.com
- Update to version 1.2.2:
+ Fixed incomplete removal of blessings dependency.
- Changes from version 1.2.1:
+ Fixed corruption of artifact cache at cache cleanup time.
+ Fixed accidental deletion of artifacts when tracking is
enabled.
+ Error out when protected variables are set by project authors.
+ Fixed option resolution in project wide element & source
configurations.
+ Error out gracefully when push remote is mal-specified.
+ Improved logging regarding skipped push / pull jobs.
+ Fixed crash in `bst fetch` when project.refs and source
mirroring are in use.
+ Removed blessings dependency.
+ Support for batch file downloads on the artifact cache server.
- Changes from version 1.2.0:
+ Various last minute bug fixes.
+ Final update to the SourceFetcher related mirroring APIs.
-------------------------------------------------------------------
Thu Aug 23 16:28:03 UTC 2018 - bjorn.lie@gmail.com
- Update to version 1.1.7:
+ Fix CAS resource_name format. Artifact servers need to be
updated.
+ Improved startup performance and performance of calculating
artifact cache size.
+ Various other bug fixes.
-------------------------------------------------------------------
Thu Aug 16 12:38:42 UTC 2018 - bjorn.lie@gmail.com
- Update to version 1.1.6:
+ A lot of bug fixes.
-------------------------------------------------------------------
Mon Aug 13 08:43:24 UTC 2018 - bjorn.lie@gmail.com
- Update to version 1.1.5:
+ Add a `--tar` option to `bst checkout` which allows a tarball
to be created from the artifact contents.
+ Fetching and tracking will consult mirrors defined in project
config, and the preferred mirror to fetch from can be defined
in the command line or user config.
+ Added new `remote` source plugin for downloading file blobs.
+ Add support for the new include '(@)' directive in
project.conf and .bst files.
-------------------------------------------------------------------
Thu Jul 19 15:55:04 UTC 2018 - bjorn.lie@gmail.com
- Update to version 1.1.4:
+ `bst workspace` commands and `bst track` will substitute their
source elements when performing those operations, e.g.
performing `bst track` on a filter element will track the
sources on the element that it depends on (if it has sources).
+ Added new simple `make` element.
+ Switch to Remote Execution CAS-based artifact cache on all
platforms.
+ Artifact servers need to be migrated.
+ BuildStream now requires python version >= 3.5
+ BuildStream will now automatically clean up old artifacts when
it runs out of space. The exact behavior is configurable in the
user's buildstream.conf.
-------------------------------------------------------------------
Thu May 3 03:37:06 UTC 2018 - luc14n0@linuxmail.org
- Update to version 1.1.3:
+ Added new `bst init` command to initialize a new project.
+ Cross junction tracking is now disabled by default for projects
which can support this.
+ Failed jobs are now summarised at the end of a build. Use
`--verbose` and `--no-verbose` to adjust the amount of detail
given.
+ BuildElements' `configure-commands` are only run once for
workspaces now, which allows for incremental builds.
Appropriate API for plugins is also exposed through
`Element.prepare`.
+ The `cmake` plugin now supports building with ninja with the
newly added `generator` configuration option.
+ `bst workspace close` and `bst workspace reset` now support
multiple elements. All elements can be specified using `--all`.
+ The elements whose cache keys had to be determined during the
build are summarised at the end of the build.
+ Fixed versioning introspection to be dynamic, many users use
a developer install mode so they can update with git, now the
version information is always up to date in logs.
This causes a minor API break: The --version output now only
outputs the version.
- Drop python3-setuptools_scm BuildRequires as this is not required
anymore.
-------------------------------------------------------------------
Mon Mar 26 02:58:16 UTC 2018 - luc14n0@linuxmail.org
- Update to version 1.1.2:
+ New ref-storage option allows one to store source refs, such as
git shas, in one central project.refs file instead of inline
with the source declarations.
+ Deprecated `--track-save` optionality in `bst build`, this does
not make sense to support now that there is project.refs.
+ Added the `sandbox` configuration option which can be used in
`project.conf` and elements, to control the user ID and group
ID used in build sandboxes.
+ Added new `deb` source implementation, for staging of
downloaded deb package files.
-------------------------------------------------------------------
Thu Mar 8 16:07:48 UTC 2018 - dimstar@opensuse.org
- Update to version 1.1.1:
+ New project configuration controlling how the sandbox behaves
when `bst shell` is used; allowing projects to provide a more
functional shell environment.
+ The `bst shell` command now has a `--mount` option allowing
users to mount files and directories into the sandbox for
testing purposes.
+ Log lines are now configurable with the new "message-format"
user configuration, allowing one to express optional fields
such as microsecond precision and wallclock time.
+ Newly added filter element
+ Git source plugin now allows disabling of submodule checkouts
+ In the same way we allow overriding element configurations
by their 'kind' in project.conf, we now support the same
for source plugin configurations.
+ Tar and zip sources now automatically recall an `etag`
from the http headers, optimizing tracking of tarballs
significantly (glgo#GNOME/BuildStream#62).
-------------------------------------------------------------------
Wed Feb 28 00:54:09 UTC 2018 - luc14n0@linuxmail.org
- Update to version 1.1.0:
+ Multiple artifact caches are now supported in project and
user configuration with a priority order
(gl#BuildStream/buildstream#85).
+ Add junction support for subprojects.
+ Changes towards incremental builds in workspaces.
+ `bst shell --build` now creates true build sandbox.
+ Many bug fixes.
-------------------------------------------------------------------
Fri Jan 5 00:47:30 UTC 2018 - luc14n0@linuxmail.org
- Initial openSUSE package, version 1.0.1.