summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-01-19Minor fixes for compiling with clang-14Oliver Reiche
2023-01-18authentication: add TLS and mTLS supportAlberto Sartori
2023-01-16just-mr fetch: fix overwriting distfilesKlaus Aehlig
Both, the python script as well as the compiled variant of just-mr fetch try to overwrite already existing distfiles in the distdir. While it is unclear if overwriting existing distfiles or not copying to distdir if a file with that name already exists is the better behaviour, we at least should not error out, as the compiled just-mr currently does as it sets permission to 444 and hence cannot overwrite later; fix this by addwing owner write permissions before overwriting.
2023-01-16Add test to verify just-mr fetch functionalityKlaus Aehlig
2023-01-16just-mr fetch: fix internal archive descriptionKlaus Aehlig
The absent value for an optional string is std::nullopt, not the empty string.
2023-01-16just-mr fetch: drop redundant directory creationKlaus Aehlig
just-mr fetch is supposed to fetch to the first (in search order) distdir that is an existing directory (and error out if no such directory exists). So, once a directory is found, there is no need to create it---we already verified it is an existing directory.
2023-01-16just-mr: fix quotingKlaus Aehlig
... in error message reporting the lack of present distdirs.
2023-01-16test/end-to-end: stage git-import tests to their own directoryKlaus Aehlig
... to avoid potential staging conflicts. Having them staged to just-mr was a copy-and-paste error in the first place anyway.
2023-01-16CurlEasyHandle: Fix empty fetches due to unfollowed URLsPaul Cristian Sarbu
For libcurl we need to set the CURL_FOLLOWLOCATION flag (disbaled by default) to enable 3xx redirects. Libcurl has sane defaults for related settings in order to handle redirects when enabled, though for fetches there should be limited risks, as content (and SHA hashes, if provided) is checked to ensure the intended archives are fetched.
2023-01-16fpath_git_map: Fix wrong log messagePaul Cristian Sarbu
2023-01-12source map: quote file names in error messageKlaus Aehlig
... to ensure unique readability even with file names containing spaces or other special symbols; those kind of fancy file names typically occur when a string intended as named target is implicitly taken as a file (e.g., due to a spelling error). While there, also include directory and repository in the error message.
2023-01-12Installation: be explicit about building with older justKlaus Aehlig
... by specifying that we always ensure the latest stable release of just can build just at head. If the only version available is older than the last stable release, it might be necessary to go through the bootstrap path.
2023-01-10Add basic test for git-importKlaus Aehlig
2023-01-10just-import-git: accept config from stdinKlaus Aehlig
... to allow simple chaining of imports.
2023-01-10just-import-git: carry out the temporary clone in a shallow wayKlaus Aehlig
2023-01-10just-import-git: fix check for main nameKlaus Aehlig
The main repository to be imported should be treated special, whenever given. This has to be verified as the parameter not being None, rather than being true, as the empty string (a traditional name for the main repository) is also a false value in python.
2023-01-10Tests: Add TEST_BOOTSTRAP_JUST_MR config var to decide which just-mr is used ↵Paul Cristian Sarbu
in the end-to-end tests
2023-01-10Targets: Create top-level just-mr install targetPaul Cristian Sarbu
This target uses the just-mr binary and will replace the Python script in all non-bootstrap-related scenarios.
2023-01-10repos_to_setup_map: Remove unnecessary logger capture in lambda callsPaul Cristian Sarbu
2023-01-10Just-MR: Fix distdir computation in internal just-mrPaul Cristian Sarbu
This provides the fix already performed for the just-mr script in the internal just-mr as well. In short, this fix makes sure that the computation of the content key for distdir repositories is independent of the presence of the respective archives in CAS.
2022-12-23Just-MR: Fix wrong commit_git_map keyPaul Cristian Sarbu
The subdir is required alongside the commit hash for a valid map key when importing a Git repository into our Git cache.
2022-12-23Just-MR: Remove wrong pass-by-reference when wrapping loggersPaul Cristian Sarbu
Passing the logger by reference would require the caller to be kept alive. Also, being a shared_ptr, the logger can be passed by value at almost no cost.
2022-12-23Just-MR: Fix bloated reachable reposPaul Cristian Sarbu
Use intermediary unordered sets to store the repos to_setup and to_include to avoid unnecessary duplicates. It is purely a performance benefit.
2022-12-23Just-MR: Fix mrrc config handlingPaul Cristian Sarbu
The parser was exiting early when the user gave no rc file, before having the chance to look for the config file in the default locations.
2022-12-23Test that just-mr does not rely on CASKlaus Aehlig
... and, instead, stores all needed information in git and CAS-independent index files.
2022-12-23end-to-end tests: go through a single target for just-mrKlaus Aehlig
... so that we can switch in one go and have all tests use a new just-mr tool, e.g., once we consider the C++ implementation fully ready. This single point of switch will be relevant as the next commit will add the first end-to-end test for just-mr itself.
2022-12-23just-mr: fix distdir computationKlaus Aehlig
just-mr is designed to store everything that can be reported as git tree entirely in git only. To avoid recomputation, just-mr keeps index files mapping the description of a repository to the corresponding git trees. For these index files to be useful, the computation of the key has to be independent of the presence of the respective archives in CAS. This will become even more important once garbage collection will be added. Fix this for distdir repositories.
2022-12-23imports: Fix missing link dependency for crypto-libOliver Reiche
... which privately depends on pthreads.
2022-12-23just-mr: fix exec log messageKlaus Aehlig
... to show the argument vector properly serialized as json. In this way, the vector can be read unambigiously even if arguments contain white space.
2022-12-22import of boringssl: fix export structureKlaus Aehlig
Both ["", "ssl"] and ["", "crypto"] are targets of "boringssl" that are intended for use outside this repository. Both depend on the ["CC", "library"]-target ["", "crytpo-lib"], in fact even visibly, as ssl has a library-dependency on the crypto library. Therefore, we have to follow the standard export pattern that all uses of this library go through the same (closest) export target. Fix this!
2022-12-22Add option --dump-export-targetsKlaus Aehlig
... dumping only the configured targets that are export targets. Those targets are of particular interest as those are the targets, as they are the high-level caching points and also often serve as interface between projects.
2022-12-22export targets: identify as such in result_mapKlaus Aehlig
Make export targets identify themselves in the result_map, so that we have accurate knowledge of the export targets seen.
2022-12-22result_map: also keep track of export targetsKlaus Aehlig
Allow in the addition of a target to the result map to indicate that it was an export target; in this way, the information is available as a result of the analysis.
2022-12-22CHANGELOG: also mention the new just-mr binaryKlaus Aehlig
2022-12-21Bootstrap: Exclude other_tools folder from source files gatheringPaul Cristian Sarbu
2022-12-21Test: Add basic test for just-mrPaul Cristian Sarbu
2022-12-21Just-MR: Add main logic for just calls sub-commandsPaul Cristian Sarbu
2022-12-21Just-MR: Add main logic for setup and setup-env sub-commandsPaul Cristian Sarbu
2022-12-21Just-MR: Add main logic for update sub-commandPaul Cristian Sarbu
2022-12-21Just-MR: Add main logic for fetch sub-commandPaul Cristian Sarbu
2022-12-21Just-MR: Add main with CL args handlingPaul Cristian Sarbu
2022-12-21Just-MR: Add repos-to-setup mapPaul Cristian Sarbu
Contains the logic for the checkout of all supported repositories.
2022-12-21Just-MR: Add archive content to WS root git mapPaul Cristian Sarbu
Uses libarchive to unarchive the archives from CAS.
2022-12-21Test: Upd libarchive tests with wrapper classPaul Cristian Sarbu
2022-12-21Utils: Add wrapper class for libarchive operationsPaul Cristian Sarbu
2022-12-21Test: Add basic tests for libarchiveOliver Reiche
2022-12-21External: Add libarchive dependencyPaul Cristian Sarbu
2022-12-21External: Add bzip2 dependencyOliver Reiche
2022-12-21Just-MR: Add archive fetch mapPaul Cristian Sarbu
2022-12-21Just-MR: Add archive content-in-CAS mapPaul Cristian Sarbu
Calls libcurl to fetch the archives from the internet.