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 commit6e9613e6('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"
|