build-redbear: skip desktop pre-cook for mini/grub targets

The pre-cook list (kwin, sddm, qtbase, mesa, libdrm, libepoxy,
redox-drm, lcms2, libdisplay-info, libxcvt) is the desktop graphics
chain. It only applies to redbear-full. For redbear-mini and
redbear-grub (text-only targets), trying to pre-cook kwin and sddm
fails because their build dependencies (QML/QtQuick, libxcb, etc.)
are not in the mini/grub compile surface.

Pre-cook only relibc + icu + llvm21 for mini/grub; pre-cook the full
desktop chain for full.
This commit is contained in:
2026-06-09 08:59:44 +03:00
parent 6348ec6b5f
commit 2f516723b2
+7 -1
View File
@@ -232,8 +232,14 @@ bash "$PROJECT_ROOT/local/scripts/build-preflight.sh" --config="$CONFIG" ${REDBE
# Pre-cook critical packages that may fail in the dependency chain.
# --with-package-deps resolves ALL transitive deps; pre-cooking ensures
# the repo has valid pkgars before make live processes the full graph.
# Only pre-cook the desktop chain for redbear-full; mini/grub don't need it.
echo ">>> Pre-cooking critical packages..."
for pkg in relibc icu llvm21 mesa libdrm libepoxy redox-drm lcms2 libdisplay-info libxcvt kwin sddm qtbase; do
if [ "$CONFIG" = "redbear-full" ]; then
PRECOOK_PKGS="relibc icu llvm21 mesa libdrm libepoxy redox-drm lcms2 libdisplay-info libxcvt kwin sddm qtbase"
else
PRECOOK_PKGS="relibc icu llvm21"
fi
for pkg in $PRECOOK_PKGS; do
if [ ! -f "$PROJECT_ROOT/repo/x86_64-unknown-redox/$pkg.pkgar" ]; then
echo " cooking $pkg..."
"$PROJECT_ROOT/target/release/repo" cook "$pkg" 2>&1 | tail -1 || true