b896eec9b7
internal/rosa/gnu: parallel 20260222 to 20260322
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 10:44:48 +09:00
8ab99e5e40
internal/rosa/util-linux: 2.41.3 to 2.42
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 10:44:25 +09:00
2b6160ef7d
internal/rosa/wayland: wayland-protocols 1.47 to 1.48
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 10:44:04 +09:00
4dcac7f133
internal/rosa/xz: 5.8.2 to 5.8.3
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 10:43:37 +09:00
966fd4df9e
internal/rosa: connman artifact
...
Will be gradually replaced with a native implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 01:17:10 +09:00
a2cf59b989
internal/rosa/ncurses: also build dynamic library
...
GNU readline breaks without this.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 01:13:04 +09:00
e87f59c4e4
internal/rosa/gnu: readline artifact
...
Nice to have library for command line programs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 00:42:59 +09:00
3b221c3e77
internal/rosa/gnu: gnutls artifact
...
Incredibly ugly and expensive package, but unfortunately required by some packages.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 00:36:28 +09:00
ff3b385b12
internal/rosa: libunistring artifact
...
Required by GnuTLS.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-03 00:00:13 +09:00
c6920e6ab7
cmd/mbf: pick up $TERM
...
This improves behaviour of some programs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-02 23:59:15 +09:00
59b25d45fe
internal/pkg: pick up $TERM if attaching stdin
...
This improves behaviour of some programs.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-02 23:50:07 +09:00
9b99650eb1
internal/rosa: libev artifact
...
Required by gnutls.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-02 23:35:01 +09:00
15bff9e1a6
internal/rosa/git: determine reporting name from url
...
This is generally correct, and is a lot cleaner to call.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-02 22:42:16 +09:00
b948525c07
internal/rosa: nettle3 artifact
...
Removed after all packages upgrade for nettle 4.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-02 22:12:39 +09:00
9acbd16e9a
internal/rosa/p11: explicitly enable libffi
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-02 22:05:07 +09:00
64e5a1068b
internal/rosa: libtasn1 artifact
...
Optional dependency of p11-kit.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-01 17:20:12 +09:00
b6cbd49d8c
internal/rosa: p11-kit artifact
...
Another package distributed in xz only. This is fetched from the git remote directly to avoid XZ Utils.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-01 16:34:30 +09:00
6913b9224a
internal/rosa/git: recursively clone submodules
...
There is generally no reason to disable this, so it was not made optional.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-01 16:21:46 +09:00
9584958ecc
internal/rosa/pkg-config: generate build system
...
This unfortunately pulls automake, libtool and their dependencies into stage2.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-04-01 15:31:24 +09:00
389844b1ea
internal/rosa/gnu: mpc 1.3.1 to 1.4.0
...
This package now unfortunately switched to xz as well.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-31 23:56:20 +09:00
5b7ab35633
internal/rosa: iptables artifact
...
This also pulls in netlink libraries from netfilter project.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-31 23:47:16 +09:00
52b1a5a725
internal/rosa: use type P in helper interface
...
This is easier to type and serialises correctly.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-31 23:45:01 +09:00
6b78df8714
internal/rosa: libmd and libbsd artifacts
...
These provide headers that are provided by glibc but not musl.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-31 22:57:08 +09:00
dadf170a46
internal/rosa: dbus artifact
...
Unfortunate ugly indirect dependency we cannot yet get rid of.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-31 21:47:05 +09:00
9594832302
internal/rosa/meson: disallow download
...
This will fail and waste time on KindExec, and cause nondeterminism in KindExecNet.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-31 21:38:09 +09:00
91a2d4d6e1
internal/uevent: integrate error handling in event loop
...
There are many subtleties when recovering from errors in the event loop, and coldboot requires internals to drain the receive buffer as synthetic uevents are being arranged.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-31 00:10:14 +09:00
a854719b9f
internal/netlink: optional recvmsg without netpoll
...
For draining the socket receive buffer.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-30 23:18:43 +09:00
f03c0fb249
internal/uevent: synthetic events for coldboot
...
This causes the kernel to regenerate events that happened before earlyinit started.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-30 23:01:08 +09:00
a6600be34a
all: use filepath
...
This makes package check portable, and removes nonportable behaviour from package pkg, pipewire, and system. All other packages remain nonportable due to their nature. No latency increase was observed due to this change on amd64 and arm64 linux.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-30 18:24:53 +09:00
b5592633f5
internal/uevent: separate recvmsg helper
...
This enables messages to be received separately.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-30 02:53:26 +09:00
584e302168
internal/netlink: set receive buffer size
...
This is done by both systemd sd-device and AOSP ueventd to improve robustness. Rosa OS will still handle ENOBUFS via coldboot but a big buffer should mitigate this as well.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-30 02:14:47 +09:00
141958656f
internal/uevent: handle state divergence
...
This requires the caller to arrange for a coldboot to happen, some time after this error is encountered, and to resume event processing.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-30 01:50:09 +09:00
648079f42c
internal/netlink: switch to recvmsg/sendmsg
...
These are more flexible than recvfrom/sendto.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-29 23:36:00 +09:00
19c76e0831
cmd: document Rosa OS programs
...
The earlyinit and mbf program are not covered by the compatibility promise, so specify that here.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 22:43:25 +09:00
71fcc972ba
cmd/hsu: alternative hsurc path for Rosa OS
...
Rosa OS does not have /etc.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 18:22:55 +09:00
62002efd08
cmd/hsu: document hsurc format and internals
...
This was previously only documented via an unexported function.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 18:17:31 +09:00
e33294db9c
cmd/hakurei: document stable behaviour
...
These are undocumented anywhere else and is required by tools invoking hakurei.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 17:31:46 +09:00
b1ea3b4acf
cmd/hakurei: rename app to run
...
The run command was a legacy holdover from very early days and is only useful for testing and demonstration these days. This change also renames it to exec.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 16:48:26 +09:00
2c254c70b8
cmd/hakurei: remove linkname directive
...
This used to be a function that did much more, and was later relocated to another package and exported.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 16:20:02 +09:00
ea014d6af2
internal/uevent: consume kernel-originated events
...
These are not possible to cover outside integration vm. Extreme care is required when dealing with this method, so keep it simple.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 15:39:16 +09:00
1b48484c16
internal/uevent: exclusive socket access
...
This is a much simplified mutex, since blocking is not required.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 01:01:06 +09:00
713bff3eb0
internal/uevent: decode uevent messages
...
The wire format and behaviour is entirely undocumented. This is implemented by reading lib/kobject_uevent.c, with testdata collected from the internal/rosa kernel.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 00:49:34 +09:00
30f459e690
internal/uevent: nontrivial errors
...
These errors are best represented as JSON.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-28 00:07:56 +09:00
8766fddcb3
internal/uevent: recoverable errors
...
This runs in the Rosa OS init, so recover as much as possible, as otherwise it is likely to require a full system reboot to resume event processing. The caller is responsible for reporting the error.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-27 22:58:16 +09:00
2745602be3
internal/uevent: wrap netlink socket
...
Unfortunately these messages do not have the same format as rtnetlink.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-27 22:46:18 +09:00
ee22847dde
internal/uevent: kobject_action lookup
...
This is encoded as part of kobject uevent message headers.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-27 22:39:43 +09:00
c61188649b
internal/netlink: export generic connection
...
This enables abstractions around some families to be implemented in a separate package.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-27 19:08:48 +09:00
6a87a96838
internal/rosa/kernel: 6.12.77 to 6.12.78
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-27 10:40:27 +09:00
2548a681e9
internal/rosa: key-value type
...
This type is used very frequently. The new type is much easier to type and can receive helper methods eventually if needed.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 16:23:15 +09:00
d514d0679f
internal/rosa: set PYTHONUNBUFFERED=1
...
Some python tools try to be clever and buffers output. This makes the build process appear to hang and is quite frustrating. Instead of trying to address this on a case-by-case basis, this is turned off globally for the interpreter.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 15:29:29 +09:00