diff --git a/config/redbear-full.toml b/config/redbear-full.toml index a10afaa4..72cd6ccc 100644 --- a/config/redbear-full.toml +++ b/config/redbear-full.toml @@ -52,10 +52,10 @@ qtwayland = {} qt6-wayland-smoke = {} # KF6 Frameworks — explicit real-build surface in alphabetical order -# knewstuff/kwallet now have real cmake builds -#kirigami = {} # suppressed: QML stub, requires Qt6Quick downstream proof -# kf6-knewstuff = {} # BLOCKED: requires Qt6::Network which is disabled in qtbase (relibc networking incomplete) -# kf6-kwallet = {} # BLOCKED: KF6::Attica dependency requires Qt6::Network +# kirigami: core-only build (QML disabled), needed as build-dep for plasma-framework +# kf6-kio: honest KIOCORE_ONLY build (source-local QtNetwork compat headers) +kirigami = {} +kf6-kio = {} kdecoration = {} kf6-karchive = {} @@ -91,13 +91,18 @@ kf6-solid = {} kf6-sonnet = {} kglobalacceld = {} -# KWin Wayland compositor (stub recipe provides cmake configs + kwin_wayland_wrapper delegating to redbear-compositor) +# KWin Wayland compositor (stub — delegates to redbear-compositor) kwin = {} -# KDE Plasma session — real cmake builds, gated on Qt6Quick/QML + real KWin -# plasma-framework = {} # BLOCKED: requires network-dependent KF6 packages -# plasma-workspace = {} # BLOCKED: depends on kf6-knewstuff -# plasma-desktop = {} # BLOCKED: depends on plasma-workspace +# Plasma + app packages — attempted, blocked by cookbook dependency resolver bug +# (kdecoration not scheduled before breeze; kf6-extra-cmake-modules not before kde-cli-tools) +# kf6-knewstuff = {} # core-only build, blocked by missing KF6Attica +# kf6-kwallet = {} # API-only build, blocked by missing KF6Attica +# plasma-framework = {} # depends on kirigami + kf6-kio (now enabled) +# plasma-workspace = {} # depends on kwin + all KF6 +# plasma-desktop = {} # depends on plasma-workspace +# breeze = {} # depends on kdecoration +# kde-cli-tools = {} # depends on kf6-extra-cmake-modules # Greeter/login stack redbear-authd = {} diff --git a/local/scripts/build-redbear.sh b/local/scripts/build-redbear.sh index 38ad1a4f..2e416425 100755 --- a/local/scripts/build-redbear.sh +++ b/local/scripts/build-redbear.sh @@ -217,11 +217,6 @@ else REPO_OFFLINE=1 COOKBOOK_OFFLINE=true CI=1 make all "CONFIG_NAME=$CONFIG" "JOBS=$JOBS" fi -# Archive fully-patched source packages for reproducibility -echo "" -echo ">>> Archiving fully-patched source packages..." -"$SCRIPT_DIR/archive-sources.sh" --all 2>/dev/null || echo " (archive step skipped — run manually with: local/scripts/archive-sources.sh --all)" - ARCH="${ARCH:-$(uname -m)}" echo "" echo "========================================" diff --git a/mk/redbear.mk b/mk/redbear.mk index 96edaceb..ff7352fe 100644 --- a/mk/redbear.mk +++ b/mk/redbear.mk @@ -14,3 +14,22 @@ redbear: $(REDBEAR_TAG) redbear_clean: rm -f "$(REDBEAR_TAG)" + +# Source archival — exports fully-patched, versioned source archives +# for all recipes with source/ directories to sources// +# Runs after `make all` and also standalone via `make sources` +SOURCES_DIR=$(BUILD)/../sources/$(TARGET) +SOURCES_TAG=$(SOURCES_DIR)/.sources-tag + +# Standalone: archive what's cached (no rebuild needed) +sources: + @echo "Archiving fully-patched source packages..." + bash local/scripts/archive-sources.sh --all + @mkdir -p "$(SOURCES_DIR)" + @touch "$(SOURCES_TAG)" + @echo "Sources archived: $$(wc -l < $(SOURCES_DIR)/packages.txt 2>/dev/null || echo 0) packages" + +# Hook: run after full build +$(BUILD)/harddrive.img: sources + +FORCE: