summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2021-10-12context: add platform mapMatthias Schiffer
2021-10-12Update dependenciesMatthias Schiffer
2021-10-12util: fs: get rid of rm_rf dependencyMatthias Schiffer
All "interesting" deletions happen in a user namespace where we have CAP_DAC_OVERRIDE, so remove_dir_all() should be sufficient.
2021-10-11Map single UID/GID, not full subid mappingMatthias Schiffer
2021-10-11Switch to unprivileged user in container using unshareMatthias Schiffer
We can get away with only a single user ID mapping by mapping UID 0 to the build UID using unshare.
2021-10-11executor: sort and reformat summary outputMatthias Schiffer
2021-10-11container: do not hash layer if it is emptyMatthias Schiffer
2021-10-11runner: make layer hash output optionalMatthias Schiffer
There is no need to store a layer hash when the task has not touched any files.
2021-10-10examples: rootfs: preserve hardlinks (and a few other things)Matthias Schiffer
2021-10-10util: tar: remove unused unpack filter supportMatthias Schiffer
2021-10-10container: use GNU tar for packing outputsMatthias Schiffer
Using GNU tar in a container is slightly slower than doing this in Rust, but we get hardlink support this way.
2021-10-10container: run tar in more privileged container setupMatthias Schiffer
Run as root and with CAP_DAC_READ_SEARCH to handle files with missing permissions correctly. We also don't create a user namespace for the container in this case, which might save a few milliseconds.
2021-10-10container: use GNU tar to build layer tarMatthias Schiffer
The Rust tar library is missing many features like hardlinks. To ensure reproduciblity, we run the tar command in a container as well.
2021-10-10container: run cleanup after hashing and moving layerMatthias Schiffer
2021-10-10container: clean up directory creationMatthias Schiffer
2021-10-10util: fs: make mount() a toplevel functionMatthias Schiffer
2021-10-10container: switch to crun runtimeMatthias Schiffer
2021-10-10Rename runc runner to "container"Matthias Schiffer
The runner should also work with other OCI runtimes.
2021-10-10runc: do not mount /sysMatthias Schiffer
A build task does not need /sys for anything.
2021-10-10runc: do not change rootfs file owner to rootMatthias Schiffer
The rootfs is mounted read-only, the owner of the files does not matter.
2021-10-09paths: remove defintions for TASK_TMP_BUILDDIR and its subdirsMatthias Schiffer
2021-10-09runc: fix error handling when moving layer directoryMatthias Schiffer
2021-10-09runc: move main module to subdirectoryMatthias Schiffer
2021-10-09context: shorter alternative task formatMatthias Schiffer
Only print the package version and host/target architectures.
2021-10-09Update dependenciesMatthias Schiffer
2021-10-09Refer to inherited tasks by their layer hashMatthias Schiffer
2021-10-09runc: compute layer hashMatthias Schiffer
2021-10-09Add layer hash to task outputMatthias Schiffer
For now, the hash is not actually computed.
2021-10-08runc: use buffered writer for archive writeMatthias Schiffer
This should speed up both the actual file writing and the hashing.
2021-10-08Switch from SHA256 to Blake3 for task hashesMatthias Schiffer
Mostly relevant for output hashing, and the to-be-implemented workdir hashing. Passing data to the hasher is not optimized using a buffered writer yet.
2021-10-08runc: reliable task cleanupMatthias Schiffer
2021-10-08runc: add -x option to shell in task containerMatthias Schiffer
2021-10-08runc: persistently store task outputMatthias Schiffer
2021-10-07Update dependenciesMatthias Schiffer
2021-10-07Various code improvements suggested by clippyMatthias Schiffer
2021-10-04recipe: used scoped TLS to base recipe name to deserializerMatthias Schiffer
2021-10-04Update dependenciesMatthias Schiffer
2021-10-03Update dependenciesMatthias Schiffer
2021-10-03examples: split libgcc from gcc-libs packageMatthias Schiffer
Avoid building gcc-libs twice for cross-native toolchains. libgcc_s.so is still installed as part of gcc-libs.
2021-10-03executor: store start time and duration of tasksMatthias Schiffer
2021-10-02examples: rootfs: include toolchainMatthias Schiffer
2021-10-02examples: gcc, gcc-libs: make recipes work with cross host buildMatthias Schiffer
2021-10-02examples: gcc: add dependencies for cross host buildMatthias Schiffer
2021-10-02examples: libgcc-initial: make code more genericMatthias Schiffer
2021-10-02examples: binutils: allow build for cross hostMatthias Schiffer
2021-10-02context: assume that gcc dependencies are provided by rootfsMatthias Schiffer
2021-10-02examples: add recipes for zlib, gmp, mpfr and mpcMatthias Schiffer
These are dependencies of gcc.
2021-10-02examples: remove redundant environment variablesMatthias Schiffer
2021-10-02executor: add various toolchain-related variables to the environment by defaultMatthias Schiffer
2021-10-02Update dependenciesMatthias Schiffer