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
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
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
e661260607
internal/pkg: enter exec container
...
This enables much easier troubleshooting of failing cures.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 15:05:04 +09:00
af038c89ff
internal/pkg: collection helper-artifact
...
This was moved from internal/rosa because it is considered generally useful.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 14:11:10 +09:00
d2f30173cd
internal/pkg: isolate container params
...
This enables exporting container params for interactive troubleshooting within the cure container.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 14:02:58 +09:00
5319ea994c
internal/rosa/libseccomp: fix upstream out-of-bounds read
...
This was revealed by optimisation changes in the latest toolchain.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 10:43:11 +09:00
bbe178be3e
internal/rosa/llvm: 22.1.1 to 22.1.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 09:56:34 +09:00
ca28e9936b
internal/rosa/musl: 1.2.5 to 1.2.6
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 09:56:06 +09:00
f61c6ade56
internal/rosa/nss: 3.121 to 3.122
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 09:55:27 +09:00
fce3d63823
internal/rosa/gnu: autoconf 2.72 to 2.73
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-26 09:54:44 +09:00
722c3cc54f
internal/netlink: optional check header as reply
...
Not every received message is a reply.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-25 19:33:01 +09:00
372d509e5c
internal/netlink: expose multicast groups
...
This also gets rid of the cached pid value for port since that prevents multiple sockets from being open at once.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-25 17:55:35 +09:00
d62516ed1e
internal/netlink: enlarge recvfrom buffer
...
This also uses an array type for the buffer since its size now uses the hardcoded value found in the kernel.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-25 17:18:56 +09:00
50403e9d60
internal/netlink: wrap netpoll via context
...
This removes netpoll boilerplate for the most common use case.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-25 15:39:29 +09:00
b98c5f2e21
internal/netlink: nonblocking socket I/O
...
This enables use with blocking calls like when used with NETLINK_KOBJECT_UEVENT.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-25 14:06:59 +09:00
d972cffe5a
internal/netlink: make full response available
...
The previous API makes it impossible to retrieve remaining messages in the current iteration.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-23 16:39:25 +09:00
d8648304bb
internal/netlink: isolate receive method
...
This enables use with epoll for receiving events only.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-23 15:03:15 +09:00
f7bfa9a6c2
internal/rosa/go: disable go1.25.7 smtp test
...
This uses certs that had just expired.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-20 17:52:54 +09:00
7035b4b598
internal/rosa/cmake: 4.2.3 to 4.3.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-20 16:39:57 +09:00
094b8400dd
internal/rosa/qemu: 10.2.1 to 10.2.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-20 16:13:51 +09:00
4652d921d8
internal/rosa/wayland: 1.24.91 to 1.25.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-20 16:13:28 +09:00
066213c245
internal/rosa/libexpat: 2.7.4 to 2.7.5
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-20 16:00:50 +09:00
98832c21ee
internal/rosa/fuse: 3.18.1 to 3.18.2
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-20 15:57:49 +09:00
6cdb6a652b
internal/rosa/gtk: glib 2.87.5 to 2.88.0
...
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 20:58:39 +09:00
7c932cbceb
internal/rosa: strace artifact
...
This is not part of the system, but a useful development tool. The test suite is quite broken but that is considered acceptable for now.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 20:40:17 +09:00
20ebddd9bf
internal/rosa: export source kind
...
This is set for an exported field, so export the constants as well.
Signed-off-by: Ophestra <cat@gensokyo.uk >
2026-03-17 20:09:44 +09:00