summaryrefslogtreecommitdiff
path: root/etc
AgeCommit message (Collapse)Author
2025-04-09toolchains for protobuf/grpc: include non-debug binaryKlaus Aehlig
While for included libraries, it makes sense to have them with debug symbols (after all, they are linked into a binary depending on it), the toolchain binaries are just called, so there is no point in building debug versions thereof.
2025-04-08bzip2 binary targets: Clear DEBUG flagPaul Cristian Sarbu
Similarly to other third-party binaries, we should not care if they are built in release or debug mode and as such we explicitly clear the DEBUG flag.
2025-04-08grpc_cpp_plugin target: Clear DEBUG flagPaul Cristian Sarbu
Similarly to the proto compiler, this target is a third-party binary and as such we do not care if it is built in release or debug mode, so always clear the DEBUG flag.
2025-04-08protoc target: Clear DEBUG flagPaul Cristian Sarbu
As we only care about the result of proto targets, we do not care if the proto compiler is built in release or debug mode, so always clear the DEBUG flag for this binary.
2025-03-10grpc: export config_varsKlaus Aehlig
... as this library is used by different export targets.
2025-03-04Update grpc to v1.70.1Paul Cristian Sarbu
...together with its dependencies: - boringssl dec0d8f681348af8bb675e07bd89989665fca8bc - protobuf v29.0 - abseil 20240722.0 Also update the bootstrap command for ssl to account for the fact that now also the crypto library has fully moved to C++ and the location of its sources has changed.
2025-01-27Update libfmt to 11.1.3Klaus Aehlig
2024-12-20catch2: Make catch2-main a proper export targetOliver Reiche
2024-12-19just: Re-enable local project warning flagsOliver Reiche
2024-11-14execution_api/execution_service: Implement IWYU suggestionsPaul Cristian Sarbu
2024-10-30Update to grpc v1.67.1Paul Cristian Sarbu
Update also direct dependencies: - boringssl b8b3e6e - google_apis fe8ba05 - protobuf v27.2 Also update the bootstrap build description for crypto library. Remove ssl patch for gcc-14 build as fix is now in upstream. Remove bytestream.proto patch as fix is now in upstream. Target utf8_range now taken only from protobuf, where it is first defined. For now, upb dependencies in grpc still taken from its own third_party subdirectory, as it is still kept synchronized with the corresponding tree in the corresponding protobuf version.
2024-10-22clang toolchain: add -fdebug-compilation-dir=. in debug modeKlaus Aehlig
... to allow reproducible debug builds. Unfortunately, gcc does not support such an option.
2024-10-22Update libarchive to 3.7.7Klaus Aehlig
2024-10-21Update lzma to 5.6.3Klaus Aehlig
2024-10-10third-party: update fmt, cli11, zlibKlaus Aehlig
Those are trivial dependency updates without the need to change the build description. The new versions now are - fmt 11.0.2 - cli11 2.4.2 - zlib 1.3.1
2024-09-23Reorder dependencies and remove duplicates in OSSMaksim Denisov
2024-08-22Use lint defaults as in rulesKlaus Aehlig
... inheriting path from CC and shell defaults.
2024-08-14lint: use standard launchersKlaus Aehlig
2024-07-12test summary defaults: use timesKlaus Aehlig
... as the default summarizer can make good use of that, if provided.
2024-05-23Add shell toolchain for all pkg-config dependenciesKlaus Aehlig
2024-05-15Add default targets for the upcoming shell toolchainv1.4.0-alpha+20240515Klaus Aehlig
2024-05-13boringssl: Add fix for building with gcc-14Oliver Reiche
... which is needed until this is merged: https://boringssl-review.googlesource.com/c/boringssl/+/68227
2024-04-30["CC", "defaults"] target: use "ADD_COMPILE_FLAGS"Klaus Aehlig
... to simplify definition.
2024-04-26deps: Update libarchive to v3.7.4Paul Cristian Sarbu
2024-04-19cleanup: remove left-over "arguments_config"Klaus Aehlig
... that is no longer used since d762bfa1953933dfac0a29a74523c25719396b8c
2024-04-19Toolchain: support passing through extra linker flagsKlaus Aehlig
2024-04-12Update grpc to v1.62.1 and all its dependenciesPaul Cristian Sarbu
- update boringssl to commit ae72a45 - update protobuf to v25.1 - update abseil to v20240116.0 (including patches) Also add mirrors for third-party dependencies where known and hashes correspond.
2024-04-12file chunker: increase chunk sizesKlaus Aehlig
As we use chunking also for reducing storage, we have to consider the overhead of block devices which is in the order of kB per file. So our target chunk size should be at least 2 orders of magnitude above this. This suggests to minimally aim for a chunk size of 128kB, a target size that also has the advantage the that maximal chunk size associated with this size is 1MB which is still well below the maximal transmission size of grpc allowing us to avoid the streaming API. As we're scaling everything up by a factor of 16, we also have to increase the number of bits in the involved masks by 4. We use this to also extend the window size by using the 2 most significant octets. Following the advice of the paper proposing FastCDC to spread out the ones roughly equally suggests 0x4444 as a suitable value for the two most significant octets. We also change the suggested extension of the remote-execution API accordingly. As the precise parameters for FastCDC when announced over the remote-execution APIs are still under discussion upstream, we simplify the name to not mention the target size.
2024-04-05grpc: hide dependency on google_rpc_statusKlaus Aehlig
grpc is used in the toolchain defaults for proto servive libraries. Still, it is typically built on its own, with its own toolchain, flags, etc. Now, grpc, however has a public dependency on a the rpc-status proto library, that the user may well use on their own, however building in their own way which can yield conflicts. To solve this, we hide the dependency on that proto library, as infrastructure libs should not make assumptions on user-servicable libraries. - First, we note that the dependency can be made a private one, which already solves the conflict on header files (which will essentially be the same, but might be defined in a different way). - Next, we note that the library at linking basically only acts as a default implementation; if the user provides their own version of the rpc-status library, we should prefer that anyway. As infrastructure is linked last, we have that default character anyway; the only thing to do is to rename the library that no staging conflict occurs.
2024-04-02Revert "third-party: Update lzma to v5.6.1"Klaus Aehlig
This reverts commit 0db6f248a04f5a23102b4208c1f28b3633c6ef8a. We have our own build description for lzma, hence we are likely not affected by CVE-2024-3094. Nevertheless, we should not encourage the use or distribution of an archive that contains a known backdoor. Reverting this commit also points us to a mirror that is still fetchable.
2024-04-02Clean up repo structure: compression is only a dependency of libarchiveKlaus Aehlig
... and not directly used by our tool.
2024-03-26third-party: Update libcurl to v8.6.0Paul Cristian Sarbu
Now the curl URL API always fails to parse the empty string, so our test was changed to reflect this.
2024-03-26third-party: Update libarchive to v3.7.2Paul Cristian Sarbu
2024-03-26third-party: Update catch2 to v3.5.3Paul Cristian Sarbu
2024-03-26third-party: Update libgit2 to v1.7.2Paul Cristian Sarbu
2024-03-26third-party: Update lzma to v5.6.1Paul Cristian Sarbu
Also updated the remote fetch repository, as the previous upstream repository has since been archived.
2024-03-26third-party: Update fmt to v10.2.1Paul Cristian Sarbu
Also updates the test-mixed-bootstrap script which must use the explicit library version.
2024-03-26third-party: Update json to v3.11.3Paul Cristian Sarbu
2024-03-26third-party: Update cli11 to v2.4.1Paul Cristian Sarbu
2024-03-14export of gsl: add missing flexible_config "ENV"Klaus Aehlig
As a library, that target depends implicitly on the toolchain, hence the already present export of "TOOLCHAIN_CONFIG", but also the environment for using that toolchain. So, export "ENV" as well.
2024-03-13Export more third-party top-level entry pointsKlaus Aehlig
... so that they can be served and hence the corresponding dependency can be absent.
2024-02-26Update remote execution protocol to support blob splicingSascha Roloff
The latest remote execution protocol version includes a blob splicing RPC and allows for the negotiation of the used chunking algorithm between client and server.
2024-02-15defaults: Support fully static linkingOliver Reiche
... of all produced binaries, including the intermediate ones: protoc and grpc_cpp_plugin.
2024-02-15Replace glibc sync stubs when linking pthreadsOliver Reiche
... glibc provides synchronization stubs for single-threaded environments as weak symobls. When linking pthreads, these weak symbols must be replaced by the strong symbols provided by the pthread library. For dynamically linking pthreads, this is done automatically. However, to support this for static linking, we must ensure to link the whole archive.
2024-02-02Fix export of remote APIKlaus T. Aehlig
As we patch that API, it also can implicitly depend on the toolchain (and hence its config), if we use a compiled implementation of patch. Making the TOOLCHAIN_CONFIG a flexible part of the config allow to, again, build static binaries as usual.
2024-01-22curl: Support selectively enabling non-HTTPOliver Reiche
2024-01-09Export ["@", "abs", "absl/base", "malloc_internal"]Klaus Aehlig
... as it is used by various libaries that are exported independently.
2024-01-08repos.json: ignore special in grpc source treeKlaus Aehlig
The source archive of grp contains upwards symlinks (that do not point outside the source directory). For a normal build this is not an issue; we still can generate a git tree from this archive and the parts we use of this archive never even touch a directory containing an upwards symlink. However, when just-mr desires to get this root from a just serve instance, the tree would have to be synced to the remote-execution CAS and hence the restriction applies that we only consider non-upwards relative symlinks as first-class citizens. Therefore, ignore all symlinks in this archive and this way, without changing the actual build, obtain an easy-to-manage root.
2023-12-21Export ["@", "json", "", "json"]Klaus Aehlig
... to allow target-level caching.
2023-11-29Do not drop curl for bootstrapOliver Reiche
... as it is part of just-mr, which is an essential part of the build system installation by now.