Files
RedBear-OS/recipes/shells/bash/recipe.toml
T
vasilito 9871d79aa4 phase 4.3: archive 2 kernel patches operator-superseded
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
2026-07-12 09:23:10 +03:00

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"