From 5c6c9f7b49478a0feb8dd6efd187f6b7eeacaf8a Mon Sep 17 00:00:00 2001 From: Andrzej Surdej Date: Fri, 27 Jun 2025 21:51:01 +0200 Subject: [PATCH 1/7] RDKTV-34129: [WebKitBrowser] Use SIGHUP for suspended web process For suspended callsing use SIGHUP to kill unresponsive WebProcess (instead of SIGFPE) to skip minidump report. In suspended state webkit browser plugin kills web process immediately on the very first unresponsiveness that produces false crash reports. Reason for change: Fix crash report on browser shutdown Test Procedure: Webapps smoke testing (launch and exit) Priority: P1 Risks: Low Signed-off-by: Andrzej Surdej --- .../webkitbrowser-plugin/webkitbrowser-plugin_git.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb b/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb index f99f738f4..97e747606 100644 --- a/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb +++ b/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb @@ -3,7 +3,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../LICENSE;md5=16cf2209d4e903e4d5dcd75089d7dfe2" # keep PV/PR in sync with meta-middleware-generic-support/conf/include/generic-pkgrev.inc -PV ?= "1.1.27" +PV ?= "1.1.30" PR ?= "r0" PATCHTOOL = "git" @@ -20,8 +20,8 @@ SRC_URI = "git://github.com/rdkcentral/rdkservices.git;protocol=git;branch=main file://0008-Thunder-upgrade-quirks.patch;patchdir=../ \ " -# Tip of the main at Dec 18, 2024 -SRCREV = "d6d87d24468970fe94d692a7b0efbb77e8fe1547" +# Tip of the main at June 27, 2025 +SRCREV = "857eff8cdcf0a3506683043d0676d541e48dfaa3" inherit cmake pkgconfig python3native From 7c37b9fabf84167d62eaec66a30ff621be2440e3 Mon Sep 17 00:00:00 2001 From: ganeshprasads <35591823+ganeshprasads@users.noreply.github.com> Date: Thu, 10 Jul 2025 17:22:39 -0400 Subject: [PATCH 2/7] RDKEMW-749: add libmanette changes to middleware (#94) * RDKEMW-749: add libmanette changes to middleware Reason for change: Upgrade wpe-backend-rdk to 0.5 and add libmanette patches Test Procedure: refer ticket Risks: NA Priority: P0 Signed-off-by: Ganesh prasad Sahu GaneshPrasad_Sahu@comcast.com * Add header to analog button patch --------- Signed-off-by: Ganesh prasad Sahu GaneshPrasad_Sahu@comcast.com --- ...omcast-manette-gamepad-analog-button.patch | 96 +++++++++++++++++++ .../wpe-backend-rdk/wpe-backend-rdk_0.5.bb | 59 ++++++++++++ 2 files changed, 155 insertions(+) create mode 100644 recipes-extended/wpe-backend-rdk/files/comcast-manette-gamepad-analog-button.patch create mode 100644 recipes-extended/wpe-backend-rdk/wpe-backend-rdk_0.5.bb diff --git a/recipes-extended/wpe-backend-rdk/files/comcast-manette-gamepad-analog-button.patch b/recipes-extended/wpe-backend-rdk/files/comcast-manette-gamepad-analog-button.patch new file mode 100644 index 000000000..f0d3837c8 --- /dev/null +++ b/recipes-extended/wpe-backend-rdk/files/comcast-manette-gamepad-analog-button.patch @@ -0,0 +1,96 @@ +Date: Fri, Aug 30 20:30:21 2024 +0000 +From: Manoj Bhatta +Subject: [PATCH] Add support for Analog buton values +Source: COMCAST +Signed-off-by: Ganesh Sahu + +diff --git a/src/manettegamepad/manette_gamepad.cpp b/src/manettegamepad/manette_gamepad.cpp +index 71ee82a..c4f1a04 100644 +--- a/src/manettegamepad/manette_gamepad.cpp ++++ b/src/manettegamepad/manette_gamepad.cpp +@@ -166,17 +166,29 @@ struct GamepadProvider + static void onButtonPressEvent(ManetteDevice* device, ManetteEvent* event, GamepadProvider* provider) + { + uint16_t button; ++ double value = 1.0; + if (!manette_event_get_button(event, &button)) + return; +- provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), true); ++ if (button == BTN_TL2 || button == BTN_TR2) { ++ manette_event_get_button_value(event, &value); ++ provider->analogButtonChanged(device, toStandardGamepadButton(button), value); ++ } ++ else ++ provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), true); + } + + static void onButtonReleaseEvent(ManetteDevice* device, ManetteEvent* event, GamepadProvider* provider) + { + uint16_t button; ++ double value = 0.0; + if (!manette_event_get_button(event, &button)) + return; +- provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), false); ++ if (button == BTN_TL2 || button == BTN_TR2) { ++ manette_event_get_button_value(event, &value); ++ provider->analogButtonChanged(device, toStandardGamepadButton(button), value); ++ } ++ else ++ provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), false); + } + + void listentoManetteDevice(ManetteDevice * device) +@@ -186,6 +198,16 @@ struct GamepadProvider + g_signal_connect(device, "absolute-axis-event", G_CALLBACK(onAbsoluteAxisEvent), this); + g_signal_connect(device, "hat-axis-event", G_CALLBACK(onHatAxisEvent), this); + } ++ ++ void analogButtonChanged(ManetteDevice* device, enum wpe_gamepad_button button, double value) ++ { ++ if (button == WPE_GAMEPAD_BUTTON_COUNT) ++ return; ++ auto it = manetteDevices.find(device); ++ if (it != manetteDevices.end()) { ++ updateGamepadAnalogButton(it->second,button,value); ++ } ++ } + + void buttonPressedOrReleased(ManetteDevice* device, enum wpe_gamepad_button button, bool pressed) + { +@@ -317,6 +339,7 @@ struct GamepadProvider + gamepadsInfo.erase(it); + wpe_gamepad_provider_dispatch_gamepad_disconnected(provider, gamepadId); + } ++ void updateGamepadAnalogButton(uint32_t gamepadId, enum wpe_gamepad_button button, double value); + void updateGamepadButton(uint32_t gamepadId, enum wpe_gamepad_button button, bool pressed); + void updateGamepadAxis(uint32_t gamepadId, enum wpe_gamepad_axis axis, double value); + }; +@@ -354,6 +377,12 @@ struct GamepadProxy + return result ? result: "Unknown"; + } + ++ void dispatchAnalogButtonChanged(enum wpe_gamepad_button button, double value) ++ { ++ if (gamepad) ++ wpe_gamepad_dispatch_analog_button_changed(gamepad, button, value); ++ } ++ + void dispatchButtonChanged(enum wpe_gamepad_button button, bool pressed) + { + if (gamepad) +@@ -378,6 +407,15 @@ GamepadProvider::~GamepadProvider() + kv.second->cleanUp(); + } + ++void GamepadProvider::updateGamepadAnalogButton( uint32_t gamepadId, enum wpe_gamepad_button button, double value ) ++{ ++ auto iter = gamepadProxies.find(gamepadId); ++ if (iter != gamepadProxies.end()) { ++ auto *proxy = iter->second; ++ proxy->dispatchAnalogButtonChanged(button,value); ++ } ++} ++ + void GamepadProvider::updateGamepadButton( uint32_t gamepadId, enum wpe_gamepad_button button, bool pressed ) + { + auto iter = gamepadProxies.find(gamepadId); diff --git a/recipes-extended/wpe-backend-rdk/wpe-backend-rdk_0.5.bb b/recipes-extended/wpe-backend-rdk/wpe-backend-rdk_0.5.bb new file mode 100644 index 000000000..4c797d3b7 --- /dev/null +++ b/recipes-extended/wpe-backend-rdk/wpe-backend-rdk_0.5.bb @@ -0,0 +1,59 @@ +SUMMARY = "WPE WebKit RDK backend" +HOMEPAGE = "https://github.com/WebPlatformForEmbedded" +SECTION = "wpe" +LICENSE = "BSD-2-Clause & Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=ab5b52d145a58f5fcc0e2a531e7a2370" + +DEPENDS += "libwpe glib-2.0" + +PV ?= "0.5.0" +PR ?= "r0" + +PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" +PATCHTOOL = "git" + +# Revision date: March 15, 2024 +SRCREV = "6f53fce68d8e6895fd25a2b18c781bfbccdcf3b0" +BASE_URI ?= "git://github.com/WebPlatformForEmbedded/WPEBackend-rdk.git;protocol=https;branch=master" +SRC_URI = "${BASE_URI}" + +SRC_URI += "file://comcast-Naive-gamepad-support.patch" +SRC_URI += "file://0001-Fix-browser-crash-when-the-compositor-is-not-created.patch" +SRC_URI += "file://0001-Send-SIGHUP-if-compositor-is-terminated.patch" +SRC_URI += "file://comcast-manette-gamepad-support.patch" +SRC_URI += "file://comcast-manette-gamepad-analog-button.patch" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig + +WPE_BACKEND ?= "essos headless" +RDEPENDS:${PN}-platform-plugin:append = " essos" + +PACKAGECONFIG ?= "${WPE_BACKEND}" +PACKAGECONFIG:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'gamepad-using-libmanette', ' manettegamepad', ' gamepad', d)}" + +PACKAGECONFIG[westeros] = "-DUSE_BACKEND_WESTEROS=ON -DUSE_KEY_INPUT_HANDLING_LINUX_INPUT=OFF,,wayland westeros libxkbcommon" +PACKAGECONFIG[essos] = "-DUSE_BACKEND_ESSOS=ON -DUSE_INPUT_LIBINPUT=OFF,-DUSE_BACKEND_ESSOS=OFF,essos libxkbcommon wayland" +PACKAGECONFIG[gamepad] = "-DUSE_GENERIC_GAMEPAD=ON,-DUSE_GENERIC_GAMEPAD=OFF," +PACKAGECONFIG[headless] = "-DUSE_BACKEND_HEADLESS=ON -DUSE_INPUT_LIBINPUT=OFF,-DUSE_BACKEND_HEADLESS=OFF," +PACKAGECONFIG[manettegamepad] = "-DUSE_LIBMANETTE_GAMEPAD=ON, -DUSE_LIBMANETTE_GAMEPAD=OFF, libmanette" + + +EXTRA_OECMAKE += " \ + -DCMAKE_BUILD_TYPE=Release \ +" + +PROVIDES = "wpe-backend-rdk" +RPROVIDES:${PN} = "wpe-backend-rdk" + +PACKAGES =+ "${PN}-platform-plugin" +FILES:${PN}-platform-plugin += "${libdir}/*.so ${bindir}/*" +INSANE_SKIP:${PN}-platform-plugin = "dev-so" + +FILES_SOLIBSDEV = "" +SOLIBS = ".so" +INSANE_SKIP:${PN} += "dev-so" +FILES:${PN} += "${libdir}/*.so" +#We need the default package, even if empty for SDK +ALLOW_EMPTY:${PN}="1" From 08ceddda2355f4c41355b87a66cc2b7f73525888 Mon Sep 17 00:00:00 2001 From: jackogorman10 <91594911+jackogorman10@users.noreply.github.com> Date: Thu, 10 Jul 2025 22:31:01 +0100 Subject: [PATCH 3/7] RDKEVD-1986: Bring autoconnect to develop (#153) Reason for change: autoconnect needs to be added to the bb file for btmgr Test Procedure: devices should autoconnect if autoconnect is turned on in the UI Risks: Low Priority: P1 Signed-off-by: Jack O'Gorman Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> --- recipes-connectivity/bluetooth/bluetooth-mgr_git.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb index 9f229e89b..afbe96111 100644 --- a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb @@ -84,6 +84,10 @@ CFLAGS:append =" ${@bb.utils.contains('RDEPENDS:${PN}', 'virtual/${MLPREFIX}medi ENABLE_RDK_LOGGER = "--enable-rdk-logger=${@bb.utils.contains('RDEPENDS:${PN}', '${MLPREFIX}rdk-logger', 'yes', 'no', d)}" EXTRA_OECONF += " ${ENABLE_RDK_LOGGER}" +# Autoconnect feature enabled +ENABLE_AUTO_CONNECT = "--enable-autoconnectfeature=${@bb.utils.contains('DISTRO_FEATURES', 'btr_enable_auto_connect','yes','no',d)}" +EXTRA_OECONF += " ${ENABLE_AUTO_CONNECT} " + EXTRA_OECONF:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-systemd-notify', '', d)}" EXTRA_OECONF:append:client = " --enable-sys-diag" From b1b7a2cfa119ae03b40aff9c5885572649a8f0f6 Mon Sep 17 00:00:00 2001 From: nhanasi Date: Tue, 15 Jul 2025 15:24:52 -0400 Subject: [PATCH 4/7] Update rfc_git.bb --- recipes-common/rfc/rfc_git.bb | 1 - 1 file changed, 1 deletion(-) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index 51cc90bf5..d032b9ded 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -27,7 +27,6 @@ do_install:append () { install -d ${D}${base_libdir}/rdk install -d ${D}${sysconfdir} - install -m 0755 ${S}/rfcInit.sh ${D}${base_libdir}/rdk install -m 0644 ${S}/rfc.properties ${D}${sysconfdir}/rfc.properties } From 42843dd7ca3daa870f4e303104465c57d328b311 Mon Sep 17 00:00:00 2001 From: Deepthi C Shetty <115452109+dshett549@users.noreply.github.com> Date: Wed, 16 Jul 2025 21:43:05 +0530 Subject: [PATCH 5/7] Update rbus to v2.6.0 (#162) * Update rbus to v2.6.0 Signed-off-by: dshett549 Signed-off-by: dshett549 --- .../rbus/files/gtest_libraries_check.patch | 40 ------------------- recipes-common/rbus/rbus.bb | 14 +++---- 2 files changed, 6 insertions(+), 48 deletions(-) delete mode 100644 recipes-common/rbus/files/gtest_libraries_check.patch diff --git a/recipes-common/rbus/files/gtest_libraries_check.patch b/recipes-common/rbus/files/gtest_libraries_check.patch deleted file mode 100644 index 843835c87..000000000 --- a/recipes-common/rbus/files/gtest_libraries_check.patch +++ /dev/null @@ -1,40 +0,0 @@ -############################################################################### -Date: Tuesday 24 January 22:10:00 UTC 2023 -Subject: With newer cmake-3.22, the FindGTest.cmake module is - slightly differenct than older cmake-3.16 module. We don't have - GTEST_INCLUDE_DIR set in latest cmake GTest module where as - GTEST_LIBRARIES and GTEST_INCLUDE_DIRS are set on both older and new modules. -Source: Comcast -License: NA -Upstream-Status: Pending -Signed-off-by: Arjun -############################################################################### ---- a/unittests/CMakeLists.txt.orig 2023-01-24 08:28:22.536357264 +0000 -+++ b/unittests/CMakeLists.txt 2023-01-24 08:31:39.383571780 +0000 -@@ -26,7 +26,7 @@ - - string(REPLACE "-Werror" "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) - string(REPLACE "-Werror" "" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) --if (NOT GTEST_INCLUDE_DIR) -+if (NOT GTEST_LIBRARIES) - message("Warning GTest wasn't found. GTest library will be built.") - include(ExternalProject) - #include(GoogleTest) -@@ -53,7 +53,7 @@ - - include_directories("${source_dir}/googletest/include" "${source_dir}/googlemock/include") - else () -- include_directories("${GTEST_INCLUDE_DIR}") -+ include_directories("GTEST_INCLUDE_DIRS") - endif() - - # someone needs to figure out how to run this stuff under valgrind -@@ -102,7 +102,7 @@ - main.cpp) - add_dependencies(rbus_gtest.bin rbus) - --if (NOT GTEST_INCLUDE_DIR) -+if (NOT GTEST_LIBRARIES) - target_link_libraries(rbus_gtest.bin rbus libgtest libgmock gcov) - else () - target_link_libraries(rbus_gtest.bin rbus gtest gcov) diff --git a/recipes-common/rbus/rbus.bb b/recipes-common/rbus/rbus.bb index 561841fc1..05da58de0 100644 --- a/recipes-common/rbus/rbus.bb +++ b/recipes-common/rbus/rbus.bb @@ -4,13 +4,12 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=ed63516ecab9f06e324238dd2b259549" SRC_URI = "git://github.com/rdkcentral/rbus.git;branch=release" -SRC_URI:append = " file://gtest_libraries_check.patch" -SRCREV = "ce10ff2246632f232aa91d6723cfae123972ebe1" +SRCREV = "b193ae44c976fe8dd31d48a91f45ac7791a292f0" SRCREV_FORMAT = "base" -PV ?= "2.5.0" -PR ?= "r1" +PV ?= "2.6.0" +PR ?= "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -31,10 +30,9 @@ EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release " EXTRA_OECMAKE += " -DMSG_ROUNDTRIP_TIME=ON -DENABLE_RDKLOGGER=ON" #Gtest Specific Enablements -EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', '-DENABLE_UNIT_TESTING=ON', '', d)}" -DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', ' gtest ', ' ', d)}" -DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'RBUS_ENABLE_TESTAPPS', ' benchmark ', ' ', d)}" -EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'RBUS_ENABLE_TESTAPPS', '-DBUILD_RBUS_SAMPLE_APPS=ON -DBUILD_RBUS_TEST_APPS=ON -DBUILD_RBUS_BENCHMARK_TEST=ON', '-DBUILD_RBUS_SAMPLE_APPS=OFF -DBUILD_RBUS_TEST_APPS=OFF -DBUILD_RBUS_BENCHMARK_TEST=OFF', d)}" +EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', '-DENABLE_UNIT_TESTING=ON -DBUILD_RBUS_BENCHMARK_TEST=ON', '', d)}" +EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'RBUS_ENABLE_TESTAPPS', '-DBUILD_RBUS_SAMPLE_APPS=ON -DBUILD_RBUS_TEST_APPS=ON ', '-DBUILD_RBUS_SAMPLE_APPS=OFF -DBUILD_RBUS_TEST_APPS=OFF', d)}" +DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', ' gtest benchmark ', ' ', d)}" #Dunfell Specific CFlags CFLAGS:append = " -Wno-format-truncation " From 7327e6a529beae3f79ee14799692f1a805ae9fbe Mon Sep 17 00:00:00 2001 From: Venky90-max Date: Wed, 16 Jul 2025 18:06:12 +0000 Subject: [PATCH 6/7] RDKEMW-4807: Fix bitbake parse error Reason for change: Fix bitbake parse error Risks: None Priority: P1 --- recipes-common/rbus/rbus.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-common/rbus/rbus.bb b/recipes-common/rbus/rbus.bb index 05da58de0..b0386fc06 100644 --- a/recipes-common/rbus/rbus.bb +++ b/recipes-common/rbus/rbus.bb @@ -32,7 +32,7 @@ EXTRA_OECMAKE += " -DMSG_ROUNDTRIP_TIME=ON -DENABLE_RDKLOGGER=ON" #Gtest Specific Enablements EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', '-DENABLE_UNIT_TESTING=ON -DBUILD_RBUS_BENCHMARK_TEST=ON', '', d)}" EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'RBUS_ENABLE_TESTAPPS', '-DBUILD_RBUS_SAMPLE_APPS=ON -DBUILD_RBUS_TEST_APPS=ON ', '-DBUILD_RBUS_SAMPLE_APPS=OFF -DBUILD_RBUS_TEST_APPS=OFF', d)}" -DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', ' gtest benchmark ', ' ', d)}" +DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', ' gtest benchmark ', ' ', d)}" #Dunfell Specific CFlags CFLAGS:append = " -Wno-format-truncation " From b035e04b7f5c5017cf1e83ab4a7ba312d4e86795 Mon Sep 17 00:00:00 2001 From: acheri988 Date: Thu, 17 Jul 2025 14:00:34 -0400 Subject: [PATCH 7/7] RDKEMW-3037: Middleware CI manifests with the common us tv config Reason for change: Middleware CI manifests with the common us tv config premerge CI for element. Add meta-image-assembler for uniform build job Test Procedure: None Risks: Low Signed-off-by:Anooj Cheriyan --- conf/template/bblayers.conf.sample | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conf/template/bblayers.conf.sample b/conf/template/bblayers.conf.sample index 750fdf031..942d731cd 100644 --- a/conf/template/bblayers.conf.sample +++ b/conf/template/bblayers.conf.sample @@ -59,6 +59,8 @@ BBLAYERS =+ " \ ${@d.getVar('MANIFEST_PATH_RDK_CPC_HALIF_HEADERS') if d.getVar('MANIFEST_PATH_RDK_CPC_HALIF_HEADERS') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_RDK_CPC_HALIF_HEADERS') + '/conf/layer.conf') else ''} \ ${@d.getVar('MANIFEST_PATH_RDK_TOOLS') if d.getVar('MANIFEST_PATH_RDK_TOOLS') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_RDK_TOOLS') + '/conf/layer.conf') else ''} \ ${@d.getVar('MANIFEST_PATH_MIDDLEWARE_BRINGUP') if d.getVar('MANIFEST_PATH_MIDDLEWARE_BRINGUP') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_MIDDLEWARE_BRINGUP') + '/conf/layer.conf') else ''} \ + ${@d.getVar('MANIFEST_PATH_RDK_IMAGES') if d.getVar('MANIFEST_PATH_RDK_IMAGES') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_RDK_IMAGES') + '/conf/layer.conf') else ''} \ + ${@d.getVar('MANIFEST_PATH_CSPC_IMAGES') if d.getVar('MANIFEST_PATH_CSPC_IMAGES') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_CSPC_IMAGES') + '/conf/layer.conf') else ''} \ " # Config layers: generic