Commit Graph
2181 Commits
Author SHA1 Message Date
maemachinebroke 689605ea67 cmd/pkgserver: update 2026-05-01 19:21:38 +09:00
maemachinebroke 3306350ff2 cmd/pkgserver: fix gitignore 2026-05-01 19:21:38 +09:00
maemachinebroke b34baa0d1c cmd/pkgserver: better no results handling 2026-05-01 19:21:38 +09:00
maemachinebroke f692738354 cmd/pkgserver: better no results handling 2026-05-01 19:21:38 +09:00
maemachinebroke 93fcfbcc64 cmd/pkgserver: finish search implementation 2026-05-01 19:21:38 +09:00
maemachinebroke 8c9de5916d cmd/pkgserver: remove get endpoint count field 2026-05-01 19:21:37 +09:00
maemachinebroke 1eee301e3a cmd/pkgserver: search endpoint 2026-05-01 19:21:37 +09:00
maemachinebroke 402716b610 cmd/pkgserver: pagination bugfix 2026-05-01 19:21:37 +09:00
cat 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
maemachinebroke 9cf82d9521 cmd/pkgserver: add size 2026-05-01 19:21:37 +09:00
cat 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
cat 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
cat 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
cat 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
cat 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
cat 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
cat 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
cat 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
cat 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
cat 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
cat a6f9fe7981 cmd/pkgserver: do not omit report field
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
cat 25d6b85aef cmd/pkgserver: gracefully shut down on signal
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 19:21:37 +09:00
cat 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
cat 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
cat 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
cat 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
cat 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
maemachinebroke 6f58938615 cmd/pkgserver: add sort orders, change pagination rules 2026-05-01 19:21:37 +09:00
maemachinebroke dd511b0a19 cmd/pkgserver: add /status endpoint 2026-05-01 19:21:37 +09:00
maemachinebroke 6f13b21403 cmd/pkgserver: minimum viable frontend 2026-05-01 19:21:37 +09:00
maemachinebroke 251d312597 cmd/pkgserver: api versioning 2026-05-01 19:21:37 +09:00
maemachinebroke e7ace18573 cmd/pkgserver: add get endpoint 2026-05-01 19:21:37 +09:00
maemachinebroke 24a859ac2c cmd/pkgserver: add count endpoint and restructure 2026-05-01 19:21:37 +09:00
maemachinebroke 29320d3387 cmd/pkgserver: add status endpoint 2026-05-01 19:21:37 +09:00
maemachinebroke c537403257 cmd/pkgserver: add createPackageIndex 2026-05-01 19:21:37 +09:00
maemachinebroke 035fa01a3b cmd/pkgserver: add command handler 2026-05-01 19:21:37 +09:00
maemachinebroke 09fd010912 cmd/pkgserver: replace favicon 2026-05-01 19:21:37 +09:00
maemachinebroke 7094c9219f cmd/pkgserver: pagination 2026-05-01 19:21:37 +09:00
maemachinebroke 237183740c cmd/pkgserver: basic web ui 2026-05-01 19:21:37 +09:00
cat 02771b655b internal/rosa/stage0: replace amd64 tarball
Test / Create distribution (push) Successful in 1m28s
Test / Sandbox (push) Successful in 4m17s
Test / Hakurei (push) Successful in 7m37s
Test / ShareFS (push) Successful in 8m10s
Test / Sandbox (race detector) (push) Successful in 8m19s
Test / Hakurei (race detector) (push) Successful in 10m51s
Test / Flake checks (push) Successful in 1m52s
This is a non-LTO distribution with the new layer configuration.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 18:57:28 +09:00
cat d1c8d2c39b internal/rosa/gnu: skip libtool tests in stage0
Test / Create distribution (push) Successful in 1m33s
Test / Sandbox (push) Successful in 5m19s
Test / Hakurei (push) Successful in 7m48s
Test / Sandbox (race detector) (push) Successful in 8m17s
Test / ShareFS (push) Successful in 8m43s
Test / Hakurei (race detector) (push) Successful in 11m45s
Test / Flake checks (push) Successful in 2m54s
This upsets the linker in stage0.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 05:26:40 +09:00
cat 0efd742e8a internal/rosa/llvm: enable libclc as a runtime
Test / Create distribution (push) Successful in 1m28s
Test / Sandbox (push) Successful in 5m20s
Test / Hakurei (push) Successful in 7m57s
Test / Sandbox (race detector) (push) Successful in 8m5s
Test / ShareFS (push) Successful in 8m39s
Test / Hakurei (race detector) (push) Successful in 11m53s
Test / Flake checks (push) Successful in 2m57s
Enabling this as a project is deprecated.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 05:17:02 +09:00
cat ae1fe638d5 internal/rosa/stage0: remove unused layers
Test / Create distribution (push) Successful in 1m29s
Test / Sandbox (push) Successful in 5m8s
Test / Hakurei (push) Successful in 7m30s
Test / Sandbox (race detector) (push) Successful in 8m7s
Test / ShareFS (push) Successful in 8m25s
Test / Hakurei (race detector) (push) Successful in 11m31s
Test / Flake checks (push) Successful in 2m51s
The stage0 toolchain no longer requires bundled dependencies other than the bare toolchain and environment itself.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 03:52:41 +09:00
cat 445d95023b internal/rosa: global preset flags
Test / Create distribution (push) Successful in 1m31s
Test / Sandbox (push) Successful in 5m8s
Test / Hakurei (push) Successful in 7m31s
Test / Sandbox (race detector) (push) Successful in 8m6s
Test / ShareFS (push) Successful in 8m28s
Test / Hakurei (race detector) (push) Successful in 11m8s
Test / Flake checks (push) Successful in 2m41s
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
cat fc66f0bb47 internal/rosa/llvm: use llvm build system
Test / Create distribution (push) Successful in 1m32s
Test / Sandbox (push) Successful in 5m9s
Test / Hakurei (push) Successful in 7m32s
Test / Sandbox (race detector) (push) Successful in 8m0s
Test / ShareFS (push) Successful in 8m22s
Test / Hakurei (race detector) (push) Successful in 11m20s
Test / Flake checks (push) Successful in 2m48s
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
cat 2cd6b35bee internal/rosa/cmake: run tests
Test / Create distribution (push) Successful in 1m27s
Test / Sandbox (push) Successful in 5m19s
Test / Hakurei (push) Successful in 7m24s
Test / Sandbox (race detector) (push) Successful in 8m4s
Test / ShareFS (push) Successful in 8m17s
Test / Hakurei (race detector) (push) Successful in 11m10s
Test / Flake checks (push) Successful in 2m43s
This uses the standard CMake test target.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-05-01 03:04:59 +09:00
cat 09a216c6ec internal/rosa/perl: make /system/bin writable
Test / Create distribution (push) Successful in 1m25s
Test / Sandbox (push) Successful in 5m3s
Test / Hakurei (push) Successful in 7m4s
Test / Sandbox (race detector) (push) Successful in 8m3s
Test / ShareFS (push) Successful in 8m10s
Test / Hakurei (race detector) (push) Successful in 10m41s
Test / Flake checks (push) Successful in 2m9s
This enables cure in stage0 where /system/bin is read-only.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-30 19:25:46 +09:00
cat 44d17325c2 internal/rosa: raise stage0 extra layers
Test / Create distribution (push) Successful in 1m26s
Test / Sandbox (push) Successful in 4m57s
Test / Hakurei (push) Successful in 7m4s
Test / Sandbox (race detector) (push) Successful in 7m49s
Test / ShareFS (push) Successful in 8m17s
Test / Hakurei (race detector) (push) Successful in 10m46s
Test / Flake checks (push) Successful in 1m55s
This enables extras to override stage0 tarball.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-30 18:58:42 +09:00
cat 544ce77cbc internal/rosa/make: do not attempt check
Test / Create distribution (push) Successful in 2m39s
Test / Sandbox (push) Successful in 6m27s
Test / Hakurei (push) Successful in 8m25s
Test / Sandbox (race detector) (push) Successful in 9m5s
Test / ShareFS (push) Successful in 9m23s
Test / Hakurei (race detector) (push) Successful in 11m58s
Test / Flake checks (push) Successful in 2m18s
This is circular during bootstrap, and tests are silently skipped without perl, so disable them explicitly.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-30 17:36:46 +09:00
cat 63c3c30b23 internal/rosa/zlib: compile with -fPIC
Test / Create distribution (push) Successful in 1m21s
Test / Sandbox (push) Successful in 4m49s
Test / Hakurei (push) Successful in 6m44s
Test / Sandbox (race detector) (push) Successful in 7m47s
Test / ShareFS (push) Successful in 7m54s
Test / Hakurei (race detector) (push) Successful in 10m42s
Test / Flake checks (push) Successful in 1m59s
For static linking into shared libraries. This was missed when migrating to CMake.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-04-30 15:55:46 +09:00