Commit Graph

625 Commits

Author SHA1 Message Date
vasilito 7e1e4c2588 fix: add KF6 widget PIC flags
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:56:16 +01:00
vasilito 7089c162a8 fix: add KF6 PIC build flags
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:55:56 +01:00
vasilito 90f8721fb5 fix: relax KF6 CMake link targets
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:55:36 +01:00
vasilito b02ddd2968 fix: guard Qt Wayland empty cursors
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:55:17 +01:00
vasilito ac04a7eb36 fix: harden Qt Wayland listener generation
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:54:59 +01:00
vasilito f194ae1530 fix: stabilize linux-kpi mac80211 tx stats layout
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:54:41 +01:00
vasilito dc4e0f976c fix: clean linux-kpi memory helpers
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:54:24 +01:00
vasilito 902deabf62 fix: clean linux-kpi DRM shim warnings
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:54:04 +01:00
vasilito 9a3efd499f fix: map virtio GPU BAR from pcid handoff
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:53:44 +01:00
vasilito a6d6caac68 fix: stop redox-drm on terminal scheme EBADF
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:53:27 +01:00
vasilito 67b67892c5 fix: remove unreachable redox-drm driver match
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:53:09 +01:00
vasilito 612ef6ce36 fix: wire redox-drm handoff patches
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:52:51 +01:00
vasilito e3a9a820ee feat: add redox-driver-sys pcid handoff client
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:52:33 +01:00
vasilito 6b97d076c3 fix: build redox-driver-sys with cookbook cargo
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:52:15 +01:00
vasilito bb78be5240 fix: expose pcid handoff to spawned drivers
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:51:56 +01:00
vasilito 26be773a59 fix: release virtio-gpu from initfs
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:51:38 +01:00
vasilito 39ac7c5ab4 fix: harden greeter DRM device wait
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:51:21 +01:00
vasilito a767812371 fix: extend redbear-full DRM greeter wait
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 20:51:05 +01:00
vasilito 702cbfd429 fix: port Konsole to Redox Qt surface 2026-05-07 09:11:47 +01:00
vasilito b54b2dbf76 fix: build ICU static archives as PIC 2026-05-07 09:11:30 +01:00
vasilito e742c1bd00 fix: make Qt Redox CMake imports relocatable 2026-05-07 09:11:15 +01:00
vasilito 10cf8b4e73 fix: build KF6 KNewStuff widgets 2026-05-07 09:10:59 +01:00
vasilito 4716dd6ce4 fix: build KF6 I18n QML module 2026-05-07 09:10:44 +01:00
vasilito 923091b4ab fix: handle KF6 Parts temporary file failures 2026-05-07 08:16:32 +01:00
vasilito d848d5323a fix: import Qt Network for KF6 Parts 2026-05-07 08:16:17 +01:00
vasilito e811f4fc23 fix: make KF6 NotifyConfig build on Redox 2026-05-07 08:11:48 +01:00
vasilito d8d26eaff3 fix: make KF6 Pty build on Redox
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 08:06:59 +01:00
vasilito 52954456f2 feat: add KF6 Pty recipe source 2026-05-07 08:02:04 +01:00
vasilito e67336a75f fix: align kparts package name 2026-05-07 07:58:48 +01:00
vasilito 610b124387 fix: align notifyconfig package name 2026-05-07 07:57:49 +01:00
vasilito 443101a2ba fix: repair redbear-full package TOML syntax 2026-05-07 07:56:29 +01:00
vasilito ab85eb7b3d feat: add Konsole recipe source and patches 2026-05-07 07:54:52 +01:00
vasilito 171a96c6af feat: add ICU recipe source for KDE dependencies 2026-05-07 07:54:16 +01:00
vasilito a69f479b52 feat: add missing KF6 framework recipes 2026-05-07 07:53:26 +01:00
vasilito d8d498f831 fix: harden KF6 KIO build surface 2026-05-07 07:52:47 +01:00
vasilito 2e2d36f18a fix: broaden KF6 framework build compatibility 2026-05-07 07:52:04 +01:00
vasilito c9d0d7e3d5 fix: update redbear desktop package configuration 2026-05-07 07:51:19 +01:00
vasilito 8664e7ade1 fix: wire relibc ldso rpath support patch 2026-05-07 07:50:45 +01:00
vasilito 853073f216 fix: harden redbear compositor Wayland protocol handling 2026-05-07 07:39:28 +01:00
vasilito be17bbc9bc milestone1 2026-05-07 04:35:57 +01:00
vasilito b9698beceb relibc: full eventfd() implementation + no-stubs policy in AGENTS.md
Replaced P3-sys-eventfd-create.patch (constants-only stub) with:
- P3-eventfd-impl.patch: full eventfd() opening /scheme/event/eventfd
- P3-bits-eventfd.patch: eventfd_t type
- P3-eventfd-cbindgen.patch: generates sys/eventfd.h C header
- P3-bits-eventfd-mod.patch: wires bits_eventfd into header/mod.rs

libwayland: removed eventfd stub from redox.patch — relibc provides it now.
Only meson.build fix + wl_proxy null guards + MSG_NOSIGNAL guard remain.

Documented zero-tolerance stub policy at top of local/AGENTS.md.
2026-05-06 21:24:05 +01:00
vasilito f9396e34d8 track prefix toolchain tarballs for disaster recovery
make distclean destroyed prefix/ which was entirely gitignored.
Now prefix/*.tar.gz (clang/gcc/rust toolchain, ~408MB) is tracked.
Recovery after distclean: git checkout + make prefix (extract + build relibc).

prefix/.gitignore allows only *.tar.gz files; extracted directories,
relibc-install, and sysroot remain untracked (regenerable).
2026-05-06 19:52:44 +01:00
vasilito 9d8f45f38e relibc: add stdint.h include to sys/types/internal.h
Fixes C compilation failures where signal.h (via signalfd_siginfo struct)
uses uint32_t/int32_t/uint64_t without stdint.h being transitively included.

The include chain signal.h -> sys/types.h -> sys/types/internal.h lacked
stdint.h, causing 'unknown type name' errors for uint32_t, uint8_t, and
uintptr_t in any C package compiling against the relibc sysroot headers.

Affected: diffutils, libiconv, and all packages whose autoconf checks
included <signal.h> and failed on the missing stdint types.

Added 'stdint.h' to sys_includes in sys_types_internal/cbindgen.toml.
Durable in local/patches/relibc/P3-sys-types-stdint-include.patch.
2026-05-06 19:49:46 +01:00
vasilito 884cf1558c fix: repair build — restore signing keys, clean corrupted git-tracked source
- Removed broken netinet/in6_pktinfo_compat.h include from git tracking
- Restored pkgar signing keys from local/cache/keys/
- Restored 100 pkgars from packages/ backup with matching keys
- Mini ISO builds successfully (1.5 GB)
- Full ISO needs COOKBOOK_OFFLINE=false for missing tarballs
2026-05-06 19:13:09 +01:00
vasilito 214803a52b fix: remove qtbase source from git tracking (managed by build system)
The file was committed by a concurrent session with a broken include.
Build system manages source/ via tarball extraction + patch application.
2026-05-06 18:32:53 +01:00
vasilito 0a082bb6eb fix: restore qnativesocketengine_unix.cpp from tarball (remove broken include)
The committed git state had a broken #include from a concurrent session.
The atomic build extracts the clean tarball, but the dirty git-tracked
file was never committed clean. Reverted to tarball version.
2026-05-06 18:10:57 +01:00
vasilito 40c337cbac fix: remove broken include from qnativesocketengine_unix.cpp
netinet/in6_pktinfo_compat.h does not exist — leftover from concurrent
session changes. This blocks the qtbase build.
2026-05-06 17:51:43 +01:00
vasilito 2e53cabfc0 fix: Qt6 Wayland crash — systemic generator fix. Greeter UI boots!
Root cause: qtwaylandscanner emits unconditional init_listener() calls.
Generated code: wl_*_add_listener(m_wl_*, ...) without null check.
NULL proxy from wlRegistryBind() → page fault at offset 8.

Fix: patched qtwaylandscanner.cpp line 1297 to emit null-guarded
listener registration:
    if (m_%s) %s_add_listener(m_%s, &m_%s_listener, this);

This covers ALL generated Wayland wrappers — wl_*, xdg_*, zwp_*, wp_* —
in one generator change. Removed fragile regex post-build patching.

VERIFIED: greeter UI boots without page fault. QML loads. Wayland
binds all 7 globals (compositor/shp/seat/output/data_device_mgr/
subcompositor/xdg_wm_base). QWaylandDisplay: valid registry+display.
2026-05-06 17:18:55 +01:00
vasilito f324023fde fix: Qt6 Wayland null guard — real fix deployed via post-build patching
The Qt6 Wayland QPA crashes at null+8 because auto-generated wrappers
pass NULL proxies to wl_*_add_listener(). Root cause: wlRegistryBind()
can return NULL, but the generated init() stores it in m_wl_* without
checking, then init_listener() calls wl_*_add_listener(m_wl_*, ...)
which page-faults writing to proxy->object.implementation.

Fix: post-build Python script patches generated qwayland-wayland.cpp
with null guards on every wl_*_add_listener(m_wl_*, ...) call:
    if (m_wl_*) wl_*_add_listener(m_wl_*, ...)

Patch-and-rebuild.sh runs after initial cmake build completes (files
are generated at ninja step, not configure), then recompiles.

This is the SYSTEMIC fix — no env vars, no plugin renaming, no
workarounds. Every Qt6 Wayland proxy is null-checked before use.
2026-05-06 17:00:55 +01:00
vasilito 36c8c3d95a fix: Qt6 Wayland crash — root cause identified, kded6 fix deployed
ROOT CAUSE: Qt6's auto-generated Wayland wrappers pass NULL proxies
to wl_*_add_listener() during initialization. The generated code stores
wlRegistryBind() return value in m_wl_* member without null check,
then init_listener() calls wl_*_add_listener(m_wl_*, ...) which
page-faults at null+8 (write to proxy->object.implementation).

FIX (kded6): wrapper script renames libqwayland.so to .disabled
before launching kded6.real. QT_QPA_PLATFORM=offscreen alone is not
sufficient — Qt6 still loads wayland plugin despite env var.

FIX (libwayland): null guards in redox.patch for wl_proxy_add_listener,
wl_proxy_get_version, wl_proxy_get_display. Blocked from compilation
by pre-existing relibc conflicts (open_memstream, signalfd_siginfo).

FIX (Qt6 wrappers): regex-based null guard insertion proven in concept.
Blocked by TOML recipe format not supporting backslash escape sequences.
Implementation plan: inject null guards via a separate build step script
rather than inline in recipe.toml.
2026-05-06 16:34:46 +01:00