diff --git a/.gitignore b/.gitignore index d4f7cd8179..832ad04bcb 100644 --- a/.gitignore +++ b/.gitignore @@ -33,6 +33,13 @@ local/recipes/**/target/ local/recipes/**/build/ local/recipes/**/source.tar local/recipes/**/source.tar.tmp +# C-7 migration pristine snapshots — used by the +# `migrate-kf6-seds-direct.sh` script to capture the +# upstream source state before applying the recipe's +# inline `sed -i` chains. They are ephemeral working +# state, not part of the durable build. Safe to delete +# (the upstream tarball can re-extract them on demand). +local/recipes/**/source-pristine/ # Compiled objects and firmware blobs *.o @@ -41,6 +48,7 @@ local/recipes/**/source.tar.tmp *.fw local/firmware/ *.lock +!local/recipes/system/cub/source/Cargo.lock # Internal tooling .sisyphus/ diff --git a/local/patches/kdecoration/01-initial-migration.patch b/local/patches/kdecoration/01-initial-migration.patch new file mode 100644 index 0000000000..6bd189052d --- /dev/null +++ b/local/patches/kdecoration/01-initial-migration.patch @@ -0,0 +1,29 @@ +# Initial migration of the inline sed -i chains in +# local/recipes/kde/kdecoration's [build].script to a durable external +# patch. Captured by local/scripts/migrate-kf6-seds-direct.sh +# on 2026-06-12T20:43:02+03:00. +# +# After applying this patch via cookbook_apply_patches, +# the recipe's [build].script should call: +# REDBEAR_PATCHES_DIR="/home/kellito/Builds/RedBear-OS/local/patches/kdecoration" +# cookbook_apply_patches "${REDBEAR_PATCHES_DIR}" +# in place of the sed -i chains that produced these edits. + +--- ./CMakeLists.txt ++++ ./CMakeLists.txt +@@ -37,7 +37,7 @@ + find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS + Core + Gui +- Test ++ + ) + + # require at least gcc 4.8 +@@ -90,4 +90,4 @@ + + feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) + +-ki18n_install(po) ++#ki18n_install(po) + diff --git a/local/patches/kf6-kcmutils/01-initial-migration.patch b/local/patches/kf6-kcmutils/01-initial-migration.patch new file mode 100644 index 0000000000..67eb73d217 --- /dev/null +++ b/local/patches/kf6-kcmutils/01-initial-migration.patch @@ -0,0 +1,90 @@ +# Initial migration of the inline sed -i chains in +# local/recipes/kde/kf6-kcmutils's [build].script to a durable external +# patch. Captured by local/scripts/migrate-kf6-seds-direct.sh +# on 2026-06-12T20:43:04+03:00. +# +# After applying this patch via cookbook_apply_patches, +# the recipe's [build].script should call: +# REDBEAR_PATCHES_DIR="/home/kellito/Builds/RedBear-OS/local/patches/kf6-kcmutils" +# cookbook_apply_patches "${REDBEAR_PATCHES_DIR}" +# in place of the sed -i chains that produced these edits. + +--- ./src/CMakeLists.txt ++++ ./src/CMakeLists.txt +@@ -14,15 +14,13 @@ + + + add_subdirectory(core) +-add_subdirectory(qml) +-add_subdirectory(quick) ++#add_subdirectory(qml) ++#add_subdirectory(quick) + + ########### kcmutils ############### + set(kcmutils_LIB_SRCS + kcmoduleloader.cpp + kcmoduleloader.h +- kcmoduleqml.cpp +- kcmoduleqml_p.h + kcmultidialog.cpp + kcmultidialog.h + kcmultidialog_p.h +@@ -66,12 +64,8 @@ + Qt6::Widgets + KF6::CoreAddons # KPluginMetaData + KF6::ConfigWidgets # KPageDialog +- KF6KCMUtilsQuick # QML KCM class + PRIVATE + kcmutils_proxy_model +- Qt6::Qml +- Qt6::Quick +- Qt6::QuickWidgets + KF6::GuiAddons # KIconUtils + KF6::I18n + KF6::ItemViews # KWidgetItemDelegate +@@ -102,4 +96,4 @@ + DESTINATION "${KDE_INSTALL_LOGGINGCATEGORIESDIR}" + ) + +-add_subdirectory(kcmshell) ++#add_subdirectory(kcmshell) +--- ./CMakeLists.txt ++++ ./CMakeLists.txt +@@ -23,7 +23,7 @@ + include(ECMDeprecationSettings) + include(ECMMarkNonGuiExecutable) + include(KDEGitCommitHooks) +-include(ECMQmlModule) ++#include(ECMQmlModule) + include(ECMFindQmlModule) + include(ECMGenerateQDoc) + +@@ -57,7 +57,7 @@ + PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF6KCMUtilsConfigVersion.cmake" + SOVERSION 6) + +-find_package(KF6KIO ${KF_DEP_VERSION} REQUIRED) ++#find_package(KF6KIO ${KF_DEP_VERSION} REQUIRED) + find_package(KF6ItemViews ${KF_DEP_VERSION} REQUIRED) + find_package(KF6ConfigWidgets ${KF_DEP_VERSION} REQUIRED) + find_package(KF6CoreAddons ${KF_DEP_VERSION} REQUIRED) +@@ -74,7 +74,7 @@ + ecm_find_qmlmodule(org.kde.kirigami REQUIRED) + + add_definitions(-DTRANSLATION_DOMAIN=\"kcmutils6\") +-ki18n_install(po) ++#ki18n_install(po) + add_subdirectory(src) + add_subdirectory(tools) + if(BUILD_TESTING) +--- ./KF6KCMUtilsConfig.cmake.in ++++ ./KF6KCMUtilsConfig.cmake.in +@@ -6,7 +6,6 @@ + include(CMakeFindDependencyMacro) + find_dependency(KF6ConfigWidgets "@KF_DEP_VERSION@") + find_dependency(KF6CoreAddons "@KF_DEP_VERSION@") +-find_dependency(Qt6Qml "@REQUIRED_QT_VERSION@") + + if (NOT @BUILD_SHARED_LIBS@) + find_dependency(Qt6Quick "@REQUIRED_QT_VERSION@") + diff --git a/local/patches/kf6-kcoreaddons/01-initial-migration.patch b/local/patches/kf6-kcoreaddons/01-initial-migration.patch index 8525077925..b5ef7ca900 100644 --- a/local/patches/kf6-kcoreaddons/01-initial-migration.patch +++ b/local/patches/kf6-kcoreaddons/01-initial-migration.patch @@ -1,7 +1,7 @@ # Initial migration of the inline sed -i chains in # local/recipes/kde/kf6-kcoreaddons's [build].script to a durable external # patch. Captured by local/scripts/migrate-kf6-seds-direct.sh -# on 2026-06-12T19:43:51+03:00. +# on 2026-06-12T20:58:28+03:00. # # After applying this patch via cookbook_apply_patches, # the recipe's [build].script should call: @@ -9,9 +9,8 @@ # cookbook_apply_patches "${REDBEAR_PATCHES_DIR}" # in place of the sed -i chains that produced these edits. -diff -ruN '--label=local/recipes/kde/kf6-kcoreaddons/source-pristine' '--label=local/recipes/kde/kf6-kcoreaddons/source' '--exclude=.git' '--exclude=target' '--exclude=.clang-format' '--exclude=.gitignore' local/recipes/kde/kf6-kcoreaddons/source-pristine local/recipes/kde/kf6-kcoreaddons/source ---- local/recipes/kde/kf6-kcoreaddons/source-pristine -+++ local/recipes/kde/kf6-kcoreaddons/source +--- ./CMakeLists.txt ++++ ./CMakeLists.txt @@ -141,7 +141,7 @@ ) @@ -21,3 +20,4 @@ diff -ruN '--label=local/recipes/kde/kf6-kcoreaddons/source-pristine' '--label=l kde_enable_exceptions() + diff --git a/local/patches/kf6-kdeclarative/01-initial-migration.patch b/local/patches/kf6-kdeclarative/01-initial-migration.patch new file mode 100644 index 0000000000..6f832baaa2 --- /dev/null +++ b/local/patches/kf6-kdeclarative/01-initial-migration.patch @@ -0,0 +1,51 @@ +# Initial migration of the inline sed -i chains in +# local/recipes/kde/kf6-kdeclarative's [build].script to a durable external +# patch. Captured by local/scripts/migrate-kf6-seds-direct.sh +# on 2026-06-12T20:43:05+03:00. +# +# After applying this patch via cookbook_apply_patches, +# the recipe's [build].script should call: +# REDBEAR_PATCHES_DIR="/home/kellito/Builds/RedBear-OS/local/patches/kf6-kdeclarative" +# cookbook_apply_patches "${REDBEAR_PATCHES_DIR}" +# in place of the sed -i chains that produced these edits. + +--- ./src/CMakeLists.txt ++++ ./src/CMakeLists.txt +@@ -1,2 +1,2 @@ +-add_subdirectory(qmlcontrols) ++#add_subdirectory(qmlcontrols) + add_subdirectory(calendarevents) +--- ./CMakeLists.txt ++++ ./CMakeLists.txt +@@ -21,18 +21,18 @@ + include(ECMGenerateExportHeader) + include(ECMSetupVersion) + include(ECMGenerateHeaders) +-include(ECMQmlModule) ++#include(ECMQmlModule) + include(CMakePackageConfigHelpers) + include(ECMGenerateQDoc) + +-find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Qml Quick Gui) ++find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Gui) + find_package(KF6I18n ${KF_DEP_VERSION} REQUIRED) + find_package(KF6Config ${KF_DEP_VERSION} REQUIRED) + find_package(KF6GuiAddons ${KF_DEP_VERSION} REQUIRED) + + + if(NOT WIN32 AND NOT APPLE AND NOT ANDROID AND NOT HAIKU) +- find_package(KF6GlobalAccel ${KF_DEP_VERSION} REQUIRED) ++# find_package(KF6GlobalAccel ${KF_DEP_VERSION} REQUIRED) + set(HAVE_KGLOBALACCEL TRUE) + else() + set(HAVE_KGLOBALACCEL FALSE) +@@ -63,7 +63,7 @@ + KF 6.23.0 + ) + +-ki18n_install(po) ++#ki18n_install(po) + + add_subdirectory(src) + if (BUILD_TESTING) + diff --git a/local/patches/kf6-knotifications/01-initial-migration.patch b/local/patches/kf6-knotifications/01-initial-migration.patch index 792d0fe109..ab1f0fdb7e 100644 --- a/local/patches/kf6-knotifications/01-initial-migration.patch +++ b/local/patches/kf6-knotifications/01-initial-migration.patch @@ -1,7 +1,7 @@ # Initial migration of the inline sed -i chains in # local/recipes/kde/kf6-knotifications's [build].script to a durable external # patch. Captured by local/scripts/migrate-kf6-seds-direct.sh -# on 2026-06-12T19:34:07+03:00. +# on 2026-06-12T20:58:28+03:00. # # After applying this patch via cookbook_apply_patches, # the recipe's [build].script should call: @@ -9,9 +9,8 @@ # cookbook_apply_patches "${REDBEAR_PATCHES_DIR}" # in place of the sed -i chains that produced these edits. -diff -ruN '--exclude=.git' '--exclude=target' '--exclude=.clang-format' '--exclude=.gitignore' local/recipes/kde/kf6-knotifications/source-pristine/CMakeLists.txt local/recipes/kde/kf6-knotifications/source/CMakeLists.txt ---- local/recipes/kde/kf6-knotifications/source-pristine/CMakeLists.txt 2026-06-12 19:04:53.669731256 +0300 -+++ local/recipes/kde/kf6-knotifications/source/CMakeLists.txt 2026-06-12 19:34:07.603999577 +0300 +--- ./CMakeLists.txt ++++ ./CMakeLists.txt @@ -103,7 +103,7 @@ remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY) @@ -21,3 +20,4 @@ diff -ruN '--exclude=.git' '--exclude=target' '--exclude=.clang-format' '--exclu ecm_set_disabled_deprecation_versions( QT 6.11 + diff --git a/local/patches/kf6-kwayland/01-initial-migration.patch b/local/patches/kf6-kwayland/01-initial-migration.patch new file mode 100644 index 0000000000..82400dcf24 --- /dev/null +++ b/local/patches/kf6-kwayland/01-initial-migration.patch @@ -0,0 +1,23 @@ +# Initial migration of the inline sed -i chains in +# local/recipes/kde/kf6-kwayland's [build].script to a durable external +# patch. Captured by local/scripts/migrate-kf6-seds-direct.sh +# on 2026-06-12T20:49:59+03:00. +# +# After applying this patch via cookbook_apply_patches, +# the recipe's [build].script should call: +# REDBEAR_PATCHES_DIR="/home/kellito/Builds/RedBear-OS/local/patches/kf6-kwayland" +# cookbook_apply_patches "${REDBEAR_PATCHES_DIR}" +# in place of the sed -i chains that produced these edits. + +--- ./CMakeLists.txt ++++ ./CMakeLists.txt +@@ -88,7 +88,7 @@ + }" HAVE_MEMFD) + + # Subdirectories +-ecm_install_po_files_as_qm(po) ++#ecm_install_po_files_as_qm(po) + + add_subdirectory(src) + + diff --git a/local/patches/kf6-notifyconfig/01-initial-migration.patch b/local/patches/kf6-notifyconfig/01-initial-migration.patch new file mode 100644 index 0000000000..46d5ffacc4 --- /dev/null +++ b/local/patches/kf6-notifyconfig/01-initial-migration.patch @@ -0,0 +1,48 @@ +# Initial migration of the inline sed -i chains in +# local/recipes/kde/kf6-notifyconfig's [build].script to a durable external +# patch. Captured by local/scripts/migrate-kf6-seds-direct.sh +# on 2026-06-12T20:50:00+03:00. +# +# After applying this patch via cookbook_apply_patches, +# the recipe's [build].script should call: +# REDBEAR_PATCHES_DIR="/home/kellito/Builds/RedBear-OS/local/patches/kf6-notifyconfig" +# cookbook_apply_patches "${REDBEAR_PATCHES_DIR}" +# in place of the sed -i chains that produced these edits. + +--- ./CMakeLists.txt ++++ ./CMakeLists.txt +@@ -28,7 +28,7 @@ + + # Required Qt components to build this framework + set(REQUIRED_QT_VERSION 6.9.0) +-find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Widgets) ++find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Widgets Network) + + # shall we use DBus? + # enabled per default on Linux & BSD systems +@@ -48,13 +48,13 @@ + find_package(KF6I18n ${KF_DEP_VERSION} REQUIRED) + find_package(KF6KIO ${KF_DEP_VERSION} REQUIRED) + +-find_package(Canberra) ++# find_package(Canberra disabled on Redox) + set_package_properties(Canberra PROPERTIES + PURPOSE "Needed to preview notification sounds" + TYPE OPTIONAL) + if (NOT Canberra_FOUND) + # This is REQUIRED since you cannot tell CMake "either one of those two optional ones are required" +- find_package(Qt6Multimedia REQUIRED) ++ set(Qt6Multimedia_FOUND FALSE) + set_package_properties(Qt6Multimedia PROPERTIES + DESCRIPTION "Qt multimedia library" + PURPOSE "Needed to preview notification sounds when Canberra isn't available") +@@ -76,7 +76,7 @@ + + # Subdirectories + add_definitions(-DTRANSLATION_DOMAIN=\"knotifyconfig6\") +-ki18n_install(po) ++#ki18n_install(po) + add_subdirectory(src) + if(BUILD_TESTING) + add_subdirectory(tests) + diff --git a/local/patches/kirigami/01-initial-migration.patch b/local/patches/kirigami/01-initial-migration.patch new file mode 100644 index 0000000000..2c394ceec7 --- /dev/null +++ b/local/patches/kirigami/01-initial-migration.patch @@ -0,0 +1,23 @@ +# Initial migration of the inline sed -i chains in +# local/recipes/kde/kirigami's [build].script to a durable external +# patch. Captured by local/scripts/migrate-kf6-seds-direct.sh +# on 2026-06-12T20:43:05+03:00. +# +# After applying this patch via cookbook_apply_patches, +# the recipe's [build].script should call: +# REDBEAR_PATCHES_DIR="/home/kellito/Builds/RedBear-OS/local/patches/kirigami" +# cookbook_apply_patches "${REDBEAR_PATCHES_DIR}" +# in place of the sed -i chains that produced these edits. + +--- ./CMakeLists.txt ++++ ./CMakeLists.txt +@@ -179,7 +179,7 @@ + COMPONENT Devel + ) + +-ecm_install_po_files_as_qm(poqm) ++# ecm_install_po_files_as_qm(poqm) -- disabled for Redox cross-build + + include(ECMFeatureSummary) + ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) + diff --git a/local/patches/konsole/01-initial-migration.patch b/local/patches/konsole/01-initial-migration.patch new file mode 100644 index 0000000000..e356c2d067 --- /dev/null +++ b/local/patches/konsole/01-initial-migration.patch @@ -0,0 +1,23 @@ +# Initial migration of the inline sed -i chains in +# local/recipes/kde/konsole's [build].script to a durable external +# patch. Captured by local/scripts/migrate-kf6-seds-direct.sh +# on 2026-06-12T20:55:47+03:00. +# +# After applying this patch via cookbook_apply_patches, +# the recipe's [build].script should call: +# REDBEAR_PATCHES_DIR="/home/kellito/Builds/RedBear-OS/local/patches/konsole" +# cookbook_apply_patches "${REDBEAR_PATCHES_DIR}" +# in place of the sed -i chains that produced these edits. + +--- ./CMakeLists.txt ++++ ./CMakeLists.txt +@@ -157,7 +157,7 @@ + DESTINATION "${KDE_INSTALL_LOGGINGCATEGORIESDIR}" + ) + +-ki18n_install( po ) ++#ki18n_install( po ) + if(KF6DocTools_FOUND) + kdoctools_install( po ) + endif() + diff --git a/local/patches/kwin/01-initial-migration.patch b/local/patches/kwin/01-initial-migration.patch new file mode 100644 index 0000000000..0ceb2287e2 --- /dev/null +++ b/local/patches/kwin/01-initial-migration.patch @@ -0,0 +1,21 @@ +# Initial migration of the inline sed -i chains in +# local/recipes/kde/kwin's [build].script to a durable external +# patch. Captured by local/scripts/migrate-kf6-seds-direct.sh +# on 2026-06-12T20:55:52+03:00. +# +# After applying this patch via cookbook_apply_patches, +# the recipe's [build].script should call: +# REDBEAR_PATCHES_DIR="/home/kellito/Builds/RedBear-OS/local/patches/kwin" +# cookbook_apply_patches "${REDBEAR_PATCHES_DIR}" +# in place of the sed -i chains that produced these edits. + +--- ./src/plugins/systembell/CMakeLists.txt ++++ ./src/plugins/systembell/CMakeLists.txt +@@ -10,5 +10,5 @@ + + KF6::GlobalAccel + KF6::I18n +- Canberra::Canberra ++ $,Canberra::Canberra,> + ) + diff --git a/local/scripts/migrate-kf6-seds-direct.sh b/local/scripts/migrate-kf6-seds-direct.sh index b54fa420e9..e084c77a89 100755 --- a/local/scripts/migrate-kf6-seds-direct.sh +++ b/local/scripts/migrate-kf6-seds-direct.sh @@ -25,10 +25,10 @@ cd "$(dirname "${BASH_SOURCE[0]}")/../.." PATCHES_DIR="${REDBEAR_MIGRATE_PATCHES_DIR:-/home/kellito/Builds/RedBear-OS/local/patches}" -# The 17 recipes that need migration (all those whose -# upstream 6.26.0 still has the ecm_install_po_files_as_qm -# call). The 24 NO-OP recipes were cleaned separately by -# cleanup-kf6-noop-seds.sh. +# All 17 KF6 recipes that previously had inline `sed -i` +# chains (all those whose upstream 6.26.0 still has the +# ecm_install_po_files_as_qm call). The 24 NO-OP recipes +# were cleaned separately by cleanup-kf6-noop-seds.sh. recipe_dirs=( "local/recipes/kde/kf6-karchive" "local/recipes/kde/kf6-kauth" @@ -47,6 +47,24 @@ recipe_dirs=( "local/recipes/kde/kf6-solid" "local/recipes/kde/kf6-sonnet" "local/recipes/kde/kf6-syntaxhighlighting" + # 7 unclassified (git-sourced or kde/plasma). Their + # pristine state was snapshotted after a successful + # `repo fetch`. If the pristine doesn't exist, the + # script reports NO-OP and moves on. + "local/recipes/kde/breeze" + "local/recipes/kde/kde-cli-tools" + "local/recipes/kde/kdecoration" + "local/recipes/kde/kf6-kcmutils" + "local/recipes/kde/kf6-kdeclarative" + "local/recipes/kde/kf6-kded6" + "local/recipes/kde/kf6-kwayland" + "local/recipes/kde/kf6-notifyconfig" + "local/recipes/kde/kglobalacceld" + "local/recipes/kde/kirigami" + "local/recipes/kde/konsole" + "local/recipes/kde/kwin" + "local/recipes/kde/plasma-desktop" + "local/recipes/kde/plasma-workspace" ) migrated=0