Commit Graph

2436 Commits

Author SHA1 Message Date
cat 751aa350ee nix: exclude files ending in ".py"
This reduces rebuilds when debugging nixos tests.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-24 17:41:56 +09:00
cat e6cd2bb2a8 cmd/fpkg: integrate command handler
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 23:25:12 +09:00
cat 0fb72e5d99 cmd/fpkg/build: prepend extra nix flags
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 20:21:09 +09:00
cat 71135f339a release: 0.2.18
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 18:52:33 +09:00
cat b6af8caffe nix: clean up directory structure
Tests for fpkg is going to be in ./cmd/fpkg, so this central tests directory is no longer necessary.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 18:48:01 +09:00
cat e1a3549ea0 workflows: separate nixos tests from flake check
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 18:34:42 +09:00
cat 8bf162820b nix: separate fsu from package
This appears to be the only way to build them with different configuration. This enables static linking in the main package.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 18:13:37 +09:00
cat dccb366608 ldd: handle behaviour on static executable
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 18:02:33 +09:00
cat 83c8f0488b ldd: pass absolute path to bwrap
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 17:46:22 +09:00
cat 478b27922c fortify: handle errors via MustParse
The errSuccess behaviour is kept for beforeExit.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 12:57:59 +09:00
cat ba1498cd18 command: filter parse errors
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 12:55:10 +09:00
cat eda4d612c2 fortify: keep external files alive
This should eliminate sporadic failures, like the known double close in "seccomp".

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 03:24:37 +09:00
cat 2e7e160683 release: 0.2.17
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 02:59:31 +09:00
cat 79957f8ea7 fortify: test help message
This helps catch regressions in "command".

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 02:51:35 +09:00
cat 7e52463445 fortify: integrate command handler
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 02:35:02 +09:00
cat 89970f5197 command/flag: implement repeatable flag
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 02:25:31 +09:00
cat 35037705a9 command/flag: implement integer flag
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 02:02:01 +09:00
cat 647c6ea21b command: hide internal commands
This marks commands as internal via a magic usage string.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 01:36:48 +09:00
cat 416d93e880 command: expose print help
This is useful for custom help commands.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 01:17:57 +09:00
cat 312753924b command: root early handler func special case
This allows for early initialisation with access to flags on the root node. This can be useful for configuring global state used by subcommands.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 00:55:18 +09:00
cat 54308f79d2 command: expose command with direct handling
This exposes flag set on commands with direct handling.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-23 00:24:03 +09:00
cat dfa3217037 command: implement builder and parser
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-22 23:11:17 +09:00
cat 8000a2febb command: implement help builder
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-22 22:43:37 +09:00
cat 7bd48d3489 command: implement node structure
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-22 20:30:49 +09:00
cat b5eaeac11a command: declare command interface
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-22 20:29:47 +09:00
cat a9986aab6a system: document I methods
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21 19:51:12 +09:00
cat ff30a5ab5d fst: remove empty file
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21 19:27:08 +09:00
cat eb0c16dd8c cmd/fpkg: rename buildPackage file
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21 18:13:34 +09:00
cat 4fa1e97026 cmd/fpkg: rename shell to shellPath
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21 17:50:20 +09:00
cat 64b6dc41ba nix: split integration test
For adding tests for fpkg.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21 17:05:17 +09:00
cat c64b8163e7 app: separate instance from process state
This works better for the implementation.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-21 16:06:24 +09:00
cat 9d9a165379 release: 0.2.16
Mostly refactor and cleanup, but also contains major fix to process lifecycle management.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19 23:39:16 +09:00
cat d0dff1cac9 wl: check against null character
Wayland library takes null terminated strings.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19 23:35:49 +09:00
cat 3c80fd2b0f app: defer system.I revert
Just returning an error after a successful call of commit will leave garbage behind with no way for the caller to clean them. This change ensures revert is always called after successful commit with at least per-process state enabled.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19 21:12:11 +09:00
cat ef81828e0c app: remove share method
This is yet another implementation detail from before system.I, getting rid of this vastly cuts down on redundant seal state.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19 16:20:25 +09:00
cat 2978a6f046 app: separate appSeal finalise method
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19 12:33:51 +09:00
cat dfd9467523 app: merge seal with sys
The existence of the appSealSys struct was an implementation detail obsolete since system.I was integrated in 084cd84f36.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19 01:36:29 +09:00
cat 53571f030e app: embed appSeal in app struct
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19 01:10:37 +09:00
cat aa164081e1 app/seal: improve documentation
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19 01:04:14 +09:00
cat 9a10eeab90 app/seal: embed enablements
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19 00:41:51 +09:00
cat d1f83f40d6 helper/bwrap: rename Write to WriteFile
In case this might want to be an io.Writer.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19 00:34:19 +09:00
cat a748d40745 app: store values with string representation
Improves code readability without changing memory layout.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-19 00:25:00 +09:00
cat 648e1d641a app: separate interface from implementation
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18 23:07:28 +09:00
cat 3c327084d3 fst: declare wrappers for sandbox config
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18 23:04:13 +09:00
cat ffaa12b9d8 sys: wrap log methods
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18 22:52:09 +09:00
cat bf95127332 fst: move App interface declaration
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18 22:36:45 +09:00
cat e0f321b2c4 sys: rename from linux
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18 18:47:48 +09:00
cat 2c9c7fee5b linux: wrap fsu lookup error
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18 17:39:53 +09:00
cat d0400f3c81 fmsg: PrintBaseError skip empty message
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18 17:01:26 +09:00
cat e9b0f9faef fmsg: export logBaseError function
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-02-18 13:02:51 +09:00