| Age | Commit message (Collapse) | Author |
|
This enables cure status display without inspecting internal state.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
These were missed when adding highlight for core cache verbose output.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This highlights sections of messages, increasing readability in some cases.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This increases readability in some cases.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This enables a FileArtifact implementation to specify whether its resulting file should be executable. This change also implements shebang and ELF magic checks in the file artifact.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This enables changing the behaviour of an artifact implementation without changing its IR structure. Unfortunately this changes the IR header structure resulting in many rebuilds.
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>
|
|
For validation of build determinism.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
Useful for cure determinism validation of KindExec.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This saves time and is often more practical even for package maintainers.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
Doing this together just makes it awkward to query status early, having to deal with cleaning up.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is useful independent of cure and might replace the Collect hack.
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 prepares substitute computation for shallow extern replacements.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This prepares substitute computation for shallow extern replacements.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This avoids holding up many slots with a long pipeline.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is always required by the implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is primarily useful for implementing a mirror service. This change also works around the zero-dependency FloodArtifact edge case.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is a bunch of string operation and a single syscall. Do not hold up queue here.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This avoids running into nasty surprises opening a cache that suffered unclean shutdown due to power loss. All other parts of the cache are not prone to inconsistent state.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This unpacks an internal/pkg archive stream used in the upcoming mirror service.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
The tarArtifact predates FileArtifact pipelining. This migrates decompression and buffering into a standalone artifact implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
These names are more consistent with other helper names, so rename them while the API is still internal.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
Scrubbing for status predates substitutes. This change fixes scrub handling of substitute status entries.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This destroys cache entries not referred to by user-specified artifacts and optionally their inputs.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This avoids leaving behind the substitution status path of a faulted cure.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This makes ongoing errors more obvious when multiple failures occur.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
These are useful for troubleshooting. This change records them in a separate directory.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
These are not created when taking the fast path, but should be inherited from the alternative.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This serves as a stopgap measure to skip long-running DCE resolutions.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This eliminates edge cases where target artifacts do not compare equal.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is significantly slower but enables much better error reporting.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This change introduces a new fast path for FloodArtifact. It is taken when a curing artifact has identical-by-content controlled relevant inputs and are otherwise identical to an already-cured artifact.
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 makes custom artifacts much less error-prone to use.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This avoids disabling the artifact when using the individual cancel method. Unfortunately this makes the method blocking.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This significantly simplifies synchronisation of access to identErr.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This avoids disabling the artifact until cache is reopened. The same has to be implemented for Cancel in a future change.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This cancels all current pending cures without closing the cache.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This enables a specific artifact to be targeted for cancellation.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
These are memory management and caching primitives. Having them as part of Cache is cumbersome and requires a temporary directory that is never used. This change isolates them from Cache to enable independent use.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is cleaner than checking cpu count during cure, it is impossible to avoid impurity in both situations but this is configurable.
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 quite error-prone and causes cache inconsistency similar to the store inconsistency seen on nix when a similar condition happens. Keep this behind a flag in case it is ever beneficial.
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 is cleaner for extending the API.
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>
|