fix: auto-discover all local recipes in integrate-redbear.sh
Replace 95-line manual symlink list with auto-discovery of all local/recipes/<category>/<name>/ directories. This fixes 15 missing symlinks that would have blocked the redbear-full build, including critical packages: libdrm, qtbase, qtwayland, libinput, libevdev, seatd, and wayland-protocols. Special-case aliases preserved: - kf6-kirigami → kirigami (KDE expects both names) - wip/wayland/qt6-wayland-smoke (historical WIP path)
This commit is contained in:
@@ -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/<category>/<name>/ directories and symlink
|
||||
# into recipes/<category>/<name>. 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/<cat>/<name> → ../../local/recipes/<cat>/<name>
|
||||
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..."
|
||||
|
||||
Reference in New Issue
Block a user