refactor: deconsolidate redox.patch into individual patches

The 556MB monolithic redox.patch was impossible to manage, unreviewable,
blocked GitHub pushes, and could only grow. This commit:

- Moves all 64 absorbed patches from absorbed/ to active use in base/
- Removes the absorbed/ directory (consolidation history is now PATCH-HISTORY.md)
- Removes the redox.patch symlink from recipes/core/base/
- Fixes all recipe symlinks to point to active patches (not absorbed/)
- Patches are now individually wired, reviewable, and independently rebasable

The redox.patch mega-file is no longer needed — individual patches
are applied directly from the recipe.toml patches list.
This commit is contained in:
2026-05-03 08:35:26 +01:00
parent 1140f0f9b3
commit c0587f9a2d
107 changed files with 244 additions and 17208 deletions
@@ -0,0 +1,21 @@
diff --git a/init/src/main.rs b/init/src/main.rs
index 5682cf44..4501cf61 100644
--- a/init/src/main.rs
+++ b/init/src/main.rs
@@ -178,7 +178,15 @@ fn main() {
libredox::call::setrens(0, 0).expect("init: failed to enter null namespace");
loop {
+ // Process any pending jobs whose dependencies may now be satisfied.
+ scheduler.step(&mut unit_store, &mut init_config);
+
+ // Non-blocking wait: WNOHANG = 1. Reap any exited children without
+ // blocking, then loop back to process any newly-unblocked pending jobs.
let mut status = 0;
- libredox::call::waitpid(0, &mut status, 0).unwrap();
+ match libredox::call::waitpid(0, &mut status, 1) {
+ Ok(_pid) => {}
+ Err(err) => eprintln!("init: waitpid error: {err}"),
+ }
}
}