Age | Commit message (Collapse) | Author |
|
|
|
Justbuild does not directly depend on re2, hence the indirect
dependency on re2 is taken care of by pkg-config. Nevertheless, it
is useful to have such a file for packaging that takes most of the
dependencies from the system, but uses some of the dependencies
bundled; a particular such use case is taking the bundled versions
of proto, grpc, and absl, as those might be packaged in an
incompatible version.
|
|
Using only our third-party descriptions, the build is independent of
PKG_CONFIG_PATH. However, when combinging our third-party descriptions
with dependencies taken from the system via pkg-config there is a
dependency of PKG_CONFIG_PATH due to those indirect dependencies.
Therefore, allow flexible PKG_CONFIG_PATH to support such a mixed
bootstrapping.
|
|
...caused by incorrectly setting and resetting the library internal
state and the misuse of pthreads in libgit2.
Normally, git_libgit2_init and git_libgit2_shutdown should span the
life of a worker thread in order to be safely used. However, due to
an incorrect implementation of libgit2's threadstate with pthreads,
on unix systems there is a race condition.
Until the use of pthread_key_t is corrected in libgit2, we need to
apply a workaround by always ensuring that the main thread is the
first thread reaching the GitContext constructor.
|
|
... using the repository and build configuration written out by the bootstrap
process.
|
|
...missed so far. These are not actionable from our side.
|
|
|
|
|
|
|
|
... and, in particular, do not read any rc files for just-mr
the user might have.
|
|
... in particular echo(1), which behaves different on dash
and sh.
|
|
|
|
|
|
... and drop unecessary IsTree() check.
|
|
|
|
|
|
|
|
|
|
While "gcc" is the name of the standard C compiler in the gnu
compiler family, the name of the compiler family, as expected by
the "COMPILER_FAMILY" configuration variable, actually is "gnu".
Fix this in the documentation string of the default export target.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This update also removes upb as external dependency.
Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
|
|
...as required by grpc v1.53.0
|
|
Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
|
|
Dependencies (type archive/zip) that are not required for
bootstrapping just are usually marked with the hint "drop",
in order to avoid fetching non-required archives. This
affects only non-local dependencies, as local dependencies
(from the system) will not fetch anything and therefore do
not need to be dropped.
With this commit, the "drop" hint for declared
non-local-deps will be ignored during package builds. In
this way, the user can specify dependencies that should not
be dropped (despite not strictly required to bootstrap
just). Consequently, those dependencies remain in the
generated bootstrap configuration, in case the user wants to
use this configuration to build other targets, such as
just-mr.
|
|
... so in can be used (in combination with the repository
config) to build other just targets, such as just-mr.
|
|
... and align lib names to commonly used pkg names.
|
|
|
|
|
|
In just-mr the config file should only be needed if:
1. We call just with a subcommand requiring a config file, or
2. We use one of just-mr's own commands (except version).
|
|
... with two minor code base changes compared to previous
use of gsl-lite:
- dag.hpp: ActionNode::Ptr and ArtifactNode::Ptr are not
wrapped in gsl::not_null<> anymore, due to lack of support
for wrapping std::unique_ptr<>. More specifically, the
move constructor is missing, rendering it impossible to
use std::vector<>::emplace_back().
- utils/cpp/gsl.hpp: New header file added to implement the
macros ExpectsAudit() and EnsureAudit(), asserts running
only in debug builds, which were available in gsl-lite but
are missing in MS GSL.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... also for CC tests, as this contains the shared tools, e.g.,
for flakyness handling.
|
|
|
|
In this way, the test action gets canonical, so adding RUNS_PER_TEST
support to this rule should be easily mergable into downstream rules.
|
|
endpoint
This can be useful, for example, to test if justbuild can successfully
communicate with the specified remote execution service.
|
|
... also for non-service libraries; the generated .ph.h files
may well refer, e.g., the well-known protos.
|
|
When deciding if two archive-based repositories create the same root
it is not enough to compare the contents of the archive; it also
matters which subdirectory we will take as root. This is especially
important, if we take the same archive on the one hand for the code
and also the example subdir for testing.
Additionally, we cannot ignore the archive type; there are tar
archives that are also zip archives, but with different content. (Tar
only cares about the initial segment till it finds the two empty
blocks; zip has the index at the end and ignores any initial segment
that might have been prepended to a valid zip archive.)
|
|
|
|
If we have a provided toolchain, we stage it to the corresponding subdirectory.
Otherwise, we still have to provide a value of the correct type (a map) rather
than the default else (which is the empty list).
|