Survey of the working tree found 83 tracked files
that no longer exist on disk (tracked-but-missing).
Most were inside source/ dirs (extraction differences
between git revisions) and are out of scope for this
commit. The 28 non-source tracked-but-missing files
fell into these categories:
1. Broken self-referential symlinks in driver and
tui recipes (5 files):
- local/recipes/drivers/ehcid/ehcid ->
../../local/recipes/drivers/ehcid (loops)
- local/recipes/drivers/ohcid/ohcid -> ...
- local/recipes/drivers/uhcid/uhcid -> ...
- local/recipes/drivers/usb-core/usb-core -> ...
- local/recipes/tui/mc/mc -> ...
These were created by the now-removed
apply-patches.sh symlink-overlay system. Per
AGENTS.md § 'NO OVERLAY-STYLE PATCHES', the
overlay pattern is retired. Recipes now use the
`path = 'source'` form in [source] blocks
pointing at the in-tree Red Bear fork. The
self-referential symlinks broke because the
overlay indirection was removed.
2. Broken absolute-path symlinks in gpu/driver
recipes (2 files):
- local/recipes/gpu/drivers/linux-kpi/source
-> /mnt/data/homes/kellito/Builds/rbos/...
- local/recipes/gpu/drivers/redox-driver-sys/source
-> /mnt/data/homes/kellito/Builds/rbos/...
These were committed on a different filesystem
layout. The actual source trees are in
`local/sources/{linux-kpi,redox-driver-sys}/`
and are loaded via `path = 'source'` config.
3. Tracked empty `~` (emacs backup) files in
autotools-generated source dirs (13 files).
Autotools regen produces `configure~`,
`config.h.in~`, etc. whenever a developer runs
`autoreconf` in the source dir. These are
ephemeral working files, not upstream source.
Re-running the cookbook's autoreconf will
regenerate them on the next fetch.
4. Tracked-but-missing upstream WIP recipes
(12 recipes, 596 files):
- recipes/wip/dev/build-system/{meson,ninja-build}
- recipes/wip/dev/other/{bison,flex}
- recipes/wip/libs/gnome/libepoxy
- recipes/wip/libs/other/m4
- recipes/wip/libs/qt/qt6/{qt6-sensors,
qt6-sensors-local}
- recipes/wip/wayland/qt6-wayland-smoke
- recipes/wip/x11/{libxau,libxcb,x11proto}
These were tracked in the upstream Redox WIP
area but the underlying dirs/files no longer
exist on disk (likely removed when upstream
WIP was reorganized). They were never
referenced by any `config/redbear-*.toml`
and have no surviving tree dependencies.
5. Top-level `gparted-git/` orphan (4 files):
A staging dir from a previous attempt to add a
gparted recipe (RBPKGBUILD + import/). The recipe
was never finished and the postmortem H-4 says
it was 'removed' but the dir persisted.
6. `recipes/gpu/drivers` tracked as a file blob
but working tree has it as a directory.
Tree conflict from a prior overlay layout.
.gitignore additions:
- `*\~` (emacs backup)
- `.*.swp`, `.*.swo` (vim swap)
These patterns prevent future accidental commits
of ephemeral editor / autotools-regen files.
Net effect: 617 files removed, 1,304,942 lines
deleted from tracked history, 0 lines added. The
working tree is now 0 tracked-but-missing files
outside of source/ dirs (source/ extraction
differences are out of scope for this commit).
Root cause: gnulib configure bakes raw typedef statements
(typedef long unsigned int size_t; etc.) into the generated
Makefile's GL_CFLAG_GNULIB_WARNINGS variable. These break
shell command parsing when expanded on recipe lines.
Fix:
1. Strip raw typedefs from all generated Makefiles after configure
2. Provide fix_types.h with guarded typedefs for size_t, ptrdiff_t,
off_t, wchar_t, ssize_t, time_t
3. Force-include fix_types.h via CPPFLAGS to work around the
cross-compiler's GCC built-in stddef.h ordering issue
Also: comprehensive upstream relibc comparison and import plan
Red Bear OS is a full fork. All sources must be available from git clone
with zero network access. Removed gitignore rules that excluded fetched
source trees under recipes/*/source/, local/recipes/kde/*/source/,
local/recipes/qt/*/source/, and vendor source trees.
Build artifacts (target/, build/, source.tar, *.o, *.so) remain excluded.
127291 files added — kernel, relibc, base, bootloader, pkgar, all KDE/Qt
frameworks, mesa, wayland, DRM drivers, and every other recipe source.