aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/pkg
AgeCommit message (Collapse)Author
2026-05-22internal/pkg: arch-specific expected offline substitutedOphestra
IR includes the target architecture name. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-13internal/pkg: check exec substitutionOphestra
This relies on the testtool having ident as relevant input to assert successful substitution. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-13internal/pkg: verify status kindOphestra
While it is still impossible to reliably determine the expected contents of these status files, this checks their nature for expected substitution behaviour. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-13internal/pkg: log fault in tests when availableOphestra
This would otherwise only be available in verbose output, interleaved with everything else. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-13internal/pkg: record cure faultsOphestra
These are useful for troubleshooting. This change records them in a separate directory. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-13internal/pkg: populate substitute statusOphestra
These are not created when taking the fast path, but should be inherited from the alternative. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-13internal/pkg: discontinue DCE resolution on signalOphestra
This serves as a stopgap measure to skip long-running DCE resolutions. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-13internal/pkg: deduplicate DCE by identOphestra
This eliminates edge cases where target artifacts do not compare equal. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-12internal/pkg: DCE benchmark unwrap onlyOphestra
This eliminates noise at lower depths. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-12internal/pkg: hold artifact in DCEOphestra
This is significantly slower but enables much better error reporting. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-12internal/pkg: benchmark early DCEOphestra
This error has never had decent performance, now is a good time to improve that. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-12internal/pkg: rename measured exec typeOphestra
This type is no longer exclusive to KindExecNet. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-12internal/pkg: optionally measure exec artifactOphestra
Useful for verifying deterministic output without enabling network access. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-12internal/pkg: content-based dependency substitutionOphestra
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>
2026-05-10internal/pkg: add riscv64 sumsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-10internal/pkg: add arm64 sumsOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-07internal/pkg: optionally register binfmtOphestra
This transparently supports curing foreign exec artifacts. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-07internal/pkg: correctly generate cure expectsOphestra
This needs to dereference the identifier symlink. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-06internal/pkg/exec: close early failure before waitOphestra
This avoids a deadlock on an early container failure. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-06internal/pkg: centralise exec testdata checksumsOphestra
This significantly reduces maintenance burden. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-06internal/pkg: improve output measuringOphestra
This significantly improves readability and maintainability. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-05internal/pkg: optionally suppress init verbosityOphestra
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>
2026-05-04container/initoverlay: configure via fsconfigOphestra
This works around the page size limit at the cost of negligible performance regressions. Closes #34. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-23internal/pkg: record cache variant on-diskOphestra
This makes custom artifacts much less error-prone to use. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-18internal/pkg: drop cached error on cancelOphestra
This avoids disabling the artifact when using the individual cancel method. Unfortunately this makes the method blocking. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-18internal/pkg: pending error alongside done channelOphestra
This significantly simplifies synchronisation of access to identErr. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-18internal/pkg: flush cached errors on abortOphestra
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>
2026-04-17internal/pkg: abort all pending curesOphestra
This cancels all current pending cures without closing the cache. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-17internal/pkg: fine-grained cancellationOphestra
This enables a specific artifact to be targeted for cancellation. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-17internal/pkg: move IR primitives out of cacheOphestra
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>
2026-04-15internal/pkg: job count in container environmentOphestra
This exposes preferred job count to the container initial process. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-15internal/pkg: pass impure job countOphestra
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>
2026-04-13internal/rosa: assume file source is xz-compressedOphestra
XZ happens to be the only widely-used format that is awful to deal with, everything else is natively supported. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-10internal/landlock: relocate from package containerOphestra
This is not possible to use directly, so remove it from the public API. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-07all: optionally forbid degrading in testsOphestra
This enables transparently degradable tests to be forced on in environments known to support them. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-07internal/pkg: transparently degrade landlock in testsOphestra
This does not test package container, so should transparently cope with Landlock LSM being unavailable. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-07internal/pkg: optional landlock LSMOphestra
The alpine linux riscv64 kernel does not enable Landlock LSM, and kernel compilation is not yet feasible. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-03internal/pkg: optionally suppress via assumed checksumOphestra
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>
2026-04-03internal/pkg: per-cache SCHED_IDLEOphestra
This is cleaner than setting it globally, and is impossible to race. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-03internal/pkg: cache flagsOphestra
This is cleaner for extending the API. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-02internal/pkg: pick up $TERM if attaching stdinOphestra
This improves behaviour of some programs. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-30internal/uevent: synthetic events for coldbootOphestra
This causes the kernel to regenerate events that happened before earlyinit started. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-30all: use filepathOphestra
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>
2026-03-26internal/pkg: enter exec containerOphestra
This enables much easier troubleshooting of failing cures. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-26internal/pkg: collection helper-artifactOphestra
This was moved from internal/rosa because it is considered generally useful. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-26internal/pkg: isolate container paramsOphestra
This enables exporting container params for interactive troubleshooting within the cure container. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-17internal/stub: move from containerOphestra
This package solves a very specific stubbing use case, in a less than elegant manner. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-17fhs: move from containerOphestra
This package is not container-specific. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-17check: move from containerOphestra
This package is not container specific, and widely used across the project. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-17vfs: move from containerOphestra
This package is not container-specific. Signed-off-by: Ophestra <cat@gensokyo.uk>