Files
RedBear-OS/local/scripts/sync-upstream.sh
T
vasilito 2153bf5f6e build-system: add function-level fork verification + fix critical bugs
CRITICAL: Add verify-fork-functions.sh — detects silent upstream code loss
from bad merges that file-level verification cannot catch. This is the
verification that would have caught the kfdwrite drop bug.

Wire it into build-preflight.sh (pre-build gate) and upgrade-forks.sh
(post-upgrade gate with automatic rollback on failure).

Fix upgrade-forks.sh:
- Fetch failures now abort instead of being silently swallowed
- Backup branch names include fork name + PID to prevent collisions
- Post-upgrade verification runs verify-fork-functions.sh and rolls
  back if upstream functions are missing

Fix bump-fork.sh:
- Replace wrong 'git tag -e' with 'git rev-parse --verify refs/tags/'
- Clone failures now error explicitly instead of silent fallback
- Version sed uses proper regex escaping for + characters
- Atomic swap has rollback recovery if mv fails
- Instructions now mention fork-upstream-map.toml update

Fix sync-upstream.sh:
- Define PROJECT_ROOT before use (was crashing under set -u)

Fix build-preflight.sh:
- Add REDBEAR_SKIP_FUNCTION_CHECK gate for verify-fork-functions.sh

Kernel submodule pointer updated to 0.3.1 branch with kfdwrite restored.
2026-07-11 23:18:41 +03:00

43 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# sync-upstream.sh — RETIRED. Red Bear OS is now a release-based fork.
#
# This script no longer performs upstream synchronization.
# Red Bear OS sources are frozen at the current baseline (0.1.0).
# Sources are immutable — never auto-refreshed from upstream.
#
# To check for newer Redox OS snapshots:
# ./local/scripts/check-upstream-releases.sh
#
# To provision a new release from a Redox ref:
# ./local/scripts/provision-release.sh --ref=<redox-tag> --release=0.2.0
#
# To restore archived sources:
# ./local/scripts/restore-sources.sh --release=0.1.0
#
# Documentation:
# local/docs/CONSOLE-TO-KDE-DESKTOP-PLAN.md
set -uo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
GREEN='\033[1;32m'
BLUE='\033[1;34m'
NC='\033[0m'
echo ""
echo -e "${GREEN}sync-upstream.sh has been retired.${NC}"
echo ""
echo "Red Bear OS is now a release-based fork."
BASELINE=$(ls -d "$PROJECT_ROOT"/sources/redbear-*/ 2>/dev/null | head -1 | xargs basename 2>/dev/null | sed 's/redbear-//' || echo "0.1.0")
echo "Current baseline: ${BASELINE} (f55acba68)"
echo "Sources are immutable — never auto-refreshed from upstream."
echo ""
echo -e "${BLUE}Available commands:${NC}"
echo " check-upstream-releases.sh See new Redox snapshots (read-only)"
echo " provision-release.sh Provision a new release"
echo " restore-sources.sh Restore sources from archives"
echo ""
exit 0