diff --git a/local/scripts/integrate-redbear.sh b/local/scripts/integrate-redbear.sh index b9ef0c1720..a3d7023583 100755 --- a/local/scripts/integrate-redbear.sh +++ b/local/scripts/integrate-redbear.sh @@ -134,101 +134,39 @@ echo "Tag: $REDBEAR_TAG" echo "" section "Ensuring custom recipe symlinks..." -symlink "../../local/recipes/branding/redbear-release" "recipes/branding/redbear-release" -symlink "../../local/recipes/drivers/linux-kpi" "recipes/drivers/linux-kpi" -symlink "../../local/recipes/drivers/redbear-btusb" "recipes/drivers/redbear-btusb" -symlink "../../local/recipes/drivers/redbear-iwlwifi" "recipes/drivers/redbear-iwlwifi" -symlink "../../local/recipes/drivers/redox-driver-sys" "recipes/drivers/redox-driver-sys" -symlink "../../local/recipes/gpu/amdgpu" "recipes/gpu/amdgpu" -symlink "../../local/recipes/gpu/redox-drm" "recipes/gpu/redox-drm" -symlink "../../local/recipes/libs/libqrencode" "recipes/libs/libqrencode" -symlink "../../local/recipes/system/evdevd" "recipes/system/evdevd" -symlink "../../local/recipes/system/redbear-firmware" "recipes/system/redbear-firmware" -symlink "../../local/recipes/system/firmware-loader" "recipes/system/firmware-loader" -symlink "../../local/recipes/system/iommu" "recipes/system/iommu" -symlink "../../local/recipes/system/redbear-btctl" "recipes/system/redbear-btctl" -symlink "../../local/recipes/system/redbear-info" "recipes/system/redbear-info" -symlink "../../local/recipes/system/redbear-hwutils" "recipes/system/redbear-hwutils" -symlink "../../local/recipes/system/redbear-netstat" "recipes/system/redbear-netstat" -symlink "../../local/recipes/system/redbear-netctl" "recipes/system/redbear-netctl" -symlink "../../local/recipes/system/redbear-netctl-console" "recipes/system/redbear-netctl-console" -symlink "../../local/recipes/system/redbear-wifictl" "recipes/system/redbear-wifictl" -symlink "../../local/recipes/system/redbear-traceroute" "recipes/system/redbear-traceroute" -symlink "../../local/recipes/system/redbear-mtr" "recipes/system/redbear-mtr" -symlink "../../local/recipes/system/redbear-nmap" "recipes/system/redbear-nmap" -symlink "../../local/recipes/system/redbear-meta" "recipes/system/redbear-meta" -symlink "../../local/recipes/system/udev-shim" "recipes/system/udev-shim" -symlink "../../local/recipes/core/ext4d" "recipes/core/ext4d" -symlink "../../local/recipes/tui/mc" "recipes/tui/mc" -symlink "../../local/recipes/system/cub" "recipes/system/cub" -symlink "../../../local/recipes/wayland/qt6-wayland-smoke" "recipes/wip/wayland/qt6-wayland-smoke" -# KDE / Phase 6 recipes -mkdir -p recipes/kde -symlink "../../local/recipes/kde/plasma-desktop" "recipes/kde/plasma-desktop" -symlink "../../local/recipes/kde/plasma-workspace" "recipes/kde/plasma-workspace" -symlink "../../local/recipes/kde/plasma-framework" "recipes/kde/plasma-framework" -symlink "../../local/recipes/kde/plasma-wayland-protocols" "recipes/kde/plasma-wayland-protocols" -symlink "../../local/recipes/kde/kwin" "recipes/kde/kwin" -symlink "../../local/recipes/kde/kirigami" "recipes/kde/kirigami" +# Auto-discover all local/recipes/// directories and symlink +# into recipes//. This replaces the previous 95-line manual +# symlink list which was perpetually out of sync with local/recipes/. +linked_count=0 +skipped_count=0 + +while IFS= read -r -d '' recipe_dir; do + rel_path="${recipe_dir#local/recipes/}" + category="${rel_path%%/*}" + name="${rel_path#*/}" + link="recipes/${category}/${name}" + + # Compute relative path from link to target + # recipes// → ../../local/recipes// + target="../../local/recipes/${rel_path}" + + if symlink "$target" "$link"; then + linked_count=$((linked_count + 1)) + else + skipped_count=$((skipped_count + 1)) + fi +done < <(find local/recipes -mindepth 2 -maxdepth 2 -type d -print0 2>/dev/null | sort -z) + +# Special alias: kf6-kirigami → kirigami (KDE expects both names) symlink "../../local/recipes/kde/kirigami" "recipes/kde/kf6-kirigami" -symlink "../../local/recipes/kde/kdecoration" "recipes/kde/kdecoration" -symlink "../../local/recipes/kde/kf6-extra-cmake-modules" "recipes/kde/kf6-extra-cmake-modules" -symlink "../../local/recipes/kde/kf6-kcoreaddons" "recipes/kde/kf6-kcoreaddons" -symlink "../../local/recipes/kde/kf6-kwidgetsaddons" "recipes/kde/kf6-kwidgetsaddons" -symlink "../../local/recipes/kde/kf6-kconfig" "recipes/kde/kf6-kconfig" -symlink "../../local/recipes/kde/kf6-ki18n" "recipes/kde/kf6-ki18n" -symlink "../../local/recipes/kde/kf6-kcodecs" "recipes/kde/kf6-kcodecs" -symlink "../../local/recipes/kde/kf6-kguiaddons" "recipes/kde/kf6-kguiaddons" -symlink "../../local/recipes/kde/kf6-kcolorscheme" "recipes/kde/kf6-kcolorscheme" -symlink "../../local/recipes/kde/kf6-kauth" "recipes/kde/kf6-kauth" -symlink "../../local/recipes/kde/kf6-kitemmodels" "recipes/kde/kf6-kitemmodels" -symlink "../../local/recipes/kde/kf6-kitemviews" "recipes/kde/kf6-kitemviews" -symlink "../../local/recipes/kde/kf6-attica" "recipes/kde/kf6-attica" -symlink "../../local/recipes/kde/kf6-karchive" "recipes/kde/kf6-karchive" -symlink "../../local/recipes/kde/kf6-kwindowsystem" "recipes/kde/kf6-kwindowsystem" -symlink "../../local/recipes/kde/kf6-knotifications" "recipes/kde/kf6-knotifications" -symlink "../../local/recipes/kde/kf6-kjobwidgets" "recipes/kde/kf6-kjobwidgets" -symlink "../../local/recipes/kde/kf6-kconfigwidgets" "recipes/kde/kf6-kconfigwidgets" -symlink "../../local/recipes/kde/kf6-kcrash" "recipes/kde/kf6-kcrash" -symlink "../../local/recipes/kde/kf6-kdbusaddons" "recipes/kde/kf6-kdbusaddons" -symlink "../../local/recipes/kde/kf6-kglobalaccel" "recipes/kde/kf6-kglobalaccel" -symlink "../../local/recipes/kde/kf6-kservice" "recipes/kde/kf6-kservice" -symlink "../../local/recipes/kde/kf6-kpackage" "recipes/kde/kf6-kpackage" -symlink "../../local/recipes/kde/kf6-kiconthemes" "recipes/kde/kf6-kiconthemes" -symlink "../../local/recipes/kde/kf6-kxmlgui" "recipes/kde/kf6-kxmlgui" -symlink "../../local/recipes/kde/kf6-ktextwidgets" "recipes/kde/kf6-ktextwidgets" -symlink "../../local/recipes/kde/kf6-solid" "recipes/kde/kf6-solid" -symlink "../../local/recipes/kde/kf6-sonnet" "recipes/kde/kf6-sonnet" -symlink "../../local/recipes/kde/kf6-kio" "recipes/kde/kf6-kio" -symlink "../../local/recipes/kde/kf6-kbookmarks" "recipes/kde/kf6-kbookmarks" -symlink "../../local/recipes/kde/kf6-kcompletion" "recipes/kde/kf6-kcompletion" -symlink "../../local/recipes/kde/kf6-kdeclarative" "recipes/kde/kf6-kdeclarative" -symlink "../../local/recipes/kde/kf6-kcmutils" "recipes/kde/kf6-kcmutils" -symlink "../../local/recipes/kde/kf6-kidletime" "recipes/kde/kf6-kidletime" -symlink "../../local/recipes/kde/kf6-kwayland" "recipes/kde/kf6-kwayland" -symlink "../../local/recipes/kde/kf6-knewstuff" "recipes/kde/kf6-knewstuff" -symlink "../../local/recipes/kde/kf6-kwallet" "recipes/kde/kf6-kwallet" -symlink "../../local/recipes/kde/kf6-prison" "recipes/kde/kf6-prison" -symlink "../../local/recipes/kde/breeze" "recipes/kde/breeze" -symlink "../../local/recipes/kde/kde-cli-tools" "recipes/kde/kde-cli-tools" -symlink "../../local/recipes/kde/kdecoration" "recipes/kde/kdecoration" -symlink "../../local/recipes/kde/kirigami" "recipes/kde/kirigami" -symlink "../../local/recipes/kde/kwin" "recipes/kde/kwin" -symlink "../../local/recipes/kde/plasma-desktop" "recipes/kde/plasma-desktop" -symlink "../../local/recipes/kde/plasma-framework" "recipes/kde/plasma-framework" -symlink "../../local/recipes/kde/plasma-workspace" "recipes/kde/plasma-workspace" -symlink "../../local/recipes/kde/plasma-wayland-protocols" "recipes/kde/plasma-wayland-protocols" -symlink "../../local/recipes/kde/kglobalacceld" "recipes/kde/kglobalacceld" -symlink "../../local/recipes/wayland/qt6-wayland-smoke" "recipes/wayland/qt6-wayland-smoke" -symlink "../../local/recipes/wayland/seatd-redox" "recipes/wayland/seatd-redox" -symlink "../../local/recipes/wayland/smallvil" "recipes/wayland/smallvil" -symlink "../../local/recipes/wayland/redbear-compositor" "recipes/wayland/redbear-compositor" -symlink "../../local/recipes/tests/redox-drm-prime-test" "recipes/tests/redox-drm-prime-test" -symlink "../../local/recipes/system/redbear-passwd" "recipes/system/redbear-passwd" -symlink "../../local/recipes/gpu/redox-drm" "recipes/gpu/redox-drm" -symlink "../../local/recipes/gpu/amdgpu" "recipes/gpu/amdgpu" -status "Custom recipe symlinks ready" + +# WIP compat: qt6-wayland-smoke lives under wayland/ but historically +# was also linked under recipes/wip/wayland/ +mkdir -p recipes/wip/wayland +symlink "../../../../local/recipes/wayland/qt6-wayland-smoke" "recipes/wip/wayland/qt6-wayland-smoke" + +status "Custom recipe symlinks ready (${linked_count} linked, ${skipped_count} skipped)" echo "" section "Ensuring recipe patch symlinks..."