aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
16 hoursinternal/rosa/meson: support cross-compilationOphestra
Meson does not want to play nice and accept arguments or environment variables for cross-compiling configuration, so a so-called mfile had to be generated and placed here. Signed-off-by: Ophestra <cat@gensokyo.uk>
16 hoursinternal/rosa: cross-only native toolsOphestra
For situations where a package uses a just-built program as part of its own build process. Signed-off-by: Ophestra <cat@gensokyo.uk>
17 hoursinternal/rosa: insert musl when cross-compilingOphestra
This is otherwise never added to the cross root. Signed-off-by: Ophestra <cat@gensokyo.uk>
20 hoursinternal/rosa/make: optionally omit target flagOphestra
Similar to the previous change, this does not work on some configure scripts pretending to be autoconf. Signed-off-by: Ophestra <cat@gensokyo.uk>
20 hoursinternal/rosa/make: optionally omit program name flagsOphestra
This does not work on some configure scripts pretending to be autoconf. Signed-off-by: Ophestra <cat@gensokyo.uk>
27 hoursinternal/dbus: add cleanupOphestra
This prevents leaking the test process in the test suite. Signed-off-by: Ophestra <cat@gensokyo.uk>
29 hoursinternal/rosa/make: set target and program nameOphestra
This helps some configure scripts behave correctly. Signed-off-by: Ophestra <cat@gensokyo.uk>
27 hoursinternal/rosa: bootstrap make in two stepsOphestra
This enables the test suite in the second make stage. This change also fixes a typo in the second stage make build script. Signed-off-by: Ophestra <cat@gensokyo.uk>
30 hoursinternal/rosa: optionally bypass cross-compilationOphestra
Cross-compilation is not applicable to everything, and it is quite wasteful rebuilding the same thing for every architecture when it is just using host tools to create arch-independent files. Signed-off-by: Ophestra <cat@gensokyo.uk>
32 hoursinternal/rosa: initial cross-compilation supportOphestra
This successfully cross-compiles the toolchain. More work is needed to support cross-compilation on all native helpers and existing packages. Signed-off-by: Ophestra <cat@gensokyo.uk>
3 daysinternal/rosa/package/git: disable flaky testOphestra
This was discovered during mass rebuilds caused by the previous change. Signed-off-by: Ophestra <cat@gensokyo.uk>
3 daysinternal/rosa: remove triple from environmentOphestra
This is cleaner and prepares for cross-compilation support. Signed-off-by: Ophestra <cat@gensokyo.uk>
3 daysinternal/rosa/package/muon: do line bufferingOphestra
This gets rid of the stuttery logging behaviour and should also slightly reduce memory usage. Signed-off-by: Ophestra <cat@gensokyo.uk>
4 daysinternal/rosa: update hakureidevelopOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
4 daysrelease: 0.4.9HEADv0.4.9masterOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
4 daysext: add additional constantsOphestra
This removes the syscall cutoff thresholds, instead declaring all syscall number constants in package ext. This also removes two constants from package container which were inadvertently exported for 386 and amd64. Signed-off-by: Ophestra <cat@gensokyo.uk>
4 dayscontainer/sysctl: remove calls to loggerOphestra
This behaviour is counterintuitive, the responses are cached, and only the msg object of the first call is used. This change also improves error message formatting of these functions. Signed-off-by: Ophestra <cat@gensokyo.uk>
5 daysinternal/rosa: update packagesOphestra
Kernel headers changed due to a documentation change in random.h, causing rebuilds. Kernel source is now fetched from cdn.kernel.org. A newly broken libarchive test has been disabled. A flaky git test has been discovered while rebuilding for curl and has been disabled. Signed-off-by: Ophestra <cat@gensokyo.uk>
5 daysinternal/system: file-based big lockOphestra
Simultaneous commits or reverts can race if they have overlapping targets. This big lock synchronises entry into the Commit and Revert critical sections across all cmd/hakurei processes. Signed-off-by: Ophestra <cat@gensokyo.uk>
5 dayscmd/hakurei/testsuite: handle dynamic linker raceOphestra
This retries when seeing files opened by the dynamic linker. This will eventually be replaced by a statically linked anchor program that never opens any files on its own. Signed-off-by: Ophestra <cat@gensokyo.uk>
5 daysinternal/testsuite: lock tracer threadOphestra
This avoids getting the goroutine preempted and scheduled onto a thread other than the tracer. Signed-off-by: Ophestra <cat@gensokyo.uk>
5 dayscmd/hakurei/testsuite: improve sandbox reportingOphestra
This avoids swallowing error messages from failed container startups. Signed-off-by: Ophestra <cat@gensokyo.uk>
5 dayscmd/hakurei/testsuite: compare command outputOphestra
This is much more precise than just simply checking the exit code. Signed-off-by: Ophestra <cat@gensokyo.uk>
5 daysinternal/outcome: world-executable runtime/tmpdirOphestra
This does not reduce security, and saves the trouble of the additional ACL setup/teardowns. Signed-off-by: Ophestra <cat@gensokyo.uk>
5 dayscmd/hakurei/testsuite: synchronise after terminationOphestra
This ensures that cmd/hakurei has finished cleanup and terminated before validating the outcome of that cleanup. Signed-off-by: Ophestra <cat@gensokyo.uk>
5 daysinternal/testsuite: drop ESRCH on detachOphestra
Getting ESRCH here is harmless, and has the same effect of detaching successfully, so drop it to avoid spurious test failures. Signed-off-by: Ophestra <cat@gensokyo.uk>
5 daysinternal/acl: make tests parallelOphestra
This increases testing performance. Signed-off-by: Ophestra <cat@gensokyo.uk>
6 dayscmd/hakurei/testsuite: move rts test out of loopOphestra
This was inadvertently placed inside the setscheduler loop due to miscounting indentations. Signed-off-by: Ophestra <cat@gensokyo.uk>
6 dayscmd/hakurei/testsuite: set credentials for store accessOphestra
This avoids breaking ownership of lock files. Signed-off-by: Ophestra <cat@gensokyo.uk>
6 dayscmd/hakurei/testsuite: optional retriesOphestra
This implements retries of individual test cases and enables it for pipewire and X tests. PipeWire and X server are quite flaky, and that cannot be fixed by anything cmd/hakurei does. Signed-off-by: Ophestra <cat@gensokyo.uk>
6 dayscmd/hakurei/testsuite: additional cleanup checksOphestra
These were pretty difficult to do properly in the nixos-based test suite. Signed-off-by: Ophestra <cat@gensokyo.uk>
6 dayscmd/hakurei/testsuite: migrate testsOphestra
This runs much faster than the NixOS test suite, and is much more precise. This also uncovered a recent severe pipewire regression. This change removes all remaining deprecated nix code. Closes #22. Signed-off-by: Ophestra <cat@gensokyo.uk>
6 daysinternal/testsuite: additional polling helpersOphestra
These are mostly for process lifecycle checks. This change also adds polling for the Xwayland server in the sway helper. Signed-off-by: Ophestra <cat@gensokyo.uk>
7 daysinternal/workflows: build sway 1.12Ophestra
This has better support for security-context metadata which can be measured by the test suite. Signed-off-by: Ophestra <cat@gensokyo.uk>
7 daysinternal/testsuite: get pipewire versionOphestra
This formats into some test data. Signed-off-by: Ophestra <cat@gensokyo.uk>
7 daysinternal/testsuite: optional insecure argumentOphestra
This allows testing insecure configurations. This change also improves error reporting and fixes non-startup-notification behaviour. Signed-off-by: Ophestra <cat@gensokyo.uk>
7 daysinternal/workflows: build wireplumber 0.5.14Ophestra
PipeWire/WirePlumber had become slopware while I was not looking. WirePlumber 0.5.15 broke SecurityContext, and it has still not been fixed. I have filed a ticket upstream, but considering the fact that my previous security-related ticket, filed over 10 months ago, is still being ignored, I do not have high hopes that they will fix it. It is no longer safe to use PipeWire. Users are advised to downgrade to 0.5.14 for now. A drop-in replacement of PipeWire might be needed for Rosa OS. This change also adds additional packages required by the native cmd/hakurei integration test suite. Signed-off-by: Ophestra <cat@gensokyo.uk>
9 daysinternal/testsuite: optional verbose outputOphestra
Used by some tests to inspect cmd/hakurei internals. Signed-off-by: Ophestra <cat@gensokyo.uk>
9 daysinternal/testsuite: optional startup notificationOphestra
This is only really used by the sandbox test suite for seccomp validation. Make it optional here to simplify other use cases. Signed-off-by: Ophestra <cat@gensokyo.uk>
9 daysinternal/testsuite: disconnect script from stdinOphestra
The util-linux script program really messes up any terminal attached to stdin. Since the test programs do not take any input, and stdin is a shared resource that cannot be used anyway, this change disconnects it from stdin. Signed-off-by: Ophestra <cat@gensokyo.uk>
9 daysinternal/testsuite: silence session servicesOphestra
These are too noisy and are not useful outside of debugging the test suite itself, so silence them by default. Signed-off-by: Ophestra <cat@gensokyo.uk>
9 daysinternal/testsuite: move helpers from cmd/hakureiOphestra
These helpers are useful across multiple test suites. Signed-off-by: Ophestra <cat@gensokyo.uk>
9 dayshst: pass through adopt wait delay with boundsOphestra
This is a useful value to customise, primarily useful for test suites but can also generally improve exit latency for stubborn applications. Signed-off-by: Ophestra <cat@gensokyo.uk>
9 dayscmd/dist: allow forcing dynamic linkingOphestra
This remains unsupported, but is useful during testing, or when packaging for some particularly stubborn distros. Signed-off-by: Ophestra <cat@gensokyo.uk>
9 daysinternal/rosa/package/glib: fix loopvar -Wsign-conversionOphestra
This affects arm64. Signed-off-by: Ophestra <cat@gensokyo.uk>
10 daysinternal/rosa/package/python: disable broken testOphestra
This is very platform-specific and seems to be broken on anything other than amd64. So far only tickets for riscv64 and i586 exist, and it is only fixed for riscv64. Nobody seems to be running the test suite on arm64 for some reason. Signed-off-by: Ophestra <cat@gensokyo.uk>
10 daysall: use Linux kernel coding styleOphestra
The Gitea web interface is no longer publicly accessible, so it no longer matters that this code style does not render well on Gitea. Signed-off-by: Ophestra <cat@gensokyo.uk>
10 daysinternal/system: skip superfluous chmodOphestra
A successful chmod clobbers acl mask, breaking the fast path. This change also fixes the ACL race. Signed-off-by: Ophestra <cat@gensokyo.uk>
10 daysinternal/acl: use O_PATH descriptorOphestra
This avoids TOCTOU during hakurei_update_acl. Signed-off-by: Ophestra <cat@gensokyo.uk>
10 daysinternal/lockedfile: optionally force write lockOphestra
For acquiring a write lock on a directory. Signed-off-by: Ophestra <cat@gensokyo.uk>