18c9d5a670
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-03-12 01:40:04 +09:00
17ce12ce5c
cmd/pkgserver: add size
2026-03-10 15:10:05 -05:00
491ee72857
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-03-11 03:32:09 +09:00
518f1aabf8
cmd/pkgserver: look up status by name once
...
This has far less overhead.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 03:17:56 +09:00
613ffcd69e
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-03-11 03:06:30 +09:00
b123fb5e1c
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-03-11 02:52:23 +09:00
4f052aef81
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-03-11 02:33:34 +09:00
99f8b571dd
cmd/pkgserver: format get error messages
...
This improves source code readability on smaller displays.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 02:29:27 +09:00
9c0fc93f81
cmd/pkgserver: constant string in pattern
...
This resolves patterns at compile time.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 02:23:43 +09:00
1f12cd315a
cmd/pkgserver: satisfy handler signature in method
...
This is somewhat cleaner.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 02:18:21 +09:00
5cfc30aebd
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-03-11 02:10:40 +09:00
ec0166653e
cmd/pkgserver: appropriately mark test helpers
...
This improves usefulness of test log messages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 02:04:13 +09:00
6e37672976
cmd/pkgserver: do not omit report field
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 02:03:47 +09:00
7b1d66bb54
cmd/pkgserver: gracefully shut down on signal
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 02:00:55 +09:00
36fd991d2a
cmd/pkgserver: specify full addr string in flag
...
This allows greater flexibility.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 01:49:42 +09:00
dafeb93905
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-03-11 01:47:49 +09:00
b8adeeb676
cmd/pkgserver: embed internal/rosa metadata
...
This change also cleans up and reduces some unnecessary copies.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-11 01:36:54 +09:00
a2b5206d98
cmd/pkgserver: do not assume default mux
...
This helps with testing.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-10 23:59:16 +09:00
b58591d9b1
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-03-10 22:31:59 +09:00
d74f3341a3
cmd/pkgserver: add sort orders, change pagination rules
2026-03-10 05:18:55 -05:00
8fc03aee8e
cmd/pkgserver: add /status endpoint
2026-03-10 04:24:49 -05:00
953e00c428
cmd/pkgserver: minimum viable frontend
2026-03-10 03:31:14 -05:00
c68d1656c1
cmd/pkgserver: api versioning
2026-03-09 23:41:16 -05:00
de860fedd6
cmd/pkgserver: add get endpoint
2026-03-09 18:18:51 -05:00
bd88b6c29a
cmd/pkgserver: add count endpoint and restructure
2026-03-09 15:41:21 -05:00
e51beac557
cmd/pkgserver: add status endpoint
2026-03-09 04:09:18 -05:00
bf2ebaab91
cmd/pkgserver: add createPackageIndex
2026-03-09 01:27:46 -05:00
1924fcee91
cmd/pkgserver: add command handler
2026-03-08 22:28:08 -05:00
ea754e8650
cmd/pkgserver: replace favicon
2026-03-05 01:12:17 -06:00
9c72e0d771
cmd/pkgserver: pagination
2026-03-05 00:32:25 -06:00
5fdeadcfe0
cmd/pkgserver: basic web ui
2026-03-04 22:50:58 -06:00
e61628a34e
cmd/mbf: test cure all via daemon
...
Test / Create distribution (push) Successful in 1m32s
Test / Sandbox (race detector) (push) Successful in 11m28s
Test / ShareFS (push) Successful in 13m35s
Test / Sandbox (push) Successful in 2m33s
Test / Hakurei (push) Successful in 6m54s
Test / Hakurei (race detector) (push) Successful in 8m27s
Test / Flake checks (push) Successful in 2m20s
This is the daemon equivalent of CureAll in internal/rosa.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 02:39:12 +09:00
5a18f14929
internal/rosa/gnu: bison disable broken test
...
Test / Create distribution (push) Successful in 2m4s
Test / ShareFS (push) Successful in 13m56s
Test / Hakurei (race detector) (push) Successful in 15m51s
Test / Sandbox (push) Successful in 4m53s
Test / Sandbox (race detector) (push) Successful in 5m46s
Test / Hakurei (push) Successful in 7m4s
Test / Flake checks (push) Successful in 2m57s
This is miscompiled by the current toolchain.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 02:23:51 +09:00
f12880688d
internal/rosa/gnu: test skip helper
...
Test / Create distribution (push) Successful in 2m3s
Test / Sandbox (race detector) (push) Successful in 11m26s
Test / ShareFS (push) Successful in 13m58s
Test / Hakurei (race detector) (push) Successful in 15m42s
Test / Sandbox (push) Successful in 2m46s
Test / Hakurei (push) Successful in 6m19s
Test / Flake checks (push) Successful in 2m48s
The terribleness of GNU invites interesting helpers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 05:19:54 +09:00
bb5bbfe16a
internal/rosa/go: disable tsan test
...
Test / Hakurei (push) Successful in 2m7s
Test / Sandbox (push) Successful in 1m48s
Test / Hakurei (race detector) (push) Successful in 2m4s
Test / Create distribution (push) Successful in 1m22s
Test / ShareFS (push) Successful in 1m40s
Test / Sandbox (race detector) (push) Successful in 1m58s
Test / Flake checks (push) Successful in 4m30s
The newly enabled tsan does not play well with go126, so disable for now.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-02 00:12:41 +09:00
427e1ca37c
internal/rosa/go: bootstrap 1.25.7 to 1.25.9
...
Test / Create distribution (push) Successful in 1m27s
Test / Sandbox (push) Successful in 4m21s
Test / Hakurei (push) Successful in 7m38s
Test / ShareFS (push) Successful in 8m10s
Test / Sandbox (race detector) (push) Successful in 8m22s
Test / Hakurei (race detector) (push) Successful in 10m55s
Test / Flake checks (push) Successful in 1m49s
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-01 23:24:07 +09:00
96fdd9ecc5
internal/rosa: disable LTO in tests
...
Test / Create distribution (push) Successful in 1m27s
Test / Sandbox (push) Successful in 4m15s
Test / ShareFS (push) Successful in 7m44s
Test / Sandbox (race detector) (push) Successful in 8m2s
Test / Hakurei (race detector) (push) Successful in 10m25s
Test / Hakurei (push) Successful in 3m51s
Test / Flake checks (push) Successful in 1m46s
This is too expensive and not feasible for development.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-05-01 20:08:26 +09:00
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
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
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
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
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
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
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
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
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
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
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
d23c4ecc7c
internal/rosa/llvm: use correct triple for rpath
...
Test / Create distribution (push) Successful in 1m22s
Test / Sandbox (push) Successful in 4m54s
Test / Hakurei (push) Successful in 7m1s
Test / Sandbox (race detector) (push) Successful in 7m52s
Test / ShareFS (push) Successful in 8m10s
Test / Hakurei (race detector) (push) Successful in 10m43s
Test / Flake checks (push) Successful in 1m57s
MultiarchTriple produces a generic glibc triple string.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-30 00:39:13 +09:00
a46656dff8
internal/rosa/python: mako 1.3.11 to 1.3.12
...
Test / Create distribution (push) Successful in 1m39s
Test / Sandbox (push) Successful in 5m2s
Test / Hakurei (push) Successful in 6m52s
Test / ShareFS (push) Successful in 7m32s
Test / Sandbox (race detector) (push) Successful in 7m47s
Test / Hakurei (race detector) (push) Successful in 10m39s
Test / Flake checks (push) Successful in 1m56s
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-29 14:25:26 +09:00