9871d79aa4
Phase 4.3 patch-loss audit (the user's recurring concern about
'very important patches due to build system deficiencies') revealed
that since Round 4, the operator's own diagnosis work had made 2
patches obsolete. Per the user's 'upstream preferred' policy, when
the operator's own work supersedes a Red Bear patch, we archive.
P0-canary (operator-superseded):
- Original: Phase 1.0A absorbed the canary diagnostic into kernel
commit 6e9613e6 ('diag: serial canary characters at kernel init
checkpoints')
- Obsoleted by: 66a5243f ('diag: remove all diagnostic serial canary
chars and info! debug logging')
- Reason: After the kernel build stabilized, the operator removed the
diagnostic noise. The canary's purpose (early-boot serial output)
is no longer needed.
P5-context-mod-sched (operator-abandoned):
- Original: Patches re-export SchedPolicy in src/context/mod.rs
- Obsoleted by: dc51e67d ('fix: remove unresolved SchedPolicy import
(leftover from reverted ACPI commit)')
- Reason: The patch adds 'SchedPolicy' to a re-export but the
SchedPolicy type itself doesn't exist in the fork. The patch
is incomplete without a corresponding type definition; the
operator's failed attempt to add the type was reverted.
Both moves follow AGENTS.md principle:
'When upstream Redox already provides a package, crate, or
subsystem for functionality that also exists in Red Bear local
code, prefer the upstream Redox version by default.'
The patches were the operator's own work; when the operator decided
the work was no longer needed (cleanup, feature reversion), the
patches were retired. 'Upstream preferred' in spirit: Red Bear
prefers clean, well-tested upstream-equivalent functionality over
locally-maintained diagnostic noise and half-finished features.
After this commit:
Active patches: 119 (was 121)
Archived: 96 in legacy-superseded-2026-07-12/
All forks: 0 orphans
40 lines
1.1 KiB
TOML
40 lines
1.1 KiB
TOML
[source]
|
|
tar = "https://ftp.gnu.org/gnu/bash/bash-5.3.tar.gz"
|
|
blake3 = "5bf3ac6c18f3dc3fe3e049a1e10ea5ae5c5b39dac2356cd796730f49b273fd0f"
|
|
patches = [
|
|
"redox.patch",
|
|
]
|
|
|
|
[build]
|
|
template = "custom"
|
|
dependencies = [
|
|
"termcap",
|
|
]
|
|
script = """
|
|
# compiled statically
|
|
COOKBOOK_CONFIGURE_FLAGS+=(
|
|
bash_cv_func_sigsetjmp=no
|
|
bash_cv_getenv_redef=no
|
|
--enable-static-link # This ensures loadables are not built, which will fail
|
|
)
|
|
COOKBOOK_MAKE_JOBS=1 # workaround for parallel make bugs
|
|
|
|
# mkbuiltins.c uses K&R-style empty parameter declarations (e.g. `static char *xmalloc ();`).
|
|
# GCC 15+ defaults to C23 where () means (void), breaking calls with arguments.
|
|
# Force C17 to restore the old behavior for the host-built code generator.
|
|
export CFLAGS_FOR_BUILD="-g -O2 -std=gnu17"
|
|
|
|
cookbook_configure
|
|
rm -f "${COOKBOOK_STAGE}/usr/share/info/dir"
|
|
ln -s "bash" "${COOKBOOK_STAGE}/usr/bin/sh"
|
|
cp -r "${COOKBOOK_RECIPE}/etc" "${COOKBOOK_STAGE}/etc"
|
|
"""
|
|
|
|
[package]
|
|
name = "bash"
|
|
|
|
[package.files]
|
|
"/usr/bin/bash" = "bash"
|
|
"/usr/bin/sh" = "sh"
|
|
"/usr/bin/bashbug" = "bashbug"
|