Commit Graph

343 Commits

Author SHA1 Message Date
mae
f692738354 cmd/pkgserver: better no results handling 2026-05-01 19:21:38 +09:00
mae
93fcfbcc64 cmd/pkgserver: finish search implementation 2026-05-01 19:21:38 +09:00
mae
8c9de5916d cmd/pkgserver: remove get endpoint count field 2026-05-01 19:21:37 +09:00
mae
1eee301e3a cmd/pkgserver: search endpoint 2026-05-01 19:21:37 +09:00
mae
402716b610 cmd/pkgserver: pagination bugfix 2026-05-01 19:21:37 +09:00
b7e71be6e8 cmd/pkgserver: guard sass/ts behind build tag
Packaging nodejs and ruby is an immense burden for the Rosa OS base system, and these files diff poorly.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
mae
9cf82d9521 cmd/pkgserver: add size 2026-05-01 19:21:37 +09:00
ff65ca303f cmd/pkgserver: expose size and store pre-encoded ident
This change also handles SIGSEGV correctly in newStatusHandler, and makes serving status fully zero copy.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
1c73aa2936 cmd/pkgserver: look up status by name once
This has far less overhead.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
c267fa8c53 cmd/pkgserver: refer to preset in index
This enables referencing back to internal/rosa through an entry obtained via the index.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
acc8eef161 cmd/pkgserver: handle unversioned value
This omits the field for an unversioned artifact, and only does so once on startup.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
374fa33ef5 cmd/pkgserver: determine disposition route in mux
This removes duplicate checks and uses the more sound check in mux.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
8e697e70b6 cmd/pkgserver: format get error messages
This improves source code readability on smaller displays.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
305d700f1e cmd/pkgserver: constant string in pattern
This resolves patterns at compile time.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
6973eb1224 cmd/pkgserver: satisfy handler signature in method
This is somewhat cleaner.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
9c3ee25906 cmd/pkgserver: log instead of write encoding error
This message is unlikely to be useful to the user, and output may be partially written at this point, causing the error to be even less intelligible.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
c11985a477 cmd/pkgserver: appropriately mark test helpers
This improves usefulness of test log messages.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
a6f9fe7981 cmd/pkgserver: do not omit report field
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
25d6b85aef cmd/pkgserver: gracefully shut down on signal
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
134bfb01be cmd/pkgserver: specify full addr string in flag
This allows greater flexibility.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
dae754678e cmd/pkgserver: make report argument optional
This allows serving metadata only without a populated report. This also removes the out-of-bounds read on args when no arguments are passed.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
3241e4f24a cmd/pkgserver: embed internal/rosa metadata
This change also cleans up and reduces some unnecessary copies.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
eab70c42bc cmd/pkgserver: do not assume default mux
This helps with testing.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
cc451595b8 cmd/pkgserver: create index without report
This is useful for testing, where report testdata is not available.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
mae
6f58938615 cmd/pkgserver: add sort orders, change pagination rules 2026-05-01 19:21:37 +09:00
mae
dd511b0a19 cmd/pkgserver: add /status endpoint 2026-05-01 19:21:37 +09:00
mae
6f13b21403 cmd/pkgserver: minimum viable frontend 2026-05-01 19:21:37 +09:00
mae
251d312597 cmd/pkgserver: api versioning 2026-05-01 19:21:37 +09:00
mae
e7ace18573 cmd/pkgserver: add get endpoint 2026-05-01 19:21:37 +09:00
mae
24a859ac2c cmd/pkgserver: add count endpoint and restructure 2026-05-01 19:21:37 +09:00
mae
29320d3387 cmd/pkgserver: add status endpoint 2026-05-01 19:21:37 +09:00
mae
c537403257 cmd/pkgserver: add createPackageIndex 2026-05-01 19:21:37 +09:00
mae
035fa01a3b cmd/pkgserver: add command handler 2026-05-01 19:21:37 +09:00
mae
09fd010912 cmd/pkgserver: replace favicon 2026-05-01 19:21:37 +09:00
mae
7094c9219f cmd/pkgserver: pagination 2026-05-01 19:21:37 +09:00
mae
237183740c cmd/pkgserver: basic web ui 2026-05-01 19:21:37 +09:00
445d95023b internal/rosa: global preset flags
These changes preset behaviour globally. Useful for ad hoc workarounds for development or bootstrapping on resource-constrained systems.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 03:42:48 +09:00
fc66f0bb47 internal/rosa/llvm: use llvm build system
This removes the multistep bootstrap hack. Stage0 exceptions are also eliminated for a later change to bring the stage0 distribution down to just a bare toolchain, toybox and shell. This change also enables dynamic linking and ThinLTO.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 03:36:58 +09:00
021cbbc2a8 cmd/mbf: default daemon socket in cache
This location makes more sense than the current directory.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-19 19:50:54 +09:00
a4a54a4a4d cmd/mbf: remove pointless recover
This used to scrub the cache, and was not fully removed when that became nonviable.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-19 19:49:01 +09:00
753432cf09 cmd/mbf: optionally wait for cancel
Synchronisation is not needed here during interactive use.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-19 18:24:11 +09:00
4dcec40156 cmd/mbf: close on cancel completion
Like the previous change, this enables synchronisation on the client side via epoll.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-19 15:03:52 +09:00
9a274c78a3 cmd/mbf: close on abort completion
This enables synchronisation on the client side via epoll.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-19 14:53:28 +09:00
9e752b588a internal/pkg: drop cached error on cancel
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-18 03:24:48 +09:00
b80ea91a42 cmd/mbf: abort remote cures
This command arranges for all pending cures to be aborted. It does not wait for cures to complete.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-17 22:47:02 +09:00
8d657b6fdf cmd/mbf: cancel remote cure
This exposes the new fine-grained cancel API in cmd/mbf.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-17 22:00:04 +09:00
dd6a480a21 cmd/mbf: handle flags in serve
This enables easier expansion of the protocol.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-17 20:14:09 +09:00
9036986156 cmd/mbf: optionally ignore reply
An acknowledgement is not always required in this use case. This change also adds 64 bits of connection configuration for future expansion.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-17 16:46:49 +09:00
a394971dd7 cmd/mbf: do not abort cache acquisition during testing
This can sometimes fire during testing due to how short the test is.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-17 02:06:51 +09:00
9daba60809 cmd/mbf: daemon command
This services internal/pkg artifact IR with Rosa OS extensions originating from another process.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-17 02:05:59 +09:00