| Age | Commit message (Collapse) | Author |
|
Closes #43.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This function has no current users and has no good use case, so remove it before the API is made stable.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This avoids having progress indicators mess up logging.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This increases readability in some cases.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This exposes preferred loadavg target to the container initial process.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This makes the interface stable.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
Inputs is more correct than dependencies in the current terminology.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This reduces duplicate code. This change also adds resolv.conf to the container.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is otherwise not externally accessible. The resulting map can be safely mutated.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This type is no longer exclusive to KindExecNet.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
Useful for verifying deterministic output without enabling network access.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This transparently supports curing foreign exec artifacts.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This avoids a deadlock on an early container failure.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This flag applies to every exec artifact cured by the cache. It has no effect on cure outcome.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This exposes preferred job count to the container initial process.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
The alpine linux riscv64 kernel does not enable Landlock LSM, and kernel compilation is not yet feasible.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is cleaner than setting it globally, and is impossible to race.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This improves behaviour of some programs.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This makes package check portable, and removes nonportable behaviour from package pkg, pipewire, and system. All other packages remain nonportable due to their nature. No latency increase was observed due to this change on amd64 and arm64 linux.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This enables much easier troubleshooting of failing cures.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This enables exporting container params for interactive troubleshooting within the cure container.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This package is not container-specific.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This package is not container specific, and widely used across the project.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
These are too general to belong in the container package. This targets the v0.4 release to reduce the wrapper maintenance burden.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
The more explicit API removes the arbitrary limit preventing use of SCHED_OTHER (referred to as SCHED_NORMAL in the kernel). This change also exposes priority value to set.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This avoids depending on cgo.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This also uses priority obtained via sched_get_priority_min, and improves bounds checking.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This side is the read end of a pipe and buffering reads from it ended up performing better than buffering one half of the TeeReader (which already goes through the kernel page cache anyway).
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This fixes a use-after-free.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is currently only used by execArtifact. A later patch will add additional logging facilities.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This avoids discarding output thus appearing unresponsive.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is not as necessary as it was for nix, since internal/pkg only unblocks exclusive artifacts one at a time. Still, this is useful when running alongside an unprivileged music player which cannot set itself to a higher priority.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is a useful helper for external tooling.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is useful for external tooling providing an execArtifact-like environment.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is required by the GLib test suite, and possibly others.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This should hopefully provide good separation between the artifact curing backend implementation and the (still work in progress) language. Making the IR parseable also guarantees uniqueness of the representation.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
The armv8l busybox binary release needs this to run correctly.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This alleviates scheduler overhead when curing many artifacts.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This will be fully implemented in httpArtifact in a future commit.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This avoids truncating unreasonably long lines from llvm.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
No good reason to filter this in the execArtifact container, and the extended filter breaks certain programs.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This enables deduplication by value as implemented in execArtifact.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This eliminates duplicate identifier computations. The new implementation also significantly reduces allocations while computing identifier for a large dependency tree.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This proxies program output through msg with a name and fd prefix. This also avoids introducing additional information to the container via process stdout/stderr.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This does not have a reasonable way of inferring the underlying name. For zero value it falls back to base of executable pathname.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This change also updates the documentation of NewExec.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This imposes a hard upper limit to concurrency during dependency satisfaction and moves all dependency-related code out of individual implementations of Artifact. This change also includes ctx and msg as part of Cache.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
The cure is condemned at the point of cancellation and all of its state is destroyed by the deferred cleanup, so it makes little sense to wait for it much.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This updates buffer sizes and counters to use correct total artifact count.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This enables the use of directories made writable this way as scratch space.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|