From c3d2d018be002be7fc590e0875f4dbb26dd96cab Mon Sep 17 00:00:00 2001 From: nhanasi Date: Mon, 9 Jun 2025 11:44:34 -0400 Subject: [PATCH 001/274] Update rdmagent.bb --- recipes-support/rdmagent/rdmagent.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-support/rdmagent/rdmagent.bb b/recipes-support/rdmagent/rdmagent.bb index 279221006..20c3a00bb 100644 --- a/recipes-support/rdmagent/rdmagent.bb +++ b/recipes-support/rdmagent/rdmagent.bb @@ -41,7 +41,7 @@ LDFLAGS:append = " -lsecure_wrapper" DEPENDS += "libsyswrapper" -EXTRA_OECONF:append = " --enable-iarmbusSupport=yes" +EXTRA_OECONF:append = " --enable-iarmbusSupport=yes --enable-t2api=yes" DEPENDS:append = " iarmmgrs iarmbus" LDFLAGS:append = " -lIARMBus" From 1785f6c97dbe8da8d12778ae93a7a93588fc16a6 Mon Sep 17 00:00:00 2001 From: nhanasi Date: Mon, 9 Jun 2025 14:13:26 -0400 Subject: [PATCH 002/274] Update rdmagent.bb --- recipes-support/rdmagent/rdmagent.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-support/rdmagent/rdmagent.bb b/recipes-support/rdmagent/rdmagent.bb index 20c3a00bb..c7f0eee06 100644 --- a/recipes-support/rdmagent/rdmagent.bb +++ b/recipes-support/rdmagent/rdmagent.bb @@ -32,7 +32,7 @@ LOGROTATE_ROTATION_MEM_rdm_status="3" PARALLEL_MAKE = "" -DEPENDS += "commonutilities" +DEPENDS += "commonutilities telemetry" DEPENDS += "opkg" CFLAGS:append = " -std=c11 -fPIC -D_GNU_SOURCE -Wall -Werror " From 5d6ecc8799ab056a7c5d89131e8c069b384fbf0d Mon Sep 17 00:00:00 2001 From: Karthick Swaminathan <85346280+ks734@users.noreply.github.com> Date: Thu, 12 Jun 2025 11:51:00 +0530 Subject: [PATCH 003/274] Update dobby.inc --- recipes-containers/dobby/dobby.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index 5339c9593..49cc46ef6 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,4 +1,4 @@ SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.14" -PV = "3.14.0+git${SRCPV}" -SRCREV = "c7ce28554c6306b3f42493a2ad3e5e3ba44dbe81" +PV = "3.14.1+git${SRCPV}" +SRCREV = "b9668168a2875b94ac487a869362176d59350dc9" From 82c4925fa4b96739692728abf21a7722446573ba Mon Sep 17 00:00:00 2001 From: nhanasi Date: Thu, 19 Jun 2025 08:41:21 -0400 Subject: [PATCH 004/274] Update rdk-logger_git.bb (#124) --- recipes-common/rdk-logger/rdk-logger_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rdk-logger/rdk-logger_git.bb b/recipes-common/rdk-logger/rdk-logger_git.bb index 5a29a1926..7c6bf23ce 100644 --- a/recipes-common/rdk-logger/rdk-logger_git.bb +++ b/recipes-common/rdk-logger/rdk-logger_git.bb @@ -5,9 +5,9 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" PV ?= "1.0.0" -PR ?= "r0" +PR ?= "r1" -SRCREV = "968bdfc364008e27a52921370f7bc98c0c43e161" +SRCREV = "a3bacc8b8660a03f3e4a1ebdb6cf466a8d190ecb" SRCREV_FORMAT = "rdklogger" From 60bced45a8bf419bf1b9d8b7bf1d1d1e123c848c Mon Sep 17 00:00:00 2001 From: Deepthi C Shetty <115452109+dshett549@users.noreply.github.com> Date: Fri, 20 Jun 2025 15:26:15 +0530 Subject: [PATCH 005/274] RDKEMW-5066: Avoid installation of files when prod distro_features enabled (#126) Reason for change: Avoiding uneccessary files Test Procedure: Test and verified Risks: Medium Priority: P1 Signed-off-by: Deepthi --- recipes-common/rbus/rbus.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes-common/rbus/rbus.bb b/recipes-common/rbus/rbus.bb index 669125d14..17113806e 100644 --- a/recipes-common/rbus/rbus.bb +++ b/recipes-common/rbus/rbus.bb @@ -35,6 +35,9 @@ EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', '-DENABLE EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', '-DBUILD_RBUS_BENCHMARK_TEST=ON -DBUILD_RBUS_UNIT_TEST=ON -DBUILD_RBUS_SAMPLE_APPS=ON', '', d)}" DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', ' gtest benchmark ', ' ', d)}" +#Avoid install RBus test binariesAdd commentMore actions +EXTRA_OECMAKE += " ${@bb.utils.contains_any('DISTRO_FEATURES', 'prod-variant prodlog-variant', '-DBUILD_RBUS_SAMPLE_APPS=OFF -DBUILD_RBUS_TEST_APPS=OFF', '', d)}" + #Dunfell Specific CFlags CFLAGS:append = " -Wno-format-truncation " CXXFLAGS:append = " -Wno-format-truncation " From 3ea7329353303fcc8780eed72860823fee402971 Mon Sep 17 00:00:00 2001 From: gururaajar <83449026+gururaajar@users.noreply.github.com> Date: Fri, 20 Jun 2025 15:17:44 -0400 Subject: [PATCH 006/274] Update rbus to v2.5.0 (#128) Update rbus to v2.5.0 --- recipes-common/rbus/rbus.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rbus/rbus.bb b/recipes-common/rbus/rbus.bb index 17113806e..6c647a7e3 100644 --- a/recipes-common/rbus/rbus.bb +++ b/recipes-common/rbus/rbus.bb @@ -6,10 +6,10 @@ 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 = "ed30640c74511681e8d2cc3566b46dfb28de8323" +SRCREV = "ce10ff2246632f232aa91d6723cfae123972ebe1" SRCREV_FORMAT = "base" -PV ?= "2.3.0" +PV ?= "2.5.0" PR ?= "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From 7e6df9f6bbe6ee27ea9ae104f3d9ae4ba2f9c6ca Mon Sep 17 00:00:00 2001 From: tabbas651 <74683978+tabbas651@users.noreply.github.com> Date: Fri, 20 Jun 2025 16:49:02 -0400 Subject: [PATCH 007/274] RDKEMW-2278: Removal of WPEFrameworkSecurity Agent Utility (#122) Reason for change: Added the new Distro for removing the WPEFrameworSecurityUtility & its library Test Procedure: please referred from the ticket Risks: Medium Signed-off-by: Thamim Razith ThamimRazith_AbbasAli@comcast.com Signed-off-by: Thamim Razith ThamimRazith_AbbasAli@comcast.com --- conf/distro/include/rdkv.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conf/distro/include/rdkv.inc b/conf/distro/include/rdkv.inc index 45ae61fdd..af18e2e4c 100644 --- a/conf/distro/include/rdkv.inc +++ b/conf/distro/include/rdkv.inc @@ -138,3 +138,6 @@ include conf/distro/include/rdkv-cpc.inc # Distro feature for NetworkManager DISTRO_FEATURES:append = " ENABLE_NETWORKMANAGER" + +#Distro feature for WPEFramework SecurityUtility Disable +DISTRO_FEATURES:append = " wpe_security_util_disable" From 4e7d04497945147dd5383fe9e8864a74c67f6561 Mon Sep 17 00:00:00 2001 From: rdkcmf Date: Tue, 24 Jun 2025 14:57:36 +0100 Subject: [PATCH 008/274] Deploy cla action --- .github/workflows/cla.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/workflows/cla.yml diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml new file mode 100644 index 000000000..055047932 --- /dev/null +++ b/.github/workflows/cla.yml @@ -0,0 +1,13 @@ +name: "CLA" +on: + issue_comment: + types: [created] + pull_request_target: + types: [opened,closed,synchronize] + +jobs: + CLA-Lite: + name: "Signature" + uses: rdkcentral/cmf-actions/.github/workflows/cla.yml@main + secrets: + PERSONAL_ACCESS_TOKEN: ${{ secrets.CLA_ASSISTANT }} \ No newline at end of file From f57cf6f108dc62b967cc026de9f4ce7c653d873c Mon Sep 17 00:00:00 2001 From: Deepthi C Shetty <115452109+dshett549@users.noreply.github.com> Date: Thu, 26 Jun 2025 15:45:28 +0530 Subject: [PATCH 009/274] RDKEMW-5066: Install RBUS Test binaries only when RBUS_ENABLE_TEST_APPS distro enabled (#130) * RDKEMW-5066: Install RBUS Test binaries only when RBUS_ENABLE_TEST_APPS distro enabled Reason for change: Avoiding uneccessary files Test Procedure: Test and verified Risks: Medium Priority: P1 Signed-off-by: dshett549 * Addressed review comments Signed-off-by: dshett549 * Update rdkb.inc Signed-off-by: dshett549 * Update rbus.bb * Update rbus.bb * Removed gtest patch Signed-off-by: dshett549 * Added gtest patch Signed-off-by: dshett549 --------- Signed-off-by: dshett549 Co-authored-by: Karunakaran A <48997923+karuna2git@users.noreply.github.com> --- recipes-common/rbus/rbus.bb | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/recipes-common/rbus/rbus.bb b/recipes-common/rbus/rbus.bb index 6c647a7e3..561841fc1 100644 --- a/recipes-common/rbus/rbus.bb +++ b/recipes-common/rbus/rbus.bb @@ -10,7 +10,7 @@ SRCREV = "ce10ff2246632f232aa91d6723cfae123972ebe1" SRCREV_FORMAT = "base" PV ?= "2.5.0" -PR ?= "r0" +PR ?= "r1" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -32,11 +32,9 @@ 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)}" -EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', '-DBUILD_RBUS_BENCHMARK_TEST=ON -DBUILD_RBUS_UNIT_TEST=ON -DBUILD_RBUS_SAMPLE_APPS=ON', '', d)}" -DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', ' gtest benchmark ', ' ', d)}" - -#Avoid install RBus test binariesAdd commentMore actions -EXTRA_OECMAKE += " ${@bb.utils.contains_any('DISTRO_FEATURES', 'prod-variant prodlog-variant', '-DBUILD_RBUS_SAMPLE_APPS=OFF -DBUILD_RBUS_TEST_APPS=OFF', '', 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)}" #Dunfell Specific CFlags CFLAGS:append = " -Wno-format-truncation " From 5c6c9f7b49478a0feb8dd6efd187f6b7eeacaf8a Mon Sep 17 00:00:00 2001 From: Andrzej Surdej Date: Fri, 27 Jun 2025 21:51:01 +0200 Subject: [PATCH 010/274] 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 011/274] 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 012/274] 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 013/274] 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 014/274] 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 015/274] 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 016/274] 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 From 823cbc0dee1daacb2a5760dec9e46bb679ba9a4d Mon Sep 17 00:00:00 2001 From: sindhu-krishnan <102755514+sindhu-krishnan@users.noreply.github.com> Date: Mon, 21 Jul 2025 13:53:28 +0530 Subject: [PATCH 017/274] RDK-57964 : Integrate Telemetry T2 for systimemgr (#156) --- recipes-common/systimemgr/systimemgr_git.bb | 3 ++- recipes-common/systimemgr/systimemgrfactory_git.bb | 5 ++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes-common/systimemgr/systimemgr_git.bb b/recipes-common/systimemgr/systimemgr_git.bb index c7bd53073..63fe8e8d8 100755 --- a/recipes-common/systimemgr/systimemgr_git.bb +++ b/recipes-common/systimemgr/systimemgr_git.bb @@ -5,7 +5,7 @@ DESCRIPTION = "Timer , publishing and subscription interfaces." LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" -DEPENDS = "systimemgrinetrface systimemgrfactory rdk-logger libsyswrapper wpeframework-clientlibraries" +DEPENDS = "systimemgrinetrface systimemgrfactory rdk-logger libsyswrapper wpeframework-clientlibraries telemetry" SRC_URI = "${CMF_GITHUB_ROOT}/systemtimemgr;${CMF_GITHUB_SRC_URI_SUFFIX};name=systemtimemgr" @@ -30,6 +30,7 @@ SYSLOG-NG_LOGRATE_systimemgr = "low" RDEPENDS:${PN} += "systimemgrfactory" +EXTRA_OECONF = "--enable-t2api=yes" do_install:append() { install -d ${D}${systemd_unitdir}/system install -d ${D}${systemd_unitdir}/system/systimemgr.service.d diff --git a/recipes-common/systimemgr/systimemgrfactory_git.bb b/recipes-common/systimemgr/systimemgrfactory_git.bb index be7e93116..8232ed8fc 100755 --- a/recipes-common/systimemgr/systimemgrfactory_git.bb +++ b/recipes-common/systimemgr/systimemgrfactory_git.bb @@ -5,7 +5,7 @@ DESCRIPTION = "Timer , publishing and subscription interfaces." LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" -DEPENDS = "systimemgrinetrface iarmbus jsonrpc virtual/mfrlib rdk-logger" +DEPENDS = "systimemgrinetrface iarmbus jsonrpc virtual/mfrlib rdk-logger telemetry" SRC_URI = "${CMF_GITHUB_ROOT}/systemtimemgr;${CMF_GITHUB_SRC_URI_SUFFIX};name=systemtimemgrfactory" @@ -31,5 +31,4 @@ inherit autotools pkgconfig RDEPENDS:${PN} += " jsonrpc curl jsoncpp " DEPENDS += " iarmmgrs wpeframework wpeframework-clientlibraries" -EXTRA_OECONF:append = " --enable-wpevgdrm --enable-dtt " - +EXTRA_OECONF:append = " --enable-wpevgdrm --enable-dtt --enable-t2api=yes" From b605234cbbcdda8ad20caf3d0ab8419a6c108291 Mon Sep 17 00:00:00 2001 From: gururaajar <83449026+gururaajar@users.noreply.github.com> Date: Tue, 29 Jul 2025 17:27:50 -0400 Subject: [PATCH 018/274] RDKEMW-6474 : Update the rbus branch (#183) Reason for change: Update the rbus branch Test Procedure: Verify Sanity Risks: Medium Signed-off-by: Gururaaja E S R --- recipes-common/rbus/rbus.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-common/rbus/rbus.bb b/recipes-common/rbus/rbus.bb index b0386fc06..9aa01bbe0 100644 --- a/recipes-common/rbus/rbus.bb +++ b/recipes-common/rbus/rbus.bb @@ -3,13 +3,13 @@ SUMMARY = "rbus library component" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=ed63516ecab9f06e324238dd2b259549" -SRC_URI = "git://github.com/rdkcentral/rbus.git;branch=release" +SRC_URI = "git://github.com/rdkcentral/rbus.git;branch=develop" -SRCREV = "b193ae44c976fe8dd31d48a91f45ac7791a292f0" +SRCREV = "8bd2bd90ab69f8933220d966a04ddfc657d8fd08" SRCREV_FORMAT = "base" PV ?= "2.6.0" -PR ?= "r0" +PR ?= "r7" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From 01c3e34ffb30be25c47ee63e134fdf64538a94af Mon Sep 17 00:00:00 2001 From: Sherin Jasper Sudhaker Vincent <46519106+sherinjasper1506@users.noreply.github.com> Date: Wed, 30 Jul 2025 10:35:02 +0530 Subject: [PATCH 019/274] Update rdkcertconfig.bb (#123) --- recipes-common/lib_syscall_wrapper/libsyswrapper.bb | 2 ++ recipes-common/rdk-cert-config/rdkcertconfig.bb | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes-common/lib_syscall_wrapper/libsyswrapper.bb b/recipes-common/lib_syscall_wrapper/libsyswrapper.bb index b13e6ca1c..818923519 100644 --- a/recipes-common/lib_syscall_wrapper/libsyswrapper.bb +++ b/recipes-common/lib_syscall_wrapper/libsyswrapper.bb @@ -7,6 +7,8 @@ S = "${WORKDIR}/git" DEPENDS += "rdk-logger" SRC_URI = "${CMF_GITHUB_ROOT}/libSyscallWrapper;${CMF_GITHUB_SRC_URI_SUFFIX};name=libsyswrapper" EXTRA_OECONF += "--enable-testapp" +CFLAGS:append = " -Wall -Werror" +CXXFLAGS:append = " -Wall -Werror" DEBIAN_NOAUTONAME:${PN} = "1" diff --git a/recipes-common/rdk-cert-config/rdkcertconfig.bb b/recipes-common/rdk-cert-config/rdkcertconfig.bb index 0f31c473a..ce538f945 100644 --- a/recipes-common/rdk-cert-config/rdkcertconfig.bb +++ b/recipes-common/rdk-cert-config/rdkcertconfig.bb @@ -14,7 +14,9 @@ SRC_URI = "${CMF_GITHUB_ROOT}/rdk-cert-config;${CMF_GITHUB_SRC_URI_SUFFIX}" S = "${WORKDIR}/git" B = "${WORKDIR}/git" -CFLAGS:append = " -DCONFIG_ERROR_ENABLED " +CFLAGS:append = " -DCONFIG_ERROR_ENABLED -Wall -Werror" +CXXFLAGS:append = " -Wall -Werror" + inherit autotools pkgconfig coverity TARGET_CC_ARCH += "${LDFLAGS}" From fa9f38a8af9d731590c3a7e57a9636793f4fa27c Mon Sep 17 00:00:00 2001 From: Adrian Muzyka Date: Sat, 2 Aug 2025 18:43:54 +0200 Subject: [PATCH 020/274] RDKEMW-6672: Memcr ver from 22.07.2025, checksum enabled Reason for change: Lates memcr with improved error logging and error handling Test Procedure: As mentioned in the ticket Risks: Medium --- ...-to-set-dump-dir-and-compression-per.patch | 571 +++++++++ ...pression-and-option-to-set-dump-dir-.patch | 1118 ----------------- recipes-extended/memcr/files/memcr.service | 2 +- recipes-extended/memcr/memcr_git.bb | 10 +- 4 files changed, 577 insertions(+), 1124 deletions(-) create mode 100644 recipes-extended/memcr/files/0001-RDK-47153-Option-to-set-dump-dir-and-compression-per.patch delete mode 100644 recipes-extended/memcr/files/0001-RDK-47153-Support-zstd-compression-and-option-to-set-dump-dir-.patch diff --git a/recipes-extended/memcr/files/0001-RDK-47153-Option-to-set-dump-dir-and-compression-per.patch b/recipes-extended/memcr/files/0001-RDK-47153-Option-to-set-dump-dir-and-compression-per.patch new file mode 100644 index 000000000..799c0f519 --- /dev/null +++ b/recipes-extended/memcr/files/0001-RDK-47153-Option-to-set-dump-dir-and-compression-per.patch @@ -0,0 +1,571 @@ +From 4f95172d70777357a4b90dd356372ae36be3cb07 Mon Sep 17 00:00:00 2001 +From: Adrian Muzyka +Date: Wed, 30 Jul 2025 08:26:52 +0200 +Subject: [PATCH] RDK-47153: Option to set dump dir and compression per PID + +--- + memcr.c | 309 +++++++++++++++++++++++++++++++++++++++++--- + memcrclient_proto.h | 23 +++- + 2 files changed, 312 insertions(+), 20 deletions(-) + +diff --git a/memcr.c b/memcr.c +index 264ffa3..c12ef3c 100644 +--- a/memcr.c ++++ b/memcr.c +@@ -118,7 +118,15 @@ struct vm_area { + unsigned long flags; + }; + +-static char *dump_dir; ++struct dump_dir_list { ++ char *dir; ++ struct dump_dir_list *next; ++}; ++ ++#define MEMCR_DUMPDIR_DEFAULT "/tmp" ++ ++static struct dump_dir_list *allowed_dump_dirs; ++static char *dfl_dump_dir = MEMCR_DUMPDIR_DEFAULT; + static char *parasite_socket_dir; + static int parasite_socket_gid = -1; + static int parasite_socket_use_netns; +@@ -150,6 +158,7 @@ static pid_t tids[MAX_THREADS]; + static int nr_threads; + + #define SERVICE_MODE_SELECT_TIMEOUT_MS 100 ++#define SERVICE_MODE_SOCKET_TIMEOUT_MS 1000 + + #define MAX_VMAS (3*4096) + static struct vm_area vmas[MAX_VMAS]; +@@ -206,6 +215,7 @@ static struct { + int state; + int checkpoint_abort; + int checkpoint_cmd_sd; ++ struct service_options options; + } checkpoint_service_data[CHECKPOINTED_PIDS_LIMIT]; + + #define SOCKET_INVALID (-1) +@@ -430,7 +440,7 @@ static void parasite_socket_init(struct sockaddr_un *addr, pid_t pid) + } + } + +-static void cleanup_pid(pid_t pid) ++static void cleanup_pid(pid_t pid, const char* dump_dir) + { + char path[PATH_MAX]; + +@@ -826,7 +836,15 @@ static int dump_write(int fd, const void *buf, size_t count) + return ret; + } + +-static void init_pid_checkpoint_data(pid_t pid) ++static void clear_checkpoint_options(struct service_options *options) ++{ ++ options->is_dump_dir = FALSE; ++ options->dump_dir[0] = 0; ++ options->is_compress_alg = FALSE; ++ options->compress_alg = MEMCR_COMPRESS_NONE; ++} ++ ++static void init_pid_checkpoint_data(pid_t pid, struct service_options *options) + { + pthread_mutex_lock(&checkpoint_service_data_lock); + for (int i=0; iis_dump_dir; ++ strncpy(checkpoint_service_data[i].options.dump_dir, options->dump_dir, ++ MEMCR_DUMPDIR_LEN_MAX); ++ checkpoint_service_data[i].options.is_compress_alg = options->is_compress_alg; ++ checkpoint_service_data[i].options.compress_alg = options->compress_alg; ++ } else { ++ clear_checkpoint_options(&checkpoint_service_data[i].options); ++ } + pthread_mutex_unlock(&checkpoint_service_data_lock); + return; + } +@@ -851,11 +878,14 @@ static void cleanup_checkpointed_pids(void) + if (checkpoint_service_data[i].pid != PID_INVALID) { + fprintf(stdout, "[i] Killing PID %d\n", checkpoint_service_data[i].pid); + kill(checkpoint_service_data[i].pid, SIGKILL); +- cleanup_pid(checkpoint_service_data[i].pid); ++ const char *dir = checkpoint_service_data[i].options.is_dump_dir ? ++ checkpoint_service_data[i].options.dump_dir : dfl_dump_dir; ++ cleanup_pid(checkpoint_service_data[i].pid, dir); + checkpoint_service_data[i].pid = PID_INVALID; + checkpoint_service_data[i].worker = PID_INVALID; + checkpoint_service_data[i].state = STATE_RESTORED; + checkpoint_service_data[i].checkpoint_cmd_sd = SOCKET_INVALID; ++ clear_checkpoint_options(&checkpoint_service_data[i].options); + } + } + pthread_mutex_unlock(&checkpoint_service_data_lock); +@@ -918,6 +948,7 @@ static void clear_pid_checkpoint_data(pid_t pid) + checkpoint_service_data[i].worker = PID_INVALID; + checkpoint_service_data[i].checkpoint_cmd_sd = SOCKET_INVALID; + checkpoint_service_data[i].state = STATE_RESTORED; ++ clear_checkpoint_options(&checkpoint_service_data[i].options); + } + } + pthread_mutex_unlock(&checkpoint_service_data_lock); +@@ -929,11 +960,14 @@ static void clear_pid_on_worker_exit_non_blocking(pid_t worker) + if (checkpoint_service_data[i].worker == worker) { + fprintf(stdout, "[+] Clearing pid: %d with worker: %d on worker exit ...\n", + checkpoint_service_data[i].pid, worker); +- cleanup_pid(checkpoint_service_data[i].pid); ++ const char *dir = checkpoint_service_data[i].options.is_dump_dir ? ++ checkpoint_service_data[i].options.dump_dir : dfl_dump_dir; ++ cleanup_pid(checkpoint_service_data[i].pid, dir); + checkpoint_service_data[i].pid = PID_INVALID; + checkpoint_service_data[i].worker = PID_INVALID; + checkpoint_service_data[i].checkpoint_cmd_sd = SOCKET_INVALID; + checkpoint_service_data[i].state = STATE_RESTORED; ++ clear_checkpoint_options(&checkpoint_service_data[i].options); + } + } + } +@@ -1629,7 +1663,7 @@ static int get_target_pages(int pid, struct vm_area vmas[], int nr_vmas) + if (pd < 0) + fprintf(stdout, "[i] /proc/pagemap open failed %m, using remote access\n"); + +- snprintf(path, sizeof(path), "%s/pages-%d.img", dump_dir, pid); ++ snprintf(path, sizeof(path), "%s/pages-%d.img", dfl_dump_dir, pid); + + fd = dump_open(path, O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR); + if (fd < 0) { +@@ -1748,7 +1782,7 @@ static int target_set_pages(pid_t pid) + int cd = -1; + int fd = -1; + +- snprintf(path, sizeof(path), "%s/pages-%d.img", dump_dir, pid); ++ snprintf(path, sizeof(path), "%s/pages-%d.img", dfl_dump_dir, pid); + + fd = dump_open(path, O_RDONLY, 0); + if (fd < 0) { +@@ -1870,7 +1904,7 @@ static int cmd_checkpoint(pid_t pid) + } + + fprintf(stdout, "[i] download took %lu ms\n", diff_ms(&ts)); +- fprintf(stdout, "[i] stored at %s/pages-%d.img\n", dump_dir, pid); ++ fprintf(stdout, "[i] stored at %s/pages-%d.img\n", dfl_dump_dir, pid); + + get_target_rss(pid, &vms_b); + +@@ -2361,6 +2395,104 @@ static void sigpipe_handler(int sig, siginfo_t *sip, void *notused) + fprintf(stdout, "[!] program received SIGPIPE from %d.\n", sip->si_pid); + } + ++static void set_dump_dirs(const char *dirs) ++{ ++ char real_dir[PATH_MAX]; ++ ++ //clear current allowed dirs ++ while (allowed_dump_dirs) { ++ if (allowed_dump_dirs->dir) ++ free(allowed_dump_dirs->dir); ++ ++ struct dump_dir_list *curr = allowed_dump_dirs; ++ allowed_dump_dirs = allowed_dump_dirs->next; ++ free(curr); ++ } ++ ++ if (dirs == NULL) { ++ fprintf(stderr, "[!] %s(): Error dump dir cannot be empty!\n", __func__); ++ exit(EXIT_FAILURE); ++ } ++ ++ // Create a mutable copy of dirs ++ char *dirs_copy = strdup(dirs); ++ if (!dirs_copy) { ++ fprintf(stderr, "[!] %s(): Memory allocation error!\n", __func__); ++ exit(EXIT_FAILURE); ++ } ++ ++ struct dump_dir_list *dump_dir_iter = NULL; ++ char *dir = strtok(dirs_copy, ";"); ++ while (dir) { ++ if (realpath(dir, real_dir)) { ++ struct dump_dir_list *new_dump_dir = malloc(sizeof(struct dump_dir_list)); ++ if (!new_dump_dir) { ++ fprintf(stderr, "[!] %s(): Memory allocation error!\n", __func__); ++ exit(EXIT_FAILURE); ++ } ++ ++ new_dump_dir->dir = strdup(real_dir); ++ if (!new_dump_dir->dir) { ++ fprintf(stderr, "[!] %s(): Memory allocation error!\n", __func__); ++ exit(EXIT_FAILURE); ++ } ++ fprintf(stdout, "[+] Allowed dump directory: %s\n", new_dump_dir->dir); ++ ++ new_dump_dir->next = NULL; ++ ++ if (!allowed_dump_dirs) { ++ allowed_dump_dirs = new_dump_dir; ++ dump_dir_iter = allowed_dump_dirs; ++ } else { ++ dump_dir_iter->next = new_dump_dir; ++ dump_dir_iter = dump_dir_iter->next; ++ } ++ ++ } else { ++ fprintf(stderr, "[!] %s(): Unable to resolve allowed directory: %s\n", __func__, dir); ++ exit(EXIT_FAILURE); ++ } ++ ++ dir = strtok(NULL, ";"); ++ } ++ ++ free(dirs_copy); ++ ++ if (!allowed_dump_dirs) { ++ fprintf(stderr, "[!] %s(): No allowed dump directories!\n", __func__); ++ exit(EXIT_FAILURE); ++ } ++ ++ // Default dump dir is the first allowed one ++ dfl_dump_dir = allowed_dump_dirs->dir; ++ fprintf(stdout, "[+] %s(): Allowed dump directories set.\n", __func__); ++} ++ ++ ++static int is_dump_dir_path_allowed(const char *dump_dir_path) { ++ char real_dir_path[PATH_MAX]; ++ ++ // Resolve the real path ++ if (!realpath(dump_dir_path, real_dir_path)) { ++ fprintf(stderr, "[-] %s(): Unable to resolve dump dir path: %s\n", __func__, dump_dir_path); ++ return 0; ++ } ++ ++ fprintf(stdout, "[+] %s(): Real dir path to check: %s\n", __func__, real_dir_path); ++ ++ // iterate over allowed dump dirs and do an exact match ++ struct dump_dir_list *curr = allowed_dump_dirs; ++ while (curr) { ++ if (strcmp(real_dir_path, curr->dir) == 0) { ++ return 1; ++ } ++ curr = curr->next; ++ } ++ ++ fprintf(stderr, "[-] %s(): Dump dir path is not allowed: %s\n", __func__, dump_dir_path); ++ return 0; ++} ++ + static int read_command(int cd, struct service_command *svc_cmd) + { + int ret; +@@ -2374,6 +2506,124 @@ static int read_command(int cd, struct service_command *svc_cmd) + return ret; + } + ++static int read_command_v2(int cd, struct service_command *svc_cmd, struct service_options *options, size_t len) ++{ ++ /* There must be at least service_command that can be followed by service_checkpoint_options */ ++ if (len < sizeof(struct service_command)) { ++ fprintf(stderr, "[-] %s(): cmds len to short: %d\n", __func__, (unsigned int)len); ++ return -1; ++ } ++ ++ int ret = read_command(cd, svc_cmd); ++ if (ret < 0) { ++ fprintf(stderr, "%s(): Error reading a command!\n", __func__); ++ return ret; ++ } ++ ++ len -= sizeof(struct service_command); ++ ++ switch (svc_cmd->cmd) { ++ case MEMCR_CHECKPOINT: { ++ fprintf(stdout, "[+] read MEMCR_CHECKPOINT for %d\n", svc_cmd->pid); ++ /* try to read checkpoint options */ ++ memcr_svc_checkpoint_options option; ++ while (len >= sizeof(option) && _read(cd, &option, sizeof(option)) > 0 ) { ++ len -= sizeof(option); ++ ++ switch (option) { ++ case MEMCR_CHECKPOINT_DUMPDIR: { ++ /* read string till NULL */ ++ unsigned int pos = 0; ++ while (len-- > 0 && (_read(cd, &options->dump_dir[pos], sizeof(char)) == sizeof(char)) && ++ (options->dump_dir[pos] != 0) && (++pos < MEMCR_DUMPDIR_LEN_MAX)); ++ ++ if (pos >= MEMCR_DUMPDIR_LEN_MAX || options->dump_dir[pos] != 0) { ++ fprintf(stderr, "[-] %s(): dump dir path too long or not terminated with NULL\n", __func__); ++ return -1; ++ } ++ ++ if (is_dump_dir_path_allowed(options->dump_dir)) { ++ options->is_dump_dir = TRUE; ++ fprintf(stdout, "[+] read dump dir path for this checkpoint: %s\n", options->dump_dir); ++ } else { ++ fprintf(stderr, "[i] dump dir path incorrect, using default\n"); ++ } ++ break; ++ } ++ case MEMCR_CHECKPOINT_COMPRESS_ALG: ++ { ++ if (len < sizeof(options->compress_alg) || ++ _read(cd, &options->compress_alg, sizeof(options->compress_alg)) != sizeof(options->compress_alg)) { ++ fprintf(stderr, "[-] %s(): compression algorithm invalid\n", __func__); ++ return -1; ++ } ++ ++ len -= sizeof(options->compress_alg); ++ ++ if (options->compress_alg != MEMCR_COMPRESS_NONE ++ && options->compress_alg != MEMCR_COMPRESS_LZ4 ++ && options->compress_alg != MEMCR_COMPRESS_ZSTD ++ ) { ++ /* skip if not support */ ++ fprintf(stderr, "[-] %s(): compression algorithm not supported: %d\n", __func__, options->compress_alg); ++ break; ++ } ++ ++ options->is_compress_alg = TRUE; ++ const char *caToS[] = { ++ [MEMCR_COMPRESS_NONE] = "none", ++ [MEMCR_COMPRESS_LZ4] = "lz4", ++ [MEMCR_COMPRESS_ZSTD] = "zstd"}; ++ fprintf(stdout, "[+] read compress alg for this checkpoint: %s\n", caToS[options->compress_alg]); ++ break; ++ } ++ default: ++ fprintf(stderr, "[-] %s(): checkpoint option invalid: %d\n", __func__, option); ++ } ++ } ++ break; ++ } ++ case MEMCR_RESTORE: { ++ /* nothing more to read for RESTORE*/ ++ fprintf(stdout, "[+] read MEMCR_RESTORE for %d\n", svc_cmd->pid); ++ break; ++ } ++ default: ++ fprintf(stderr, "%s(): Error command not expected or invalid: %d!\n", __func__, svc_cmd->cmd); ++ return -1; ++ } ++ ++ return 0; ++} ++ ++static void set_checkpoint_options_dfl(pid_t pid) ++{ ++ for (int i=0; isvc_cmd.cmd) +@@ -2798,7 +3049,7 @@ static void service_command(struct service_command_ctx *svc_ctx) + break; + } + +- init_pid_checkpoint_data(svc_ctx->svc_cmd.pid); ++ init_pid_checkpoint_data(svc_ctx->svc_cmd.pid, checkpoint_options); + ret = service_cmds_push_back(svc_ctx); + if (!ret) + fprintf(stdout, "[+] Checkpoint request scheduled...\n"); +@@ -2851,6 +3102,7 @@ static int service_mode(const char *listen_location, const int gid) + struct timeval tv; + int errsv; + pthread_t svc_cmd_thread_id; ++ struct service_options checkpoint_options; + + if (listen_port > 0) + csd = setup_listen_tcp_socket(listen_port); +@@ -2891,6 +3143,13 @@ static int service_mode(const char *listen_location, const int gid) + cd = accept(csd, NULL, NULL); + if (cd >= 0) { + struct service_command_ctx svc_ctx = { .cd = cd }; ++ // set rcv timeout for the socket ++ struct timeval rcv_timeout = { ++ .tv_sec = SERVICE_MODE_SOCKET_TIMEOUT_MS/1000, ++ .tv_usec = (SERVICE_MODE_SELECT_TIMEOUT_MS%1000)*1000 ++ }; ++ setsockopt(cd, SOL_SOCKET, SO_RCVTIMEO, &rcv_timeout, sizeof(rcv_timeout)); ++ + ret = read_command(cd, &svc_ctx.svc_cmd); + if (ret < 0) { + fprintf(stderr, "%s(): Error reading a command!\n", __func__); +@@ -2898,7 +3157,19 @@ static int service_mode(const char *listen_location, const int gid) + continue; + } + +- service_command(&svc_ctx); ++ clear_checkpoint_options(&checkpoint_options); ++ ++ if (svc_ctx.svc_cmd.cmd == MEMCR_CMDS_V2) { ++ size_t cmds_len = svc_ctx.svc_cmd.pid; ++ ret = read_command_v2(cd, &svc_ctx.svc_cmd, &checkpoint_options, cmds_len); ++ if (ret < 0) { ++ fprintf(stderr, "%s(): Error reading a command!\n", __func__); ++ close(cd); ++ continue; ++ } ++ } ++ ++ service_command(&svc_ctx, &checkpoint_options); + continue; + } + +@@ -2968,7 +3239,7 @@ out: + } + + unseize_target(); +- cleanup_pid(pid); ++ cleanup_pid(pid, dfl_dump_dir); + + return ret; + } +@@ -2993,7 +3264,7 @@ static void usage(const char *name, int status) + "options:\n" \ + " -h --help help\n" \ + " -p --pid target process pid\n" \ +- " -d --dir dir where memory dump is stored (defaults to /tmp)\n" \ ++ " -d --dir dir/dirs where memory dump can be stored (defaults to /tmp. Separated by ';')\n" \ + " -S --parasite-socket-dir dir where socket to communicate with parasite is created\n" \ + " (abstract socket will be used if no path specified)\n" \ + " -G --parasite-socket-gid group ID for parasite UNIX domain socket file, valid only for if --parasite-socket-dir provided\n" \ +@@ -3059,7 +3330,7 @@ int main(int argc, char *argv[]) + { NULL, 0, NULL, 0 } + }; + +- dump_dir = "/tmp"; ++ set_dump_dirs(MEMCR_DUMPDIR_DEFAULT); + parasite_socket_dir = NULL; + parasite_socket_use_netns = 0; + +@@ -3072,7 +3343,7 @@ int main(int argc, char *argv[]) + pid = atoi(optarg); + break; + case 'd': +- dump_dir = optarg; ++ set_dump_dirs(optarg); + break; + case 'S': + parasite_socket_dir = optarg; +diff --git a/memcrclient_proto.h b/memcrclient_proto.h +index f9dee66..8641834 100644 +--- a/memcrclient_proto.h ++++ b/memcrclient_proto.h +@@ -21,9 +21,23 @@ + + typedef enum { + MEMCR_CHECKPOINT = 100, +- MEMCR_RESTORE ++ MEMCR_RESTORE, ++ MEMCR_CMDS_V2 + } memcr_svc_cmd; + ++typedef enum { ++ MEMCR_CHECKPOINT_DUMPDIR = 200, ++ MEMCR_CHECKPOINT_COMPRESS_ALG, ++} memcr_svc_checkpoint_options; ++ ++#define MEMCR_DUMPDIR_LEN_MAX 1024 ++ ++typedef enum { ++ MEMCR_COMPRESS_NONE = 0, ++ MEMCR_COMPRESS_LZ4, ++ MEMCR_COMPRESS_ZSTD ++} memcr_compress_alg; ++ + struct service_command { + memcr_svc_cmd cmd; + pid_t pid; +@@ -39,4 +53,11 @@ struct service_response { + memcr_svc_response resp_code; + } __attribute__((packed)); + ++struct service_options { ++ int is_dump_dir; ++ char dump_dir[MEMCR_DUMPDIR_LEN_MAX]; ++ int is_compress_alg; ++ memcr_compress_alg compress_alg; ++}; ++ + #endif /* __MEMCR_CLIENT_PROTO_H__ */ +-- +2.43.0 + diff --git a/recipes-extended/memcr/files/0001-RDK-47153-Support-zstd-compression-and-option-to-set-dump-dir-.patch b/recipes-extended/memcr/files/0001-RDK-47153-Support-zstd-compression-and-option-to-set-dump-dir-.patch deleted file mode 100644 index da72ccb43..000000000 --- a/recipes-extended/memcr/files/0001-RDK-47153-Support-zstd-compression-and-option-to-set-dump-dir-.patch +++ /dev/null @@ -1,1118 +0,0 @@ -From e55a011bf2a2c2c2fc52fe708bd4947ffe7a1096 Mon Sep 17 00:00:00 2001 -From: Adrian Muzyka -Date: Wed, 15 Jan 2025 11:32:19 +0000 -Subject: [PATCH] Support zstd compression and option to set dump dir and - compression per PID - ---- - Makefile | 5 + - README.md | 5 +- - memcr-client.c | 171 ++++++++++++++++--- - memcr.c | 446 +++++++++++++++++++++++++++++++++++++++++++------ - memcr.h | 23 ++- - 5 files changed, 573 insertions(+), 77 deletions(-) - -diff --git a/Makefile b/Makefile -index 3543ad8..eb5894e 100644 ---- a/Makefile -+++ b/Makefile -@@ -38,6 +38,11 @@ ifeq ($(COMPRESS_LZ4), 1) - LDFLAGS += -llz4 - endif - -+ifeq ($(COMPRESS_ZSTD), 1) -+ MCFLAGS += -DCOMPRESS_ZSTD -+ LDFLAGS += -lzstd -+endif -+ - ifeq ($(CHECKSUM_MD5), 1) - MCFLAGS += -DCHECKSUM_MD5 - LDFLAGS += -lcrypto -diff --git a/README.md b/README.md -index 8cac5f1..8c6dbfc 100644 ---- a/README.md -+++ b/README.md -@@ -18,6 +18,7 @@ make - ##### compilation options - You can enable support for compression and checksumming of memory dump file: - - `COMPRESS_LZ4=1` - requires liblz4 -+ - `COMPRESS_ZSTD=1` - requires libzstd - - `CHECKSUM_MD5=1` - requires libcrypto and openssl headers - - There is also `ENCRYPT` option for building `libencrypt.so` that provides sample implementation of encryption layer based on libcrypto API. memcr is not linked with libencrypt.so, but it can be preloaded with `LD_PRELOAD`. -@@ -56,7 +57,7 @@ memcr [-h] [-p PID] [-d DIR] [-S DIR] [-l PORT|PATH] [-n] [-m] [-f] [-z] [-c] [- - options: - -h --help help - -p --pid target process pid -- -d --dir dir where memory dump is stored (defaults to /tmp) -+ -d --dir dir/dirs where memory dump can be stored (defaults to /tmp. Separated by ';') - -S --parasite-socket-dir dir where socket to communicate with parasite is created - (abstract socket will be used if no path specified) - -N --parasite-socket-netns use network namespace of parasite when connecting to socket -@@ -67,7 +68,7 @@ options: - -n --no-wait no wait for key press - -m --proc-mem get pages from /proc/pid/mem - -f --rss-file include file mapped memory -- -z --compress compress memory dump -+ -z --compress compress memory dump with alg: lz4 or zstd - -c --checksum enable md5 checksum for memory dump - -e --encrypt enable encryption of memory dump - -t --timeout timeout in seconds for checkpoint/restore execution in service mode -diff --git a/memcr-client.c b/memcr-client.c -index 3fccbc1..0bc0bb1 100644 ---- a/memcr-client.c -+++ b/memcr-client.c -@@ -24,9 +24,13 @@ - #include - #include - #include -+#include - - #include "memcr.h" - -+#define CMD_LEN_MAX (sizeof(struct service_command) + (2*sizeof(memcr_svc_checkpoint_options)) \ -+ + MEMCR_DUMPDIR_LEN_MAX + sizeof(memcr_compress_alg)) -+ - static int xconnect(struct sockaddr *addr, socklen_t addrlen) - { - int cd, ret; -@@ -74,8 +78,61 @@ static int send_cmd(int cd, struct service_command cmd) - int ret; - struct service_response resp = {0}; - -- ret = write(cd, &cmd, sizeof(struct service_command)); -- if (ret != sizeof(struct service_command)) { -+ret = write(cd, &cmd, sizeof(cmd)); -+ if (ret != sizeof(cmd)) { -+ fprintf(stderr, "%s() write request failed: ret %d, errno %m\n", __func__, ret); -+ return -1; -+ } -+ -+ ret = read(cd, &resp, sizeof(struct service_response)); -+ if (ret != sizeof(struct service_response)) { -+ fprintf(stderr, "%s() read response failed: ret %d, errno %m\n", __func__, ret); -+ return -1; -+ } -+ -+ fprintf(stdout, "Procedure finished with %s status.\n", MEMCR_OK == resp.resp_code ? "OK" : "ERROR"); -+ -+ return resp.resp_code; -+} -+ -+static int send_cmd_v2(int cd, memcr_svc_cmd cmd, pid_t pid, const struct service_options *opt) -+{ -+ int ret; -+ struct service_response resp = {0}; -+ -+ size_t cmd_size = 0; -+ unsigned char cmd_buf[CMD_LEN_MAX]; -+ -+ struct service_command cmd_cr = {.cmd = cmd, .pid = pid}; -+ memcpy(cmd_buf, &cmd_cr, sizeof(struct service_command)); -+ cmd_size += sizeof(struct service_command); -+ -+ if (opt && opt->is_dump_dir) { -+ memcr_svc_checkpoint_options opt_id = MEMCR_CHECKPOINT_DUMPDIR; -+ memcpy(cmd_buf+cmd_size, &opt_id, sizeof(memcr_svc_checkpoint_options)); -+ cmd_size += sizeof(memcr_svc_checkpoint_options); -+ strncpy((char*)cmd_buf + cmd_size, opt->dump_dir, MEMCR_DUMPDIR_LEN_MAX); -+ cmd_size += strlen(opt->dump_dir) + 1; -+ } -+ -+ if (opt && opt->is_compress_alg) { -+ memcr_svc_checkpoint_options opt_id = MEMCR_CHECKPOINT_COMPRESS_ALG; -+ memcpy(cmd_buf+cmd_size, &opt_id, sizeof(memcr_svc_checkpoint_options)); -+ cmd_size += sizeof(memcr_svc_checkpoint_options); -+ memcpy(cmd_buf+cmd_size, &opt->compress_alg, sizeof(memcr_compress_alg)); -+ cmd_size += sizeof(memcr_compress_alg); -+ } -+ -+ struct service_command cmd_v2 = {.cmd = MEMCR_CMDS_V2, .pid = cmd_size}; -+ -+ ret = write(cd, &cmd_v2, sizeof(cmd_v2)); -+ if (ret != sizeof(cmd_v2)) { -+ fprintf(stderr, "%s() write request failed: ret %d, errno %m\n", __func__, ret); -+ return -1; -+ } -+ -+ ret = write(cd, cmd_buf, cmd_size); -+ if (ret != cmd_size) { - fprintf(stderr, "%s() write request failed: ret %d, errno %m\n", __func__, ret); - return -1; - } -@@ -99,7 +156,7 @@ static void print_version(void) - static void usage(const char *name, int status) - { - fprintf(status ? stderr : stdout, -- "%s -l PORT|PATH -p PID [-c -r] [-V]\n" \ -+ "%s -l PORT|PATH -p PID [-c -r [-d DIR] [-z ALG]] [-V]\n" \ - "options: \n" \ - " -h --help\t\thelp\n" \ - " -l --location\t\tTCP port number of localhost memcr service\n" \ -@@ -107,8 +164,11 @@ static void usage(const char *name, int status) - " -p --pid\t\tprocess ID to be checkpointed / restored\n" \ - " -c --checkpoint\tsend checkpoint command to memcr service\n" \ - " -r --restore\t\tsend restore command to memcr service\n" \ -- " -V --version\t\tprint version and exit\n", -- name); -+ " -V --version\t\tprint version and exit\n" \ -+ " -d --dir\tdir where memory dump is stored of max length %d\n" \ -+ " -z --compress\tcompress memory dump with selected algorithm: 'lz4', 'zstd' or disable with 'none'\n" \ -+ " -v --v1\t\tforce using old protocol\n", -+ name, MEMCR_DUMPDIR_LEN_MAX); - exit(status); - } - -@@ -119,21 +179,27 @@ int main(int argc, char *argv[]) - int restore = 0; - int port = -1; - int option_index; -- struct service_command cmd = {0}; - char *comm_location = NULL; - int pid = 0; -+ const char *dump_dir_s = 0; -+ const char *compress_alg_s = 0; -+ struct service_options checkpoint_options = {0}; -+ int v1 = 0; - - struct option long_options[] = { - { "help", 0, 0, 'h'}, - { "location", 1, 0, 'l'}, - { "pid", 1, 0, 'p'}, - { "checkpoint", 0, 0, 'c'}, -+ { "dir", 1, 0, 'd'}, -+ { "compress", 1, 0, 'z'}, - { "restore", 0, 0, 'r'}, - { "version", 0, 0, 'V'}, -+ { "v1", 0, 0, 'v'}, - { NULL, 0, 0, 0 } - }; - -- while ((opt = getopt_long(argc, argv, "hl:p:crV", long_options, &option_index)) != -1) { -+ while ((opt = getopt_long(argc, argv, "hl:p:crVd:z:v", long_options, &option_index)) != -1) { - switch (opt) { - case 'h': - usage(argv[0], 0); -@@ -147,12 +213,21 @@ int main(int argc, char *argv[]) - case 'c': - checkpoint = 1; - break; -+ case 'd': -+ dump_dir_s = optarg; -+ break; -+ case 'z': -+ compress_alg_s = optarg; -+ break; - case 'r': - restore = 1; - break; - case 'V': - print_version(); - exit(0); -+ case 'v': -+ v1 = 1; -+ break; - default: /* '?' */ - usage(argv[0], 1); - break; -@@ -171,35 +246,85 @@ int main(int argc, char *argv[]) - return -1; - } - -- port = atoi(comm_location); -+ if (!checkpoint && (dump_dir_s || compress_alg_s)) { -+ fprintf(stderr, "Dir dump and compression is available only for checkpoint!\n"); -+ usage(argv[0], 1); -+ return -1; -+ } - -- if (port > 0) -- cd = connect_tcp(port); -- else -- cd = connect_unix(comm_location); -+ if (dump_dir_s) { -+ if (strlen(dump_dir_s) >= MEMCR_DUMPDIR_LEN_MAX) { -+ fprintf(stderr, "Dir dump too long!\n"); -+ usage(argv[0], 1); -+ return -1; -+ } - -- if (cd < 0) { -- fprintf(stderr, "Connection creation failed!\n"); -- return cd; -+ strcpy(checkpoint_options.dump_dir, dump_dir_s); -+ checkpoint_options.is_dump_dir = 1; - } - -+ if (compress_alg_s) { -+ checkpoint_options.is_compress_alg = 1; -+ if (strcmp(compress_alg_s, "none") == 0) -+ checkpoint_options.compress_alg = MEMCR_COMPRESS_NONE; -+ else if (strcmp(compress_alg_s, "lz4") == 0) -+ checkpoint_options.compress_alg = MEMCR_COMPRESS_LZ4; -+ else if (strcmp(compress_alg_s, "zstd") == 0) -+ checkpoint_options.compress_alg = MEMCR_COMPRESS_ZSTD; -+ else { -+ fprintf(stderr, "Incorrect compression algorithm provided!\n"); -+ usage(argv[0], 1); -+ return -1; -+ } -+ } -+ -+ port = atoi(comm_location); -+ - if (checkpoint) { - fprintf(stdout, "Will checkpoint %d.\n", pid); -- cmd.cmd = MEMCR_CHECKPOINT; -- cmd.pid = pid; -- ret = send_cmd(cd, cmd); -+ -+ if (port > 0) -+ cd = connect_tcp(port); -+ else -+ cd = connect_unix(comm_location); -+ -+ if (cd < 0) { -+ fprintf(stderr, "Connection creation failed!\n"); -+ return cd; -+ } -+ -+ if (v1) { -+ struct service_command cmd = {.cmd = MEMCR_CHECKPOINT, .pid = pid}; -+ ret = send_cmd(cd, cmd); -+ } else -+ ret = send_cmd_v2(cd, MEMCR_CHECKPOINT, pid, &checkpoint_options); -+ -+ close(cd); - } - - if (restore) { - fprintf(stdout, "Will restore %d.\n", pid); -- cmd.cmd = MEMCR_RESTORE; -- cmd.pid = pid; -- ret = send_cmd(cd, cmd); -+ -+ if (port > 0) -+ cd = connect_tcp(port); -+ else -+ cd = connect_unix(comm_location); -+ -+ if (cd < 0) { -+ fprintf(stderr, "Connection creation failed!\n"); -+ return cd; -+ } -+ -+ if (v1) { -+ struct service_command cmd = {.cmd = MEMCR_RESTORE, .pid = pid}; -+ ret = send_cmd(cd, cmd); -+ } else -+ ret = send_cmd_v2(cd, MEMCR_RESTORE, pid, NULL); -+ -+ close(cd); - } - - fprintf(stdout, "Command executed, exiting.\n"); -- close(cd); -- - return ret; - } - -diff --git a/memcr.c b/memcr.c -index 5c38429..f431355 100644 ---- a/memcr.c -+++ b/memcr.c -@@ -47,11 +47,16 @@ - #include - #include /* MIN(), MAX() */ - #include -+#include - - #ifdef COMPRESS_LZ4 - #include - #endif - -+#ifdef COMPRESS_ZSTD -+#include -+#endif -+ - #ifdef CHECKSUM_MD5 - #include - #if OPENSSL_VERSION_NUMBER >= 0x30000000L -@@ -115,13 +120,21 @@ struct vm_area { - unsigned long flags; - }; - --static char *dump_dir; -+struct dump_dir_list { -+ char *dir; -+ struct dump_dir_list *next; -+}; -+ -+#define MEMCR_DUMPDIR_DEFAULT "/tmp" -+ -+static struct dump_dir_list *allowed_dump_dirs; -+static char *dfl_dump_dir = MEMCR_DUMPDIR_DEFAULT; - static char *parasite_socket_dir; - static int parasite_socket_use_netns; - static int no_wait; - static int proc_mem; - static int rss_file; --static int compress; -+static memcr_compress_alg dfl_compress_alg; - static int checksum; - static int service; - static unsigned int timeout; -@@ -145,6 +158,7 @@ static pid_t tids[MAX_THREADS]; - static int nr_threads; - - #define SERVICE_MODE_SELECT_TIMEOUT_MS 100 -+#define SERVICE_MODE_SOCKET_TIMEOUT_MS 1000 - - #define MAX_VMAS (3*4096) - static struct vm_area vmas[MAX_VMAS]; -@@ -156,6 +170,13 @@ static int nr_vmas; - #define MAX_LZ4_DST_SIZE LZ4_compressBound(MAX_VM_REGION_SIZE) - #endif - -+#ifdef COMPRESS_ZSTD -+#define MAX_ZSTD_DST_SIZE ZSTD_compressBound(MAX_VM_REGION_SIZE) -+#ifndef COMPRESS_ZSTD_LVL -+#define COMPRESS_ZSTD_LVL 3 -+#endif -+#endif -+ - static pid_t parasite_pid; - static pid_t parasite_pid_clone; - static struct target_context ctx; -@@ -203,6 +224,7 @@ static struct { - int state; - int checkpoint_abort; - int checkpoint_cmd_sd; -+ struct service_options options; - } checkpoint_service_data[CHECKPOINTED_PIDS_LIMIT]; - - #define SOCKET_INVALID (-1) -@@ -354,6 +376,17 @@ static void md5_final(unsigned char *md, unsigned int *len, void *ctx) - } - #endif - -+static void __attribute__((noreturn)) die(const char *fmt, ...) -+{ -+ va_list ap; -+ -+ va_start(ap, fmt); -+ vfprintf(stderr, fmt, ap); -+ va_end(ap); -+ -+ exit(1); -+} -+ - static void parasite_status_signal(pid_t pid, int status) - { - pthread_mutex_lock(¶site_watch.lock); -@@ -428,7 +461,7 @@ static void parasite_socket_init(struct sockaddr_un *addr, pid_t pid) - } - } - --static void cleanup_pid(pid_t pid) -+static void cleanup_pid(pid_t pid, const char* dump_dir) - { - char path[PATH_MAX]; - -@@ -829,7 +862,15 @@ static int dump_write(int fd, const void *buf, size_t count) - return ret; - } - --static void init_pid_checkpoint_data(pid_t pid) -+static void clear_checkpoint_options(struct service_options *options) -+{ -+ options->is_dump_dir = FALSE; -+ options->dump_dir[0] = 0; -+ options->is_compress_alg = FALSE; -+ options->compress_alg = MEMCR_COMPRESS_NONE; -+} -+ -+static void init_pid_checkpoint_data(pid_t pid, struct service_options *options) - { - pthread_mutex_lock(&checkpoint_service_data_lock); - for (int i=0; iis_dump_dir; -+ strncpy(checkpoint_service_data[i].options.dump_dir, options->dump_dir, -+ MEMCR_DUMPDIR_LEN_MAX); -+ checkpoint_service_data[i].options.is_compress_alg = options->is_compress_alg; -+ checkpoint_service_data[i].options.compress_alg = options->compress_alg; -+ } else { -+ clear_checkpoint_options(&checkpoint_service_data[i].options); -+ } - pthread_mutex_unlock(&checkpoint_service_data_lock); - return; - } -@@ -854,11 +904,14 @@ static void cleanup_checkpointed_pids(void) - if (checkpoint_service_data[i].pid != PID_INVALID) { - fprintf(stdout, "[i] Killing PID %d\n", checkpoint_service_data[i].pid); - kill(checkpoint_service_data[i].pid, SIGKILL); -- cleanup_pid(checkpoint_service_data[i].pid); -+ const char *dir = checkpoint_service_data[i].options.is_dump_dir ? -+ checkpoint_service_data[i].options.dump_dir : dfl_dump_dir; -+ cleanup_pid(checkpoint_service_data[i].pid, dir); - checkpoint_service_data[i].pid = PID_INVALID; - checkpoint_service_data[i].worker = PID_INVALID; - checkpoint_service_data[i].state = STATE_RESTORED; - checkpoint_service_data[i].checkpoint_cmd_sd = SOCKET_INVALID; -+ clear_checkpoint_options(&checkpoint_service_data[i].options); - } - } - pthread_mutex_unlock(&checkpoint_service_data_lock); -@@ -921,6 +974,7 @@ static void clear_pid_checkpoint_data(pid_t pid) - checkpoint_service_data[i].worker = PID_INVALID; - checkpoint_service_data[i].checkpoint_cmd_sd = SOCKET_INVALID; - checkpoint_service_data[i].state = STATE_RESTORED; -+ clear_checkpoint_options(&checkpoint_service_data[i].options); - } - } - pthread_mutex_unlock(&checkpoint_service_data_lock); -@@ -932,11 +986,14 @@ static void clear_pid_on_worker_exit_non_blocking(pid_t worker) - if (checkpoint_service_data[i].worker == worker) { - fprintf(stdout, "[+] Clearing pid: %d with worker: %d on worker exit ...\n", - checkpoint_service_data[i].pid, worker); -- cleanup_pid(checkpoint_service_data[i].pid); -+ const char *dir = checkpoint_service_data[i].options.is_dump_dir ? -+ checkpoint_service_data[i].options.dump_dir : dfl_dump_dir; -+ cleanup_pid(checkpoint_service_data[i].pid, dir); - checkpoint_service_data[i].pid = PID_INVALID; - checkpoint_service_data[i].worker = PID_INVALID; - checkpoint_service_data[i].checkpoint_cmd_sd = SOCKET_INVALID; - checkpoint_service_data[i].state = STATE_RESTORED; -+ clear_checkpoint_options(&checkpoint_service_data[i].options); - } - } - } -@@ -1040,10 +1097,27 @@ static int read_vm_region(int fd, struct vm_region *vmr, char *buf) - if (!vm_region_valid(vmr)) - return -1; - --#ifdef COMPRESS_LZ4 -- if (compress) { -+ -+ if (dfl_compress_alg != MEMCR_COMPRESS_NONE) { - int src_size; -- char src[MAX_LZ4_DST_SIZE]; -+ int src_size_max = 0; -+ -+ switch (dfl_compress_alg) { -+#ifdef COMPRESS_LZ4 -+ case MEMCR_COMPRESS_LZ4: -+ src_size_max = MAX_LZ4_DST_SIZE; -+ break; -+#endif -+#ifdef COMPRESS_ZSTD -+ case MEMCR_COMPRESS_ZSTD: -+ src_size_max = MAX_ZSTD_DST_SIZE; -+ break; -+#endif -+ default: -+ die("compression set but not enabled, recompile with COMPRESS_LZ4=1 and/or COMPRESS_ZSTD=1"); -+ } -+ -+ char src[src_size_max]; - - ret = dump_read(fd, &src_size, sizeof(src_size)); - if (ret != sizeof(src_size)) -@@ -1053,13 +1127,24 @@ static int read_vm_region(int fd, struct vm_region *vmr, char *buf) - if (ret != src_size) - return -1; - -- ret = LZ4_decompress_safe(src, buf, src_size, MAX_VM_REGION_SIZE); -+ switch (dfl_compress_alg) { -+#ifdef COMPRESS_LZ4 -+ case MEMCR_COMPRESS_LZ4: -+ ret = LZ4_decompress_safe(src, buf, src_size, MAX_VM_REGION_SIZE); -+ break; -+#endif -+#ifdef COMPRESS_ZSTD -+ case MEMCR_COMPRESS_ZSTD: -+ ret = ZSTD_decompress(buf, MAX_VM_REGION_SIZE, src, src_size); -+ break; -+#endif -+ default: -+ die("compression set but not enabled, recompile with COMPRESS_LZ4=1 and/or COMPRESS_ZSTD=1"); -+ } - /* fprintf(stdout, "[+] Decompressed %d Bytes back into %d.\n", srcSize, ret); */ - if (ret <= 0) - return -1; -- } else --#endif -- { -+ } else { - ret = dump_read(fd, buf, vmr->len); - if (ret != vmr->len) - return -1; -@@ -1079,12 +1164,39 @@ static int write_vm_region(int fd, const struct vm_region *vmr, const void *buf) - if (ret != sizeof(struct vm_region)) - return -1; - -+ if (dfl_compress_alg != MEMCR_COMPRESS_NONE) { -+ int dst_size_max = 0; -+ switch (dfl_compress_alg) { - #ifdef COMPRESS_LZ4 -- if (compress) { -- char dst[MAX_LZ4_DST_SIZE]; -- int dst_size; -+ case MEMCR_COMPRESS_LZ4: -+ dst_size_max = MAX_LZ4_DST_SIZE; -+ break; -+#endif -+#ifdef COMPRESS_ZSTD -+ case MEMCR_COMPRESS_ZSTD: -+ dst_size_max = MAX_ZSTD_DST_SIZE; -+ break; -+#endif -+ default: -+ die("compression set but not enabled, recompile with COMPRESS_LZ4=1 and/or COMPRESS_ZSTD=1"); -+ } -+ char dst[dst_size_max]; -+ int dst_size = 0; - -- dst_size = LZ4_compress_default(buf, dst, vmr->len, MAX_LZ4_DST_SIZE); -+ switch (dfl_compress_alg) { -+#ifdef COMPRESS_LZ4 -+ case MEMCR_COMPRESS_LZ4: -+ dst_size = LZ4_compress_default(buf, dst, vmr->len, MAX_LZ4_DST_SIZE); -+ break; -+#endif -+#ifdef COMPRESS_ZSTD -+ case MEMCR_COMPRESS_ZSTD: -+ dst_size = ZSTD_compress(dst, MAX_ZSTD_DST_SIZE, buf, vmr->len, COMPRESS_ZSTD_LVL); -+ break; -+#endif -+ default: -+ die("compression set but not enabled, recompile with COMPRESS_LZ4=1 and/or COMPRESS_ZSTD=1"); -+ } - /* fprintf(stdout, "[+] Compressed %lu Bytes into %d.\n", len, dstSize); */ - if (dst_size <= 0) - return -1; -@@ -1097,9 +1209,7 @@ static int write_vm_region(int fd, const struct vm_region *vmr, const void *buf) - if (ret != dst_size) - return -1; - -- } else --#endif -- { -+ } else { - ret = dump_write(fd, buf, vmr->len); - if (ret != vmr->len) - return -1; -@@ -1572,7 +1682,7 @@ static int get_target_pages(int pid, struct vm_area vmas[], int nr_vmas) - if (pd < 0) - goto out; - -- snprintf(path, sizeof(path), "%s/pages-%d.img", dump_dir, pid); -+ snprintf(path, sizeof(path), "%s/pages-%d.img", dfl_dump_dir, pid); - - fd = dump_open(path, O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR); - if (fd < 0) { -@@ -1691,7 +1801,7 @@ static int target_set_pages(pid_t pid) - int cd = -1; - int fd = -1; - -- snprintf(path, sizeof(path), "%s/pages-%d.img", dump_dir, pid); -+ snprintf(path, sizeof(path), "%s/pages-%d.img", dfl_dump_dir, pid); - - fd = dump_open(path, O_RDONLY, 0); - if (fd < 0) { -@@ -1812,7 +1922,7 @@ static int cmd_checkpoint(pid_t pid) - } - - fprintf(stdout, "[i] download took %lu ms\n", diff_ms(&ts)); -- fprintf(stdout, "[i] stored at %s/pages-%d.img\n", dump_dir, pid); -+ fprintf(stdout, "[i] stored at %s/pages-%d.img\n", dfl_dump_dir, pid); - - get_target_rss(pid, &vms_b); - -@@ -2290,6 +2400,104 @@ static void sigpipe_handler(int sig, siginfo_t *sip, void *notused) - fprintf(stdout, "[!] program received SIGPIPE from %d.\n", sip->si_pid); - } - -+static void set_dump_dirs(const char *dirs) -+{ -+ char real_dir[PATH_MAX]; -+ -+ //clear current allowed dirs -+ while (allowed_dump_dirs) { -+ if (allowed_dump_dirs->dir) -+ free(allowed_dump_dirs->dir); -+ -+ struct dump_dir_list *curr = allowed_dump_dirs; -+ allowed_dump_dirs = allowed_dump_dirs->next; -+ free(curr); -+ } -+ -+ if (dirs == NULL) { -+ fprintf(stderr, "[!] %s(): Error dump dir cannot be empty!\n", __func__); -+ exit(EXIT_FAILURE); -+ } -+ -+ // Create a mutable copy of dirs -+ char *dirs_copy = strdup(dirs); -+ if (!dirs_copy) { -+ fprintf(stderr, "[!] %s(): Memory allocation error!\n", __func__); -+ exit(EXIT_FAILURE); -+ } -+ -+ struct dump_dir_list *dump_dir_iter = NULL; -+ char *dir = strtok(dirs_copy, ";"); -+ while (dir) { -+ if (realpath(dir, real_dir)) { -+ struct dump_dir_list *new_dump_dir = malloc(sizeof(struct dump_dir_list)); -+ if (!new_dump_dir) { -+ fprintf(stderr, "[!] %s(): Memory allocation error!\n", __func__); -+ exit(EXIT_FAILURE); -+ } -+ -+ new_dump_dir->dir = strdup(real_dir); -+ if (!new_dump_dir->dir) { -+ fprintf(stderr, "[!] %s(): Memory allocation error!\n", __func__); -+ exit(EXIT_FAILURE); -+ } -+ fprintf(stdout, "[+] Allowed dump directory: %s\n", new_dump_dir->dir); -+ -+ new_dump_dir->next = NULL; -+ -+ if (!allowed_dump_dirs) { -+ allowed_dump_dirs = new_dump_dir; -+ dump_dir_iter = allowed_dump_dirs; -+ } else { -+ dump_dir_iter->next = new_dump_dir; -+ dump_dir_iter = dump_dir_iter->next; -+ } -+ -+ } else { -+ fprintf(stderr, "[!] %s(): Unable to resolve allowed directory: %s\n", __func__, dir); -+ exit(EXIT_FAILURE); -+ } -+ -+ dir = strtok(NULL, ";"); -+ } -+ -+ free(dirs_copy); -+ -+ if (!allowed_dump_dirs) { -+ fprintf(stderr, "[!] %s(): No allowed dump directories!\n", __func__); -+ exit(EXIT_FAILURE); -+ } -+ -+ // Default dump dir is the first allowed one -+ dfl_dump_dir = allowed_dump_dirs->dir; -+ fprintf(stdout, "[+] %s(): Allowed dump directories set.\n", __func__); -+} -+ -+ -+static int is_dump_dir_path_allowed(const char *dump_dir_path) { -+ char real_dir_path[PATH_MAX]; -+ -+ // Resolve the real path -+ if (!realpath(dump_dir_path, real_dir_path)) { -+ fprintf(stderr, "[-] %s(): Unable to resolve dump dir path: %s\n", __func__, dump_dir_path); -+ return 0; -+ } -+ -+ fprintf(stdout, "[+] %s(): Real dir path to check: %s\n", __func__, real_dir_path); -+ -+ // iterate over allowed dump dirs and do an exact match -+ struct dump_dir_list *curr = allowed_dump_dirs; -+ while (curr) { -+ if (strcmp(real_dir_path, curr->dir) == 0) { -+ return 1; -+ } -+ curr = curr->next; -+ } -+ -+ fprintf(stderr, "[-] %s(): Dump dir path is not allowed: %s\n", __func__, dump_dir_path); -+ return 0; -+} -+ - static int read_command(int cd, struct service_command *svc_cmd) - { - int ret; -@@ -2303,6 +2511,115 @@ static int read_command(int cd, struct service_command *svc_cmd) - return ret; - } - -+static int read_command_v2(int cd, struct service_command *svc_cmd, struct service_options *options, size_t len) -+{ -+ /* There must be at least service_command that can be followed by service_checkpoint_options */ -+ if (len < sizeof(struct service_command)) { -+ fprintf(stderr, "[-] %s(): cmds len to short: %d\n", __func__, (unsigned int)len); -+ return -1; -+ } -+ -+ int ret = read_command(cd, svc_cmd); -+ if (ret < 0) { -+ fprintf(stderr, "%s(): Error reading a command!\n", __func__); -+ return ret; -+ } -+ -+ len -= sizeof(struct service_command); -+ -+ switch (svc_cmd->cmd) { -+ case MEMCR_CHECKPOINT: { -+ fprintf(stdout, "[+] read MEMCR_CHECKPOINT for %d\n", svc_cmd->pid); -+ /* try to read checkpoint options */ -+ memcr_svc_checkpoint_options option; -+ while (len >= sizeof(option) && _read(cd, &option, sizeof(option)) > 0 ) { -+ len -= sizeof(option); -+ -+ switch (option) { -+ case MEMCR_CHECKPOINT_DUMPDIR: { -+ /* read string till NULL */ -+ unsigned int pos = 0; -+ while (len-- > 0 && (_read(cd, &options->dump_dir[pos], sizeof(char)) == sizeof(char)) && -+ (options->dump_dir[pos] != 0) && (++pos < MEMCR_DUMPDIR_LEN_MAX)); -+ -+ if (pos >= MEMCR_DUMPDIR_LEN_MAX || options->dump_dir[pos] != 0) { -+ fprintf(stderr, "[-] %s(): dump dir path too long or not terminated with NULL\n", __func__); -+ return -1; -+ } -+ -+ if (is_dump_dir_path_allowed(options->dump_dir)) { -+ options->is_dump_dir = TRUE; -+ fprintf(stdout, "[+] read dump dir path for this checkpoint: %s\n", options->dump_dir); -+ } else { -+ fprintf(stderr, "[i] dump dir path incorrect, using default\n"); -+ } -+ break; -+ } -+ case MEMCR_CHECKPOINT_COMPRESS_ALG: -+ { -+ if (len < sizeof(options->compress_alg) || -+ _read(cd, &options->compress_alg, sizeof(options->compress_alg)) != sizeof(options->compress_alg)) { -+ fprintf(stderr, "[-] %s(): compression algorithm invalid\n", __func__); -+ return -1; -+ } -+ -+ len -= sizeof(options->compress_alg); -+ -+ if (options->compress_alg != MEMCR_COMPRESS_NONE -+#ifdef COMPRESS_LZ4 -+ && options->compress_alg != MEMCR_COMPRESS_LZ4 -+#endif -+#ifdef COMPRESS_ZSTD -+ && options->compress_alg != MEMCR_COMPRESS_ZSTD -+#endif -+ ) { -+ /* skip if not support */ -+ fprintf(stderr, "[-] %s(): compression algorithm not supported: %d\n", __func__, options->compress_alg); -+ break; -+ } -+ -+ options->is_compress_alg = TRUE; -+ const char *caToS[] = { -+ [MEMCR_COMPRESS_NONE] = "none", -+ [MEMCR_COMPRESS_LZ4] = "lz4", -+ [MEMCR_COMPRESS_ZSTD] = "zstd"}; -+ fprintf(stdout, "[+] read compress alg for this checkpoint: %s\n", caToS[options->compress_alg]); -+ break; -+ } -+ default: -+ fprintf(stderr, "[-] %s(): checkpoint option invalid: %d\n", __func__, option); -+ } -+ } -+ break; -+ } -+ case MEMCR_RESTORE: { -+ /* nothing more to read for RESTORE*/ -+ fprintf(stdout, "[+] read MEMCR_RESTORE for %d\n", svc_cmd->pid); -+ break; -+ } -+ default: -+ fprintf(stderr, "%s(): Error command not expected or invalid: %d!\n", __func__, svc_cmd->cmd); -+ return -1; -+ } -+ -+ return 0; -+} -+ -+static void set_checkpoint_options_dfl(pid_t pid) -+{ -+ for (int i=0; isvc_cmd.cmd) -@@ -2687,7 +3005,7 @@ static void service_command(struct service_command_ctx *svc_ctx) - break; - } - -- init_pid_checkpoint_data(svc_ctx->svc_cmd.pid); -+ init_pid_checkpoint_data(svc_ctx->svc_cmd.pid, checkpoint_options); - ret = service_cmds_push_back(svc_ctx); - if (!ret) - fprintf(stdout, "[+] Checkpoint request scheduled...\n"); -@@ -2740,6 +3058,7 @@ static int service_mode(const char *listen_location) - struct timeval tv; - int errsv; - pthread_t svc_cmd_thread_id; -+ struct service_options checkpoint_options; - - if (listen_port > 0) - csd = setup_listen_tcp_socket(listen_port); -@@ -2780,6 +3099,13 @@ static int service_mode(const char *listen_location) - cd = accept(csd, NULL, NULL); - if (cd >= 0) { - struct service_command_ctx svc_ctx = { .cd = cd }; -+ // set rcv timeout for the socket -+ struct timeval rcv_timeout = { -+ .tv_sec = SERVICE_MODE_SOCKET_TIMEOUT_MS/1000, -+ .tv_usec = (SERVICE_MODE_SELECT_TIMEOUT_MS%1000)*1000 -+ }; -+ setsockopt(cd, SOL_SOCKET, SO_RCVTIMEO, &rcv_timeout, sizeof(rcv_timeout)); -+ - ret = read_command(cd, &svc_ctx.svc_cmd); - if (ret < 0) { - fprintf(stderr, "%s(): Error reading a command!\n", __func__); -@@ -2787,7 +3113,19 @@ static int service_mode(const char *listen_location) - continue; - } - -- service_command(&svc_ctx); -+ clear_checkpoint_options(&checkpoint_options); -+ -+ if (svc_ctx.svc_cmd.cmd == MEMCR_CMDS_V2) { -+ size_t cmds_len = svc_ctx.svc_cmd.pid; -+ ret = read_command_v2(cd, &svc_ctx.svc_cmd, &checkpoint_options, cmds_len); -+ if (ret < 0) { -+ fprintf(stderr, "%s(): Error reading a command!\n", __func__); -+ close(cd); -+ continue; -+ } -+ } -+ -+ service_command(&svc_ctx, &checkpoint_options); - continue; - } - -@@ -2846,7 +3184,7 @@ static int user_interactive_mode(pid_t pid) - - out: - unseize_target(); -- cleanup_pid(pid); -+ cleanup_pid(pid, dfl_dump_dir); - - return ret; - } -@@ -2867,11 +3205,11 @@ static void print_version(void) - static void usage(const char *name, int status) - { - fprintf(status ? stderr : stdout, -- "%s [-h] [-p PID] [-d DIR] [-S DIR] [-l PORT|PATH] [-n] [-m] [-f] [-z] [-c] [-e] [-V]\n" \ -+ "%s [-h] [-p PID] [-d DIR] [-S DIR] [-l PORT|PATH] [-n] [-m] [-f] [-z ALG] [-c] [-e] [-V]\n" \ - "options:\n" \ - " -h --help help\n" \ - " -p --pid target process pid\n" \ -- " -d --dir dir where memory dump is stored (defaults to /tmp)\n" \ -+ " -d --dir dir/dirs where memory dump can be stored (defaults to /tmp. Separated by ';')\n" \ - " -S --parasite-socket-dir dir where socket to communicate with parasite is created\n" \ - " (abstract socket will be used if no path specified)\n" \ - " -N --parasite-socket-netns use network namespace of parasite when connecting to socket\n" \ -@@ -2882,7 +3220,7 @@ static void usage(const char *name, int status) - " -n --no-wait no wait for key press\n" \ - " -m --proc-mem get pages from /proc/pid/mem\n" \ - " -f --rss-file include file mapped memory\n" \ -- " -z --compress compress memory dump\n" \ -+ " -z --compress compress memory dump with selected algorithm: lz4, zstd\n" \ - " -c --checksum enable md5 checksum for memory dump\n" \ - " -e --encrypt enable encryption of memory dump\n" \ - " -t --timeout timeout in seconds for checkpoint/restore execution in service mode\n" \ -@@ -2892,17 +3230,6 @@ static void usage(const char *name, int status) - exit(status); - } - --static void __attribute__((noreturn)) die(const char *fmt, ...) --{ -- va_list ap; -- -- va_start(ap, fmt); -- vfprintf(stderr, fmt, ap); -- va_end(ap); -- -- exit(1); --} -- - int main(int argc, char *argv[]) - { - int ret; -@@ -2923,7 +3250,7 @@ int main(int argc, char *argv[]) - { "no-wait", 0, NULL, 'n'}, - { "proc-mem", 0, NULL, 'm'}, - { "rss-file", 0, NULL, 'f'}, -- { "compress", 0, NULL, 'z'}, -+ { "compress", 2, NULL, 'z'}, - { "checksum", 0, NULL, 'c'}, - { "encrypt", 2, 0, 'e'}, - { "timeout", 1, 0, 't'}, -@@ -2931,11 +3258,11 @@ int main(int argc, char *argv[]) - { NULL, 0, NULL, 0 } - }; - -- dump_dir = "/tmp"; -+ set_dump_dirs(MEMCR_DUMPDIR_DEFAULT); - parasite_socket_dir = NULL; - parasite_socket_use_netns = 0; - -- while ((opt = getopt_long(argc, argv, "hp:d:S:Nl:nmfzce::t:V", long_options, &option_index)) != -1) { -+ while ((opt = getopt_long(argc, argv, "hp:d:S:Nl:nmfz::ce::t:V", long_options, &option_index)) != -1) { - switch (opt) { - case 'h': - usage(argv[0], 0); -@@ -2944,7 +3271,7 @@ int main(int argc, char *argv[]) - pid = atoi(optarg); - break; - case 'd': -- dump_dir = optarg; -+ set_dump_dirs(optarg); - break; - case 'S': - parasite_socket_dir = optarg; -@@ -2966,10 +3293,27 @@ int main(int argc, char *argv[]) - rss_file = 1; - break; - case 'z': -+ if (optarg) { -+ if (strcmp(optarg, "lz4") == 0) { - #ifndef COMPRESS_LZ4 -- die("compression not available, recompile with COMPRESS_LZ4=1\n"); -+ die("not enabled, recompile with COMPRESS_LZ4=1\n"); -+#endif -+ dfl_compress_alg = MEMCR_COMPRESS_LZ4; -+ } else if (strcmp(optarg, "zstd") == 0) { -+#ifndef COMPRESS_ZSTD -+ die("not enabled, recompile with COMPRESS_ZSTD=1\n"); - #endif -- compress = 1; -+ dfl_compress_alg = MEMCR_COMPRESS_ZSTD; -+ } -+ } else { -+#ifdef COMPRESS_LZ4 -+ dfl_compress_alg = MEMCR_COMPRESS_LZ4; -+#elif defined COMPRESS_ZSTD -+ dfl_compress_alg = MEMCR_COMPRESS_ZSTD; -+#else -+ die("not enabled, recompile with COMPRESS_LZ4=1 and/or COMPRESS_ZSTD=1\n"); -+#endif -+ } - break; - case 'c': - #ifndef CHECKSUM_MD5 -diff --git a/memcr.h b/memcr.h -index 6ce8001..ceacac3 100644 ---- a/memcr.h -+++ b/memcr.h -@@ -47,14 +47,35 @@ typedef enum { - - typedef enum { - MEMCR_CHECKPOINT = 100, -- MEMCR_RESTORE -+ MEMCR_RESTORE, -+ MEMCR_CMDS_V2 - } memcr_svc_cmd; - -+typedef enum { -+ MEMCR_CHECKPOINT_DUMPDIR = 200, -+ MEMCR_CHECKPOINT_COMPRESS_ALG, -+} memcr_svc_checkpoint_options; -+ -+#define MEMCR_DUMPDIR_LEN_MAX 1024 -+ -+typedef enum { -+ MEMCR_COMPRESS_NONE = 0, -+ MEMCR_COMPRESS_LZ4, -+ MEMCR_COMPRESS_ZSTD -+} memcr_compress_alg; -+ - struct service_command { - memcr_svc_cmd cmd; - pid_t pid; - } __attribute__((packed)); - -+struct service_options { -+ int is_dump_dir; -+ char dump_dir[MEMCR_DUMPDIR_LEN_MAX]; -+ int is_compress_alg; -+ memcr_compress_alg compress_alg; -+}; -+ - typedef enum { - MEMCR_OK = 0, - MEMCR_ERROR_GENERAL = -1, --- -2.43.0 - diff --git a/recipes-extended/memcr/files/memcr.service b/recipes-extended/memcr/files/memcr.service index 905c94d58..07d99713b 100644 --- a/recipes-extended/memcr/files/memcr.service +++ b/recipes-extended/memcr/files/memcr.service @@ -15,7 +15,7 @@ ExecStartPre=/bin/sh -c '/bin/mkdir -p ${DUMPSDIR_PERSIST}; /bin/chmod -R 777 ${ ExecStartPre=/usr/bin/find ${DUMPSDIR_PERSIST} -mindepth 1 -exec rm {} \; ExecStartPre=/bin/sh -c '/bin/mkdir -p ${DUMPSDIR_TEMP}; /bin/chmod -R 777 ${DUMPSDIR_TEMP}' ExecStartPre=/usr/bin/find ${DUMPSDIR_TEMP} -mindepth 1 -exec rm {} \; -ExecStart=/usr/bin/memcr -d "${DUMPSDIR_PERSIST};${DUMPSDIR_TEMP}" -N -l ${LOCATOR} -f -z -e -t ${TIMEOUT} +ExecStart=/usr/bin/memcr -d "${DUMPSDIR_PERSIST};${DUMPSDIR_TEMP}" -N -l ${LOCATOR} -c -f -z -e -t ${TIMEOUT} Restart=on-failure [Install] diff --git a/recipes-extended/memcr/memcr_git.bb b/recipes-extended/memcr/memcr_git.bb index 9d29d39fa..154026e44 100644 --- a/recipes-extended/memcr/memcr_git.bb +++ b/recipes-extended/memcr/memcr_git.bb @@ -1,21 +1,21 @@ SUMMARY = "memcr memory hibernate/restore tool" LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=0ba16794955006770904e8293abcbee5" +LIC_FILES_CHKSUM = "file://COPYING;md5=606d8cf603cf7007e6c1fffda5da9ffa" HOMEPAGE = "https://github.com/LibertyGlobal/memcr" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" SRC_URI = "git://git@github.com/LibertyGlobal/memcr.git;branch=main;protocol=ssh" -SRC_URI += " file://0001-RDK-54059-retry-ptrace-seize-on-EPERM.patch" SRC_URI += " file://memcr.service" -SRC_URI += " file://0001-RDK-47153-Support-zstd-compression-and-option-to-set-dump-dir-.patch" +SRC_URI += " file://0001-RDK-47153-Option-to-set-dump-dir-and-compression-per.patch" +SRC_URI += " file://0001-RDK-54059-retry-ptrace-seize-on-EPERM.patch" INSANE_SKIP:${PN} += "ldflags" PV = "1.0+git${SRCPV}" -# Code base from 30.08.2024 -SRCREV = "b58f2b8e26cab6b67eceaa36fd6ce5a6d04dcd28" +# Code base from 22.07.2025 +SRCREV = "f46af4008d19cb527d5cede22bf0a3d0c7a8ed02" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From 68305305faa09336db0dd83df77f8501c8ecf253 Mon Sep 17 00:00:00 2001 From: Sherin Jasper Sudhaker Vincent <46519106+sherinjasper1506@users.noreply.github.com> Date: Mon, 4 Aug 2025 15:26:06 +0530 Subject: [PATCH 021/274] RDKEMW-6378: Update libsyswrapper.bb --- recipes-common/lib_syscall_wrapper/libsyswrapper.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-common/lib_syscall_wrapper/libsyswrapper.bb b/recipes-common/lib_syscall_wrapper/libsyswrapper.bb index 818923519..e371cb2a7 100644 --- a/recipes-common/lib_syscall_wrapper/libsyswrapper.bb +++ b/recipes-common/lib_syscall_wrapper/libsyswrapper.bb @@ -6,7 +6,7 @@ PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" S = "${WORKDIR}/git" DEPENDS += "rdk-logger" SRC_URI = "${CMF_GITHUB_ROOT}/libSyscallWrapper;${CMF_GITHUB_SRC_URI_SUFFIX};name=libsyswrapper" -EXTRA_OECONF += "--enable-testapp" +#EXTRA_OECONF += "--enable-testapp" CFLAGS:append = " -Wall -Werror" CXXFLAGS:append = " -Wall -Werror" From b279a891fe8b5fd73bce1edf2acd1419af6083e8 Mon Sep 17 00:00:00 2001 From: tabbas651 <74683978+tabbas651@users.noreply.github.com> Date: Tue, 5 Aug 2025 09:42:06 -0400 Subject: [PATCH 022/274] RDKEMW-3750 : Upgrade Thunder to Version R4.4.3 (#112) * RDKEMW-3750 : Upgrade Thunder to Version R4.4.3 Reason for change: AddRef return type got changed in R4.4.3 Test Procedure: please referred ticket descriptions Risks: Medium Priority: P1 Signed-off-by: Thamim Razith * Added the WPEFramework SecurityUtility Disable Distro * Removed the AddRef template declaration from WebKitbrowser plugin code * updated the 0009-Thunder-R4.4.3-upgrade-Fix.patch --------- Signed-off-by: Thamim Razith --- .../files/0009-Thunder-R4.4.3-upgrade-Fix.patch | 12 ++++++++++++ .../webkitbrowser-plugin/webkitbrowser-plugin_git.bb | 1 + 2 files changed, 13 insertions(+) create mode 100644 recipes-extended/webkitbrowser-plugin/files/0009-Thunder-R4.4.3-upgrade-Fix.patch diff --git a/recipes-extended/webkitbrowser-plugin/files/0009-Thunder-R4.4.3-upgrade-Fix.patch b/recipes-extended/webkitbrowser-plugin/files/0009-Thunder-R4.4.3-upgrade-Fix.patch new file mode 100644 index 000000000..acacd1589 --- /dev/null +++ b/recipes-extended/webkitbrowser-plugin/files/0009-Thunder-R4.4.3-upgrade-Fix.patch @@ -0,0 +1,12 @@ +diff --git a/WebKitBrowser/Extension/main.cpp b/WebKitBrowser/Extension/main.cpp +index 24acca0fc..a25030b4f 100644 +--- a/WebKitBrowser/Extension/main.cpp ++++ b/WebKitBrowser/Extension/main.cpp +@@ -282,7 +282,3 @@ G_MODULE_EXPORT void webkit_web_extension_initialize_with_user_data(WebKitWebExt + } + + } +- +-// explicit instantiation so that -O1/2/3 flags do not introduce undefined symbols +-template void WPEFramework::Core::IPCMessageType<2u, WPEFramework::RPC::Data::Input, WPEFramework::RPC::Data::Output>::RawSerializedType::AddRef() const; +-template void WPEFramework::Core::IPCMessageType<2u, WPEFramework::RPC::Data::Input, WPEFramework::RPC::Data::Output>::RawSerializedType::AddRef() const; diff --git a/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb b/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb index 97e747606..7e40c629a 100644 --- a/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb +++ b/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb @@ -18,6 +18,7 @@ SRC_URI = "git://github.com/rdkcentral/rdkservices.git;protocol=git;branch=main file://0006-Introduce-state-aware-memory-observer.patch;patchdir=../ \ file://0007-Legacy-launch-metrics.patch;patchdir=../ \ file://0008-Thunder-upgrade-quirks.patch;patchdir=../ \ + file://0009-Thunder-R4.4.3-upgrade-Fix.patch;patchdir=../ \ " # Tip of the main at June 27, 2025 From 5a524707ee21a574e0dba096d4bc41992fade4dc Mon Sep 17 00:00:00 2001 From: Anooj Cherian K <65368227+acheri988@users.noreply.github.com> Date: Thu, 7 Aug 2025 10:17:20 -0400 Subject: [PATCH 023/274] RDKEMW-6829 : RDK-E : Remove oss rdkperf mw override (#202) * RDKEMW-6829 : RDK-E : Remove oss rdkperf mw override Reason for change: Remove oss rdkperf mw override Test Procedure: None Risks: Low Signed-off-by:Anooj Cheriyan * RDKEMW-6829 : RDK-E : Remove oss rdkperf mw override Reason for change: oss feed selective enable disable support in the middleware side Test Procedure: None Risks: Low Signed-off-by:Anooj Cheriyan --- conf/template/bblayers.conf.sample | 2 +- recipes-extended/rdkperf/rdkperf.bb | 86 ----------------------------- 2 files changed, 1 insertion(+), 87 deletions(-) delete mode 100644 recipes-extended/rdkperf/rdkperf.bb diff --git a/conf/template/bblayers.conf.sample b/conf/template/bblayers.conf.sample index 942d731cd..938816bca 100644 --- a/conf/template/bblayers.conf.sample +++ b/conf/template/bblayers.conf.sample @@ -28,7 +28,7 @@ BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_OSS_EXT') if d.getVar('MANIFEST_PATH_OSS BBLAYERS =+ " ${@d.getVar('MANIFEST_PATH_IMAGE_SUPPORT') if d.getVar('MANIFEST_PATH_IMAGE_SUPPORT') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_IMAGE_SUPPORT') + '/conf/layer.conf') else ''}" # Release layers: generic -BBLAYERS =+ "${@'${MANIFEST_PATH_OSS_RELEASE}' if os.path.isfile('${MANIFEST_PATH_OSS_RELEASE}/conf/layer.conf') else ''}" +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_OSS_RELEASE') if d.getVar('MANIFEST_PATH_OSS_RELEASE') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_OSS_RELEASE') + '/conf/layer.conf') else ''}" BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_VENDOR_RELEASE') if d.getVar('MANIFEST_PATH_VENDOR_RELEASE') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_VENDOR_RELEASE') + '/conf/layer.conf') else ''}" BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_CSPC_SECURITY_RELEASE') if d.getVar('MANIFEST_PATH_CSPC_SECURITY_RELEASE') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_CSPC_SECURITY_RELEASE') + '/conf/layer.conf') else ''}" diff --git a/recipes-extended/rdkperf/rdkperf.bb b/recipes-extended/rdkperf/rdkperf.bb deleted file mode 100644 index f285f86e4..000000000 --- a/recipes-extended/rdkperf/rdkperf.bb +++ /dev/null @@ -1,86 +0,0 @@ -DESCRIPTION = "RDK Perf - lightweight profiling tool for real time performance metrics reporting" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" - -FILESEXTRAPATHS:prepend := "${THISDIR}/files:" - -#DEPENDS = " " - -#USE_RDKPERF_SERVICE = "${@bb.utils.contains('DISTRO_FEATURES', 'rdkperf_service', "true", "", d)}" - -inherit systemd syslog-ng-config-gen -SYSLOG-NG_FILTER = "${@bb.utils.contains('DISTRO_FEATURES', 'rdkperf_service', "rdkperf", "", d)}" -SYSLOG-NG_SERVICE_rdkperf = "${@bb.utils.contains('DISTRO_FEATURES', 'rdkperf_service', "rdkperf.service", "", d)}" -SYSLOG-NG_DESTINATION_rdkperf = "${@bb.utils.contains('DISTRO_FEATURES', 'rdkperf_service', "rdkperf.log", "", d)}" -SYSLOG-NG_LOGRATE_rdkperf = "${@bb.utils.contains('DISTRO_FEATURES', 'rdkperf_service', "low", "", d)}" - -def use_rdk_perf_service(d): - if bb.utils.contains("DISTRO_FEATURES", "rdkperf_service", "true", "false", d) == "true": - # SYSLOG-NG_FILTER = bb.utils.contains("DISTRO_FEATURES", 'rdkperf_service', "rdkperf", "", d) - # SYSLOG-NG_SERVICE_rdkperf = bb.utils.contains("DISTRO_FEATURES", 'rdkperf_service', "rdkperf.service", "", d) - # SYSLOG-NG_DESTINATION_rdkperf = bb.utils.contains("DISTRO_FEATURES", 'rdkperf_service', "rdkperf.log", "", d) - # SYSLOG-NG_LOGRATE_rdkperf = bb.utils.contains("DISTRO_FEATURES", 'rdkperf_service', "low", "", d) - return "true" - else: - return "false" - -USE_RDKPERF_SERVICE = "${@use_rdk_perf_service(d)}" - -# git@github.com:rdkcentral/rdkperf.git -# Testing with development branch -#SRC_URI = "git://github.com/rdkcentral/rdkperf;protocol=git;branch=development" - -# Using the main branch -SRC_URI = "git://github.com/rdkcentral/rdkperf;protocol=git;branch=main" - -PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" - -PV ?= "1.0.0" -PR ?= "r0" -S = "${WORKDIR}/git" - - -RDKPERF_BUILD_FLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'rdkperf_service', "ENABLE_PERF_REMOTE=1", "", d)}" - -do_configure() { - echo "RDKPERF Configure" - oe_runmake -C ${S} -f Makefile ${RDKPERF_BUILD_FLAGS} clean -} - -do_compile () { - oe_runmake -C ${S} -f Makefile ${RDKPERF_BUILD_FLAGS} -} - -do_install() { - install -d ${D}/usr/lib - install -d ${D}/usr/include - install -m 0755 ${S}/build/librdkperf.so ${D}/usr/lib - install -m 0755 ${S}/build/libperftool.so ${D}/usr/lib - install -m 0644 ${S}/rdkperf/rdk_perf.h ${D}/usr/include - install -m 0644 ${S}/src/*.h ${D}/usr/include -} - -do_install:append() { - if [ "x${USE_RDKPERF_SERVICE}" = "xtrue" ]; then - echo "Installing RDKPerf service" - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${S}/service/rdkperf.service ${D}${systemd_unitdir}/system/rdkperf.service - - install -d ${D}/usr/bin - install -m 0755 ${S}/build/perfservice ${D}/usr/bin - - fi -} - - -SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'rdkperf_service', "rdkperf.service", "", d)}" -FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'rdkperf_service', "${systemd_unitdir}/system/rdkperf.service", "", d)}" - -INSANE_SKIP:${PN} = "dev-so" -FILES_SOLIBSDEV = "" -FILES:${PN} += "${libdir}/*.so" - -INSANE_SKIP:${PN} += "ldflags" - - From b2cc58a8291fde741528cf5547534e258c6ff8f0 Mon Sep 17 00:00:00 2001 From: Deepthi C Shetty <115452109+dshett549@users.noreply.github.com> Date: Mon, 11 Aug 2025 18:36:50 +0530 Subject: [PATCH 024/274] RDKEMW-6709: RDKLogger Migration (#199) * RDKEMW-6709: RDKLogger Migration Reason for change: To have single version of rdklogger across RDKB, RDKV & RDKE Test Procedure: Tested and verified Risks: Medium Signed-off-by: dshett549 --- recipes-common/rdk-logger/rdk-logger_git.bb | 24 ++++--------------- .../bluetooth/bluetooth-core_git.bb | 5 ++++ 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/recipes-common/rdk-logger/rdk-logger_git.bb b/recipes-common/rdk-logger/rdk-logger_git.bb index 7c6bf23ce..b57789ef8 100644 --- a/recipes-common/rdk-logger/rdk-logger_git.bb +++ b/recipes-common/rdk-logger/rdk-logger_git.bb @@ -1,28 +1,20 @@ -SUMMARY = "This receipe compiles rmfcore code base. This has interface clasess that would be necessary for all the mediaplayers" +SUMMARY = "This recipe builds the rdk_logger code base, providing logging interfaces required by all mediaplayers" SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -PV ?= "1.0.0" -PR ?= "r1" +PV = "2.0.0" +PR = "r0" -SRCREV = "a3bacc8b8660a03f3e4a1ebdb6cf466a8d190ecb" -SRCREV_FORMAT = "rdklogger" +SRCREV = "0087a47dbc6c28905f7fd4424a43ed1fc8874389" - -SRC_URI = "${CMF_GITHUB_ROOT}/rdk_logger;${CMF_GITHUB_SRC_URI_SUFFIX}" +SRC_URI = "${CMF_GITHUB_ROOT}/rdk_logger;protocol=https;branch=main" S = "${WORKDIR}/git" DEPENDS = "log4c glib-2.0" DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " ", d)}" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd syslog-helper', '', d)}" - -# RDK-E remove syslog_helper RDK-42429 -DEPENDS:remove = "syslog-helper" - -PACKAGECONFIG[systemd-syslog-helper] = "--enable-systemd-syslog-helper,," #Milestone Support EXTRA_OECONF += " --enable-milestone" @@ -37,12 +29,6 @@ CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-confi CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', '', ' -DSAFEC_DUMMY_API', d)}" LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --libs libsafec`', '', d)}" -do_configure:append:broadband () { - #Use the RDKB Versions of the Files - install -m 644 ${S}/rdkb_debug.ini ${S}/debug.ini - install -m 644 ${S}/rdkb_log4crc ${S}/log4crc -} - do_install:append () { install -d ${D}${base_libdir}/rdk/ install -m 0755 ${S}/scripts/logMilestone.sh ${D}${base_libdir}/rdk diff --git a/recipes-connectivity/bluetooth/bluetooth-core_git.bb b/recipes-connectivity/bluetooth/bluetooth-core_git.bb index ccdc96364..60444d13d 100644 --- a/recipes-connectivity/bluetooth/bluetooth-core_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-core_git.bb @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" BLUEZ ?= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5', 'bluez4', d), '', d)}" DEPENDS = "dbus ${BLUEZ} rdk-logger" +DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " ", d)}" DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'gdbus_bluez5', 'glib-2.0-native', '', d)}" RDEPENDS:${PN} = "dbus ${BLUEZ} rdk-logger" @@ -20,6 +21,10 @@ SRCREV_FORMAT = "bluetooth-core" SRC_URI = "${CMF_GITHUB_ROOT}/bluetooth;${CMF_GITHUB_SRC_URI_SUFFIX}" S = "${WORKDIR}/git" +CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --cflags libsafec`', '-fPIC', d)}" + +CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', '', ' -DSAFEC_DUMMY_API', d)}" +LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --libs libsafec`', '', d)}" CFLAGS:append:morty = " -DMORTY_BUILD" CFLAGS:append:daisy = " -DMORTY_BUILD" From 68ae391b16551cc9a1428d7f031afe3e28cb1b93 Mon Sep 17 00:00:00 2001 From: rosemarybennyy Date: Tue, 12 Aug 2025 19:33:31 +0530 Subject: [PATCH 025/274] RDKEMW-5995 - Addressing Coverity issues reported (#212) Reason for change: Addressing thecoverity issues Test Procedure: Tested & verified --- recipes-common/rbus/rbus.bb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes-common/rbus/rbus.bb b/recipes-common/rbus/rbus.bb index 9aa01bbe0..47605804e 100644 --- a/recipes-common/rbus/rbus.bb +++ b/recipes-common/rbus/rbus.bb @@ -3,13 +3,13 @@ SUMMARY = "rbus library component" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=ed63516ecab9f06e324238dd2b259549" -SRC_URI = "git://github.com/rdkcentral/rbus.git;branch=develop" +SRC_URI = "git://github.com/rdkcentral/rbus.git;branch=main" -SRCREV = "8bd2bd90ab69f8933220d966a04ddfc657d8fd08" +SRCREV = "4cc34e9c8190369d05bf9b6ecbf5449f047654ee" SRCREV_FORMAT = "base" -PV ?= "2.6.0" -PR ?= "r7" +PV ?= "2.7.0" +PR ?= "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From 031ee042a8682739a1016133de3087eaf395d71a Mon Sep 17 00:00:00 2001 From: Deepthi C Shetty <115452109+dshett549@users.noreply.github.com> Date: Tue, 12 Aug 2025 20:03:35 +0530 Subject: [PATCH 026/274] RDKEMW-5995 - Addressing Coverity issues reported (#214) --- 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 47605804e..93fdd5ab3 100644 --- a/recipes-common/rbus/rbus.bb +++ b/recipes-common/rbus/rbus.bb @@ -3,7 +3,7 @@ SUMMARY = "rbus library component" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=ed63516ecab9f06e324238dd2b259549" -SRC_URI = "git://github.com/rdkcentral/rbus.git;branch=main" +SRC_URI = "git://github.com/rdkcentral/rbus.git;branch=release" SRCREV = "4cc34e9c8190369d05bf9b6ecbf5449f047654ee" SRCREV_FORMAT = "base" From 73dc4ee2f04c4c4173a20404b600256af6da15f8 Mon Sep 17 00:00:00 2001 From: ANANTHMARIMUTHU Date: Thu, 14 Aug 2025 22:51:40 +0000 Subject: [PATCH 027/274] DELIA-68646: Synchronize the Bluetooth updates between RDK-V and RDK-E Reason for change: sync the bluetooth changes Signed-off-by: Ananth Marimuthu --- recipes-connectivity/bluetooth/bluetooth-core_git.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes-connectivity/bluetooth/bluetooth-core_git.bb b/recipes-connectivity/bluetooth/bluetooth-core_git.bb index 60444d13d..a802ab804 100644 --- a/recipes-connectivity/bluetooth/bluetooth-core_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-core_git.bb @@ -28,6 +28,10 @@ LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-confi CFLAGS:append:morty = " -DMORTY_BUILD" CFLAGS:append:daisy = " -DMORTY_BUILD" +# BT unsupported gamepad feature enabled +ENABLE_UNSUPPORT_GAMEPAD = "--enable-unsupportedgamepad=${@bb.utils.contains('DISTRO_FEATURES', 'disable_unsupported_gamepad','no','yes',d)}" +EXTRA_OECONF += " ${ENABLE_UNSUPPORT_GAMEPAD} " + ENABLE_BTR_IFCE = "--enable-btr-ifce=${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', \ bb.utils.contains('DISTRO_FEATURES', 'gdbus_bluez5', 'gdbus_bluez5', \ bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5', 'bluez4', d), d), 'none', d)}" From 4face6cb157ee4b5d81f724d61df722e3deef0d8 Mon Sep 17 00:00:00 2001 From: Filipe Norte Date: Wed, 20 Aug 2025 14:17:27 +0000 Subject: [PATCH 028/274] RDK-58744: Move dependency to service that needs it Services that require this cache cleanup service to run, shall specify the dependency to it to avoid platform or product specific dependencies in generic layers. Ensure this service runs only once on each boot, if required. Signed-off-by: Filipe Norte --- .../files/webkit-browser-cache-cleanup.service | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes-extended/webkitbrowser-plugin/files/webkit-browser-cache-cleanup.service b/recipes-extended/webkitbrowser-plugin/files/webkit-browser-cache-cleanup.service index fe36c2377..b565a80ed 100644 --- a/recipes-extended/webkitbrowser-plugin/files/webkit-browser-cache-cleanup.service +++ b/recipes-extended/webkitbrowser-plugin/files/webkit-browser-cache-cleanup.service @@ -2,11 +2,13 @@ Description=Cleans up browser cache After=local-fs.target storagemgrmain.service -Before=wpeframework.service [Service] Type=oneshot ExecStart=-/bin/sh -c '/lib/rdk/clearWebkitBrowserCache.sh' +# Ensure this service runs only once ever after boot, independently +# of other services being restarted that depend on this one +RemainAfterExit=yes [Install] WantedBy=multi-user.target From 343062c735551ab4147517f30763a70cf724a51d Mon Sep 17 00:00:00 2001 From: ANANTHMARIMUTHU <49443026+ANANTHMARIMUTHU@users.noreply.github.com> Date: Mon, 25 Aug 2025 08:57:48 -0400 Subject: [PATCH 029/274] Revert "DELIA-68646: Synchronize the Bluetooth updates between RDK-V and RDK-E" --- recipes-connectivity/bluetooth/bluetooth-core_git.bb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/recipes-connectivity/bluetooth/bluetooth-core_git.bb b/recipes-connectivity/bluetooth/bluetooth-core_git.bb index a802ab804..60444d13d 100644 --- a/recipes-connectivity/bluetooth/bluetooth-core_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-core_git.bb @@ -28,10 +28,6 @@ LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-confi CFLAGS:append:morty = " -DMORTY_BUILD" CFLAGS:append:daisy = " -DMORTY_BUILD" -# BT unsupported gamepad feature enabled -ENABLE_UNSUPPORT_GAMEPAD = "--enable-unsupportedgamepad=${@bb.utils.contains('DISTRO_FEATURES', 'disable_unsupported_gamepad','no','yes',d)}" -EXTRA_OECONF += " ${ENABLE_UNSUPPORT_GAMEPAD} " - ENABLE_BTR_IFCE = "--enable-btr-ifce=${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', \ bb.utils.contains('DISTRO_FEATURES', 'gdbus_bluez5', 'gdbus_bluez5', \ bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5', 'bluez4', d), d), 'none', d)}" From 9502ec4778c289bca04868c8acc683e6a430fb28 Mon Sep 17 00:00:00 2001 From: nhanas001c Date: Mon, 25 Aug 2025 18:34:06 +0000 Subject: [PATCH 030/274] RDKB-60919: Port Optimized RFCMGR source code to RDKB Reason for change: Update recipe to use federated model Test Procedure: Build and Verify Risks: low Signed-off-by: nhanas001c --- recipes-common/rfc/rfc_git.bb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index d032b9ded..c239ec72d 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -14,8 +14,13 @@ export cjson_CFLAGS = "-I$(PKG_CONFIG_SYSROOT_DIR)${includedir}/cjson" export cjson_LIBS = "-lcjson" DEPENDS="cjson curl commonutilities libsyswrapper iarmmgrs-hal-headers" +DEPENDS_append_broadband += " rbus" +export rbus_CFLAGS = "-I$(PKG_CONFIG_SYSROOT_DIR)${includedir}/rbus" +export rbus_LIBS = "-lrbus" + EXTRA_OEMAKE += "-e MAKEFLAGS=" EXTRA_OECONF:append = " --enable-iarmbus=yes --enable-tr69hostif=yes" +EXTRA_OECONF_append_broadband = " --enable-rdkb=yes --enable-tr181set=yes" inherit autotools pkgconfig coverity From d173d13814eb5158a647f28ba3197474d2b9f6e8 Mon Sep 17 00:00:00 2001 From: ANANTHMARIMUTHU <49443026+ANANTHMARIMUTHU@users.noreply.github.com> Date: Tue, 26 Aug 2025 11:42:17 -0400 Subject: [PATCH 031/274] Revert "Revert "DELIA-68646: Synchronize the Bluetooth updates between RDK-V and RDK-E"" --- recipes-connectivity/bluetooth/bluetooth-core_git.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes-connectivity/bluetooth/bluetooth-core_git.bb b/recipes-connectivity/bluetooth/bluetooth-core_git.bb index 60444d13d..a802ab804 100644 --- a/recipes-connectivity/bluetooth/bluetooth-core_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-core_git.bb @@ -28,6 +28,10 @@ LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-confi CFLAGS:append:morty = " -DMORTY_BUILD" CFLAGS:append:daisy = " -DMORTY_BUILD" +# BT unsupported gamepad feature enabled +ENABLE_UNSUPPORT_GAMEPAD = "--enable-unsupportedgamepad=${@bb.utils.contains('DISTRO_FEATURES', 'disable_unsupported_gamepad','no','yes',d)}" +EXTRA_OECONF += " ${ENABLE_UNSUPPORT_GAMEPAD} " + ENABLE_BTR_IFCE = "--enable-btr-ifce=${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', \ bb.utils.contains('DISTRO_FEATURES', 'gdbus_bluez5', 'gdbus_bluez5', \ bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5', 'bluez4', d), d), 'none', d)}" From 1e63e68f5e47d41ebd45b980374ee1ce5ca98d7d Mon Sep 17 00:00:00 2001 From: nhanasi Date: Tue, 2 Sep 2025 10:39:53 -0400 Subject: [PATCH 032/274] Update rfc_git.bb --- recipes-common/rfc/rfc_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index c239ec72d..e4dc7e41f 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -14,13 +14,13 @@ export cjson_CFLAGS = "-I$(PKG_CONFIG_SYSROOT_DIR)${includedir}/cjson" export cjson_LIBS = "-lcjson" DEPENDS="cjson curl commonutilities libsyswrapper iarmmgrs-hal-headers" -DEPENDS_append_broadband += " rbus" +DEPENDS:append:broadband += " rbus" export rbus_CFLAGS = "-I$(PKG_CONFIG_SYSROOT_DIR)${includedir}/rbus" export rbus_LIBS = "-lrbus" EXTRA_OEMAKE += "-e MAKEFLAGS=" EXTRA_OECONF:append = " --enable-iarmbus=yes --enable-tr69hostif=yes" -EXTRA_OECONF_append_broadband = " --enable-rdkb=yes --enable-tr181set=yes" +EXTRA_OECONF:append:broadband = " --enable-rdkb=yes --enable-tr181set=yes" inherit autotools pkgconfig coverity From 9afb2760a9e083870673f5dd67dbd08cfdf79d5d Mon Sep 17 00:00:00 2001 From: ssitar583 Date: Sun, 7 Sep 2025 18:41:57 +0530 Subject: [PATCH 033/274] Update dobby.inc --- recipes-containers/dobby/dobby.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index 49cc46ef6..9013ba702 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,4 +1,4 @@ -SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.14" +SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.15" -PV = "3.14.1+git${SRCPV}" -SRCREV = "b9668168a2875b94ac487a869362176d59350dc9" +PV = "3.15.0+git${SRCPV}" +SRCREV = "59381966b7251d46a28ef7897a290662ca6009cb" From 10bdc67a8ddbecc50e7fe9f822870a78abc34d6b Mon Sep 17 00:00:00 2001 From: Divyang Abhay Sarangi Date: Thu, 11 Sep 2025 14:47:04 -0400 Subject: [PATCH 034/274] RDKEMW-7699: Merge release branch into develop for MW 8.3.3.0 Q3 Bi-Weekly Release (#238) * Adding changelog * Adding changelog * Adding changelog * Adding changelog --------- Co-authored-by: plaksh002c-public Co-authored-by: svc_rdkgerrit02 --- CHANGELOG.md | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 407bf0934..e07dfc7c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,13 +4,101 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [1.10.0](https://github.com/rdkcentral/meta-rdk/compare/1.9.0...1.10.0) + +- Revert "Revert "DELIA-68646: Synchronize the Bluetooth updates between RDK-V and RDK-E"" [`#226`](https://github.com/rdkcentral/meta-rdk/pull/226) +- Revert "DELIA-68646: Synchronize the Bluetooth updates between RDK-V and RDK-E" [`#223`](https://github.com/rdkcentral/meta-rdk/pull/223) +- DELIA-68646: Synchronize the Bluetooth updates between RDK-V and RDK-E [`#217`](https://github.com/rdkcentral/meta-rdk/pull/217) +- RDK-58744: Move dependency to service that needs it [`#220`](https://github.com/rdkcentral/meta-rdk/pull/220) +- RDKEMW-5995 - Addressing Coverity issues reported [`#214`](https://github.com/rdkcentral/meta-rdk/pull/214) +- RDKEMW-5995 - Addressing Coverity issues reported [`#212`](https://github.com/rdkcentral/meta-rdk/pull/212) +- RDKEMW-6709: RDKLogger Migration [`#199`](https://github.com/rdkcentral/meta-rdk/pull/199) +- RDKEMW-6378: Update libsyswrapper.bb [`#195`](https://github.com/rdkcentral/meta-rdk/pull/195) +- RDKEMW-6378 : rebase [`#206`](https://github.com/rdkcentral/meta-rdk/pull/206) +- RDKEMW-6829 : RDK-E : Remove oss rdkperf mw override [`#202`](https://github.com/rdkcentral/meta-rdk/pull/202) +- RDKEMW-3750 : Upgrade Thunder to Version R4.4.3 [`#112`](https://github.com/rdkcentral/meta-rdk/pull/112) +- RDKEMW-6672: Memcr ver from 22.07.2025, checksum enabled [`#192`](https://github.com/rdkcentral/meta-rdk/pull/192) + +#### [1.9.0](https://github.com/rdkcentral/meta-rdk/compare/1.8.1...1.9.0) + +> 7 August 2025 + +- Update rdkcertconfig.bb [`#123`](https://github.com/rdkcentral/meta-rdk/pull/123) +- RDKEMW-6474 : Update the rbus branch [`#183`](https://github.com/rdkcentral/meta-rdk/pull/183) +- RDK-57964 : Integrate Telemetry T2 for systimemgr [`#156`](https://github.com/rdkcentral/meta-rdk/pull/156) +- RDKEMW-3037: Middleware CI manifests with the common us tv config [`#167`](https://github.com/rdkcentral/meta-rdk/pull/167) +- RDKEMW-3037 : Develop sync [`#168`](https://github.com/rdkcentral/meta-rdk/pull/168) +- RDKEMW-5971 Review and cleanup RFC scripts [`#165`](https://github.com/rdkcentral/meta-rdk/pull/165) +- rebase [`#166`](https://github.com/rdkcentral/meta-rdk/pull/166) +- RDKEMW-4807: Fix bitbake parse error [`#164`](https://github.com/rdkcentral/meta-rdk/pull/164) +- rebase [`#163`](https://github.com/rdkcentral/meta-rdk/pull/163) +- Update rbus to v2.6.0 [`#162`](https://github.com/rdkcentral/meta-rdk/pull/162) +- RDKEVD-1986: Bring autoconnect to develop [`#153`](https://github.com/rdkcentral/meta-rdk/pull/153) +- RDKEMW-749: add libmanette changes to middleware [`#94`](https://github.com/rdkcentral/meta-rdk/pull/94) +- RDKTV-34129: [WebKitBrowser] Use SIGHUP for suspended web process [`#143`](https://github.com/rdkcentral/meta-rdk/pull/143) +- RDK-57917 Update T2 Events for rdm_status.log [`#111`](https://github.com/rdkcentral/meta-rdk/pull/111) +- rebase [`#139`](https://github.com/rdkcentral/meta-rdk/pull/139) +- RDKEMW-5066: Install RBUS Test binaries only when RBUS_ENABLE_TEST_APPS distro enabled [`#130`](https://github.com/rdkcentral/meta-rdk/pull/130) +- rebase [`#137`](https://github.com/rdkcentral/meta-rdk/pull/137) +- Adding changelog [`a5c04cc`](https://github.com/rdkcentral/meta-rdk/commit/a5c04cc8ecc11acb34bf78d51102979cc5d55f72) +- Update rdmagent.bb [`1785f6c`](https://github.com/rdkcentral/meta-rdk/commit/1785f6c97dbe8da8d12778ae93a7a93588fc16a6) +- Update rdmagent.bb [`c3d2d01`](https://github.com/rdkcentral/meta-rdk/commit/c3d2d018be002be7fc590e0875f4dbb26dd96cab) + +#### [1.8.1](https://github.com/rdkcentral/meta-rdk/compare/1.8.0...1.8.1) + +> 1 August 2025 + +- Adding changelog [`3a895a6`](https://github.com/rdkcentral/meta-rdk/commit/3a895a6148d9b78c3a6b9150f2e3205de429a915) +- RDKEMW-6476: Merge pull request #178 from rdkcentral/topic/RDKEMW-6467 [`4ef4347`](https://github.com/rdkcentral/meta-rdk/commit/4ef4347540ac9a67b373751e23570cd3b96428de) +- Release of RBus-2.4.0 [`19b2f6c`](https://github.com/rdkcentral/meta-rdk/commit/19b2f6cf855aa71a46b5c2deb01d16ca8521ecde) + +#### [1.8.0](https://github.com/rdkcentral/meta-rdk/compare/1.7.1...1.8.0) + +> 30 June 2025 + +- Adding changelog [`13169a4`](https://github.com/rdkcentral/meta-rdk/commit/13169a48dca7d9434ebe7a4c73e1d298e47fab71) + +#### [1.7.1](https://github.com/rdkcentral/meta-rdk/compare/1.6.0...1.7.1) + +> 27 June 2025 + +- RDKEMW-2278: Removal of WPEFrameworkSecurity Agent Utility [`#122`](https://github.com/rdkcentral/meta-rdk/pull/122) +- Update rbus to v2.5.0 [`#128`](https://github.com/rdkcentral/meta-rdk/pull/128) +- RDKEMW-5066: Avoid installation of files when prod distro_features enabled [`#126`](https://github.com/rdkcentral/meta-rdk/pull/126) +- Update rdk-logger_git.bb [`#124`](https://github.com/rdkcentral/meta-rdk/pull/124) +- RDKEMW-4044: [Dobby] Fix coverity identified issues [`#116`](https://github.com/rdkcentral/meta-rdk/pull/116) +- Adding changelog [`766cde4`](https://github.com/rdkcentral/meta-rdk/commit/766cde410342480b86bc02d489b3af7e268f79be) +- Update dobby.inc [`5d6ecc8`](https://github.com/rdkcentral/meta-rdk/commit/5d6ecc8799ab056a7c5d89131e8c069b384fbf0d) + +#### [1.6.0](https://github.com/rdkcentral/meta-rdk/compare/1.5.0...1.6.0) + +> 11 June 2025 + +- Adding changelog [`9d53b58`](https://github.com/rdkcentral/meta-rdk/commit/9d53b58537434475dcf1b6daebcf946675acbc6c) + +#### [1.5.0](https://github.com/rdkcentral/meta-rdk/compare/1.4.0...1.5.0) + +> 3 June 2025 + +- RDK-57692: Federated RDM Agent [`#98`](https://github.com/rdkcentral/meta-rdk/pull/98) +- RDKEMW-4428: bringup meta-sharp-m120 layer [`#97`](https://github.com/rdkcentral/meta-rdk/pull/97) +- RDK-56852 [RDKE] Analyze and remove Unmapped/unused Telemetry binaries [`#96`](https://github.com/rdkcentral/meta-rdk/pull/96) +- RDKEMW-3586 : Replace mount with systemd mount service and remove any unused configurations. [`#76`](https://github.com/rdkcentral/meta-rdk/pull/76) +- Adding changelog [`#92`](https://github.com/rdkcentral/meta-rdk/pull/92) +- RdmAgent : Systemd Mount [`faa0e48`](https://github.com/rdkcentral/meta-rdk/commit/faa0e48b3be496598913ea7635c025944a538143) +- RDM System Mount [`761f9c6`](https://github.com/rdkcentral/meta-rdk/commit/761f9c6e209a92eda560453de4192c241941c785) +- RDKEMW-3586 : Replacing mount with systemdMount - Removal of apps_prerdm.sh [`9e788f8`](https://github.com/rdkcentral/meta-rdk/commit/9e788f8459762c21401bf2017415dbb573f83fd9) + #### [1.4.0](https://github.com/rdkcentral/meta-rdk/compare/1.3.0...1.4.0) +> 15 May 2025 + - RDKEMW-3974: Enable "maintenance_journal_logging" DISTRO [`#84`](https://github.com/rdkcentral/meta-rdk/pull/84) - RDKEMW-4017: Updated Dobby version to 3.14.0 [`#86`](https://github.com/rdkcentral/meta-rdk/pull/86) - rebase [`#89`](https://github.com/rdkcentral/meta-rdk/pull/89) - RDK-56904: System time mgr include config changes [`#49`](https://github.com/rdkcentral/meta-rdk/pull/49) - RDKEMW-3121:Update BTmgr client to use Power manager Plugin [`#80`](https://github.com/rdkcentral/meta-rdk/pull/80) +- Adding changelog [`4ff2136`](https://github.com/rdkcentral/meta-rdk/commit/4ff2136879a7a9b061068f95ae1d3a863ff1c269) - RDK-57550: Updated Dobby version to 3.14.0 [`ac74367`](https://github.com/rdkcentral/meta-rdk/commit/ac74367027503865b3e921c5bae6f948d33a94ec) #### [1.3.0](https://github.com/rdkcentral/meta-rdk/compare/1.2.0...1.3.0) From d060ff3d5f8584b613e9057ead673c6c7b1f4e55 Mon Sep 17 00:00:00 2001 From: nhanasi Date: Mon, 15 Sep 2025 11:40:33 -0400 Subject: [PATCH 035/274] Update rfc_git.bb --- recipes-common/rfc/rfc_git.bb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index e4dc7e41f..dd86f28ef 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -13,7 +13,7 @@ S = "${WORKDIR}/git" export cjson_CFLAGS = "-I$(PKG_CONFIG_SYSROOT_DIR)${includedir}/cjson" export cjson_LIBS = "-lcjson" -DEPENDS="cjson curl commonutilities libsyswrapper iarmmgrs-hal-headers" +DEPENDS="cjson curl commonutilities libsyswrapper iarmmgrs-hal-headers rdkcertconfig" DEPENDS:append:broadband += " rbus" export rbus_CFLAGS = "-I$(PKG_CONFIG_SYSROOT_DIR)${includedir}/rbus" export rbus_LIBS = "-lrbus" @@ -21,6 +21,14 @@ export rbus_LIBS = "-lrbus" EXTRA_OEMAKE += "-e MAKEFLAGS=" EXTRA_OECONF:append = " --enable-iarmbus=yes --enable-tr69hostif=yes" EXTRA_OECONF:append:broadband = " --enable-rdkb=yes --enable-tr181set=yes" +EXTRA_OECONF += " --enable-rdkcertselector=yes" +EXTRA_OEMAKE += "LIBS='-lsafec'" + +DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " ", d)}" +CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --cflags libsafec`', '-fPIC', d)}" +CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', '', ' -DSAFEC_DUMMY_API', d)}" +LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --libs libsafec`', '', d)}" +LDFLAGS:append_morty = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' -Wl,--no-as-needed -lsafec-3.5.1 -Wl,--as-needed', '', d)}" inherit autotools pkgconfig coverity From c9bd3d716e2f6f4a2b1368d5e63ae73baec63f12 Mon Sep 17 00:00:00 2001 From: nhanasi Date: Mon, 15 Sep 2025 14:29:35 -0400 Subject: [PATCH 036/274] Update rfc_git.bb --- recipes-common/rfc/rfc_git.bb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index dd86f28ef..2d96df69b 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -13,7 +13,7 @@ S = "${WORKDIR}/git" export cjson_CFLAGS = "-I$(PKG_CONFIG_SYSROOT_DIR)${includedir}/cjson" export cjson_LIBS = "-lcjson" -DEPENDS="cjson curl commonutilities libsyswrapper iarmmgrs-hal-headers rdkcertconfig" +DEPENDS="cjson curl commonutilities libsyswrapper iarmmgrs-hal-headers" DEPENDS:append:broadband += " rbus" export rbus_CFLAGS = "-I$(PKG_CONFIG_SYSROOT_DIR)${includedir}/rbus" export rbus_LIBS = "-lrbus" @@ -21,7 +21,6 @@ export rbus_LIBS = "-lrbus" EXTRA_OEMAKE += "-e MAKEFLAGS=" EXTRA_OECONF:append = " --enable-iarmbus=yes --enable-tr69hostif=yes" EXTRA_OECONF:append:broadband = " --enable-rdkb=yes --enable-tr181set=yes" -EXTRA_OECONF += " --enable-rdkcertselector=yes" EXTRA_OEMAKE += "LIBS='-lsafec'" DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " ", d)}" From 312c18593464fd1c7bb860afc231e0b0e8ab31f0 Mon Sep 17 00:00:00 2001 From: Sriram Giridharan <42592383+Rocksta818@users.noreply.github.com> Date: Wed, 17 Sep 2025 15:25:22 -0400 Subject: [PATCH 037/274] Update auto_pr_creation to pick up support branch commits --- .github/workflows/auto_pr_creation_target_repo_caller.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/auto_pr_creation_target_repo_caller.yml b/.github/workflows/auto_pr_creation_target_repo_caller.yml index 8d3c010b9..12066dcc9 100644 --- a/.github/workflows/auto_pr_creation_target_repo_caller.yml +++ b/.github/workflows/auto_pr_creation_target_repo_caller.yml @@ -6,6 +6,7 @@ on: branches: - develop - support/dunfell + - 'support/*.*.*' jobs: call_auto_pr_workflow: From 93ed5a1a43bed5c1d33a5a1a039b566ea244eeb7 Mon Sep 17 00:00:00 2001 From: rdkcmf Date: Fri, 26 Sep 2025 11:32:34 +0100 Subject: [PATCH 038/274] Deploy cla action --- .github/workflows/cla.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml index 055047932..c58b1b0b1 100644 --- a/.github/workflows/cla.yml +++ b/.github/workflows/cla.yml @@ -1,13 +1,20 @@ name: "CLA" + +permissions: + contents: read + pull-requests: write + actions: write + statuses: write + on: issue_comment: types: [created] pull_request_target: - types: [opened,closed,synchronize] + types: [opened, closed, synchronize] jobs: CLA-Lite: name: "Signature" - uses: rdkcentral/cmf-actions/.github/workflows/cla.yml@main + uses: rdkcentral/cmf-actions/.github/workflows/cla.yml@v1 secrets: - PERSONAL_ACCESS_TOKEN: ${{ secrets.CLA_ASSISTANT }} \ No newline at end of file + PERSONAL_ACCESS_TOKEN: ${{ secrets.CLA_ASSISTANT }} From 808c0e0a9ffbe98670e96816e4c6ba3f2fef0738 Mon Sep 17 00:00:00 2001 From: Gomathi Shankar Date: Mon, 29 Sep 2025 16:19:24 +0530 Subject: [PATCH 039/274] RDK-58433: Add meminsight Recipe (#174) --- .../meminsight/files/conf/client-path.conf | 22 ++++++++++ .../meminsight/files/conf/client.conf | 26 ++++++++++++ .../meminsight/files/meminsight-runner.path | 29 +++++++++++++ .../files/meminsight-runner.service | 32 +++++++++++++++ recipes-common/meminsight/meminsight_git.bb | 41 +++++++++++++++++++ 5 files changed, 150 insertions(+) create mode 100644 recipes-common/meminsight/files/conf/client-path.conf create mode 100644 recipes-common/meminsight/files/conf/client.conf create mode 100644 recipes-common/meminsight/files/meminsight-runner.path create mode 100644 recipes-common/meminsight/files/meminsight-runner.service create mode 100644 recipes-common/meminsight/meminsight_git.bb diff --git a/recipes-common/meminsight/files/conf/client-path.conf b/recipes-common/meminsight/files/conf/client-path.conf new file mode 100644 index 000000000..b0aaac9c3 --- /dev/null +++ b/recipes-common/meminsight/files/conf/client-path.conf @@ -0,0 +1,22 @@ +########################################################################## +# If not stated otherwise in this file or this component's Licenses.txt +# file the following copyright and licenses apply: +# +# Copyright 2021 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################## + +[Path] +PathExists=/opt/.enable_meminsight + diff --git a/recipes-common/meminsight/files/conf/client.conf b/recipes-common/meminsight/files/conf/client.conf new file mode 100644 index 000000000..15a6865c9 --- /dev/null +++ b/recipes-common/meminsight/files/conf/client.conf @@ -0,0 +1,26 @@ +########################################################################## +# If not stated otherwise in this file or this component's Licenses.txt +# file the following copyright and licenses apply: +# +# Copyright 2021 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################## + +[Unit] +Requires=tr69hostif.service +After=tr69hostif.service + +[Service] +ExecStartPre=/bin/sh -c 'RESULT=$(/usr/bin/tr181 Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.xMemInsight.Args 2>&1 || echo "") && echo "ARGS=$RESULT" > /tmp/meminsight.env' + diff --git a/recipes-common/meminsight/files/meminsight-runner.path b/recipes-common/meminsight/files/meminsight-runner.path new file mode 100644 index 000000000..c79e648ce --- /dev/null +++ b/recipes-common/meminsight/files/meminsight-runner.path @@ -0,0 +1,29 @@ +########################################################################## +# If not stated otherwise in this file or this component's Licenses.txt +# file the following copyright and licenses apply: +# +# Copyright 2021 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################## + +[Unit] +Description=MemInsight Enable Path Monitor +OnFailure=path-fail-notifier@%n.service + +[Path] +Unit=meminsight-runner.service + +[Install] +WantedBy=multi-user.target + diff --git a/recipes-common/meminsight/files/meminsight-runner.service b/recipes-common/meminsight/files/meminsight-runner.service new file mode 100644 index 000000000..c5e3c6316 --- /dev/null +++ b/recipes-common/meminsight/files/meminsight-runner.service @@ -0,0 +1,32 @@ +########################################################################## +# If not stated otherwise in this file or this component's Licenses.txt +# file the following copyright and licenses apply: +# +# Copyright 2021 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################## + +[Unit] +Description=MemInsight Memory Stats Runner + +[Service] +Type=oneshot +RemainAfterExit=yes +EnvironmentFile=-/tmp/meminsight.env +ExecStart=/usr/bin/xmeminsight $ARGS +ExecStop=-/bin/rm /tmp/meminsight.env + +[Install] +WantedBy=multi-user.target + diff --git a/recipes-common/meminsight/meminsight_git.bb b/recipes-common/meminsight/meminsight_git.bb new file mode 100644 index 000000000..cd8cfb6c3 --- /dev/null +++ b/recipes-common/meminsight/meminsight_git.bb @@ -0,0 +1,41 @@ +SUMMARY = "Memory insight utility and runner service" +SECTION = "console/utils" +DESCRIPTION = "meminsight: system/process memory statistics collection tool with systemd runner service." + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1c020dfe1abb4e684874a44de1244c28" +SRC_URI = "${CMF_GITHUB_ROOT}/${BPN}.git;nobranch=1;protocol=${CMF_GIT_PROTOCOL}" + +SRC_URI:append = " file://meminsight-runner.service \ + file://meminsight-runner.path \ + file://conf/client.conf \ + file://conf/client-path.conf \ + " + +SRCREV = "f83f1804827cca0550d525d971f4337998d6ac1d" +PV = "1.0" +S = "${WORKDIR}/git" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit autotools systemd + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${B}/xmeminsight ${D}${bindir}/xmeminsight + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/meminsight-runner.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/meminsight-runner.path ${D}${systemd_unitdir}/system/ + install -d ${D}${systemd_unitdir}/system/meminsight-runner.service.d + install -d ${D}${systemd_unitdir}/system/meminsight-runner.path.d + install -m 0644 ${WORKDIR}/conf/client.conf ${D}${systemd_unitdir}/system/meminsight-runner.service.d/ + install -m 0644 ${WORKDIR}/conf/client-path.conf ${D}${systemd_unitdir}/system/meminsight-runner.path.d/ +} + +SYSTEMD_SERVICE:${PN} = "meminsight-runner.path" + +FILES:${PN} += "${bindir}/xmeminsight" +FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.service" +FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.path" +FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.service.d/*.conf" +FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.path.d/*.conf" From 2acaacab07dcc579864b4a6c09c3950b31652d2b Mon Sep 17 00:00:00 2001 From: rdkcmf Date: Mon, 29 Sep 2025 13:51:58 +0100 Subject: [PATCH 040/274] Deploy fossid_integration_stateless_diffscan_target_repo action --- ...gration_stateless_diffscan_target_repo.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .github/workflows/fossid_integration_stateless_diffscan_target_repo.yml diff --git a/.github/workflows/fossid_integration_stateless_diffscan_target_repo.yml b/.github/workflows/fossid_integration_stateless_diffscan_target_repo.yml new file mode 100644 index 000000000..7b8c1cba1 --- /dev/null +++ b/.github/workflows/fossid_integration_stateless_diffscan_target_repo.yml @@ -0,0 +1,19 @@ +name: Fossid Stateless Diff Scan + +on: + pull_request: + types: [opened, synchronize, reopened] + +permissions: + contents: read + pull-requests: read + +jobs: + call-fossid-workflow: + if: ${{ ! github.event.pull_request.head.repo.fork }} + uses: rdkcentral/build_tools_workflows/.github/workflows/fossid_integration_stateless_diffscan.yml@1.0.0 + secrets: + FOSSID_CONTAINER_USERNAME: ${{ secrets.FOSSID_CONTAINER_USERNAME }} + FOSSID_CONTAINER_PASSWORD: ${{ secrets.FOSSID_CONTAINER_PASSWORD }} + FOSSID_HOST_USERNAME: ${{ secrets.FOSSID_HOST_USERNAME }} + FOSSID_HOST_TOKEN: ${{ secrets.FOSSID_HOST_TOKEN }} From adfb54c7871456ddf224a86163a54e494c7868f7 Mon Sep 17 00:00:00 2001 From: rosemarybennyy Date: Mon, 29 Sep 2025 22:58:36 +0530 Subject: [PATCH 041/274] RDK-58045 : Upgrade rbus that contains low priority coverity fixes(#275) Reason for change: Upgrade rbus that contains low priority coverity fixes Test Procedure: Tested and verified Risks:Medium Priority:P1 Signed-off-by: Rose Mary Benny --- recipes-common/rbus/rbus.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rbus/rbus.bb b/recipes-common/rbus/rbus.bb index 93fdd5ab3..11bc2fdc5 100644 --- a/recipes-common/rbus/rbus.bb +++ b/recipes-common/rbus/rbus.bb @@ -5,10 +5,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ed63516ecab9f06e324238dd2b259549" SRC_URI = "git://github.com/rdkcentral/rbus.git;branch=release" -SRCREV = "4cc34e9c8190369d05bf9b6ecbf5449f047654ee" +SRCREV = "2f82b00b264673a42a9c878a6d10b82a37cbdfab" SRCREV_FORMAT = "base" -PV ?= "2.7.0" +PV ?= "2.9.0" PR ?= "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From 899da9833e98a03434821f3e3cfe659022180a5f Mon Sep 17 00:00:00 2001 From: madhubabutt <114217841+madhubabutt@users.noreply.github.com> Date: Tue, 30 Sep 2025 11:43:05 +0530 Subject: [PATCH 042/274] RDKOSS-484 Remove unused distro feature - ${DISTRO_FEATURES_LIBC} (#269) --- conf/distro/rdk.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/distro/rdk.conf b/conf/distro/rdk.conf index 2c1729353..24e8ca002 100755 --- a/conf/distro/rdk.conf +++ b/conf/distro/rdk.conf @@ -64,7 +64,7 @@ DISTRO_FEATURES_BACKFILL_CONSIDERED += "ldconfig" DISTRO_FEATURES_RDK ?= "rdk-dlna" -DISTRO_FEATURES = "alsa argp logbacktrace directfb ext2 ipv4 ipv6 largefile multiarch nfs opengl pam systemd usbhost wayland xattr zeroconf directfb wayland pam opencdm ${DISTRO_FEATURES_LIBC} ${DISTRO_FEATURES_RDK}" +DISTRO_FEATURES = "alsa argp logbacktrace directfb ext2 ipv4 ipv6 largefile multiarch nfs opengl pam systemd usbhost wayland xattr zeroconf directfb wayland pam opencdm ${DISTRO_FEATURES_RDK}" DISTRO_FEATURES:remove_rpi = "directfb" From b2cb998d8b4ba065484d2ef272a65f51fc97e36e Mon Sep 17 00:00:00 2001 From: svc_rdkgerrit02 Date: Wed, 8 Oct 2025 14:33:03 +0000 Subject: [PATCH 043/274] Adding changelog --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e07dfc7c5..24741138d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,20 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [1.11.0](https://github.com/rdkcentral/meta-rdk/compare/1.10.0...1.11.0) + +- RDK-59118: Integrate CertSelector API into RFCMGR [`#256`](https://github.com/rdkcentral/meta-rdk/pull/256) +- RDKEMW-7699: Merge release branch into develop for MW 8.3.3.0 Q3 Bi-Weekly Release [`#238`](https://github.com/rdkcentral/meta-rdk/pull/238) +- RDKB-60919: Port Optimized RFCMGR source code to RDKB [`#225`](https://github.com/rdkcentral/meta-rdk/pull/225) +- rebase [`#235`](https://github.com/rdkcentral/meta-rdk/pull/235) +- Update rfc_git.bb [`d060ff3`](https://github.com/rdkcentral/meta-rdk/commit/d060ff3d5f8584b613e9057ead673c6c7b1f4e55) +- Update rfc_git.bb [`1e63e68`](https://github.com/rdkcentral/meta-rdk/commit/1e63e68f5e47d41ebd45b980374ee1ce5ca98d7d) +- Update rfc_git.bb [`c9bd3d7`](https://github.com/rdkcentral/meta-rdk/commit/c9bd3d716e2f6f4a2b1368d5e63ae73baec63f12) + #### [1.10.0](https://github.com/rdkcentral/meta-rdk/compare/1.9.0...1.10.0) +> 5 September 2025 + - Revert "Revert "DELIA-68646: Synchronize the Bluetooth updates between RDK-V and RDK-E"" [`#226`](https://github.com/rdkcentral/meta-rdk/pull/226) - Revert "DELIA-68646: Synchronize the Bluetooth updates between RDK-V and RDK-E" [`#223`](https://github.com/rdkcentral/meta-rdk/pull/223) - DELIA-68646: Synchronize the Bluetooth updates between RDK-V and RDK-E [`#217`](https://github.com/rdkcentral/meta-rdk/pull/217) @@ -18,6 +30,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - RDKEMW-6829 : RDK-E : Remove oss rdkperf mw override [`#202`](https://github.com/rdkcentral/meta-rdk/pull/202) - RDKEMW-3750 : Upgrade Thunder to Version R4.4.3 [`#112`](https://github.com/rdkcentral/meta-rdk/pull/112) - RDKEMW-6672: Memcr ver from 22.07.2025, checksum enabled [`#192`](https://github.com/rdkcentral/meta-rdk/pull/192) +- Adding changelog [`2a46735`](https://github.com/rdkcentral/meta-rdk/commit/2a467353eea437142affa6f98d68351af187b19c) #### [1.9.0](https://github.com/rdkcentral/meta-rdk/compare/1.8.1...1.9.0) From 95412cc4cbd53927f6d1ad6503ba4410d9beeecb Mon Sep 17 00:00:00 2001 From: Deepthi C Shetty <115452109+dshett549@users.noreply.github.com> Date: Mon, 13 Oct 2025 18:37:12 +0530 Subject: [PATCH 044/274] RDKEMW-8528: Remove logMilestone.sh & use Binary implementation (#268) Reason for change: For optimization Test Procedure: Tested and verified Risks:Medium Priority:P1 --- recipes-common/rdk-logger/rdk-logger_git.bb | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/recipes-common/rdk-logger/rdk-logger_git.bb b/recipes-common/rdk-logger/rdk-logger_git.bb index b57789ef8..41b15c22b 100644 --- a/recipes-common/rdk-logger/rdk-logger_git.bb +++ b/recipes-common/rdk-logger/rdk-logger_git.bb @@ -3,15 +3,14 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -PV = "2.0.0" -PR = "r0" - -SRCREV = "0087a47dbc6c28905f7fd4424a43ed1fc8874389" SRC_URI = "${CMF_GITHUB_ROOT}/rdk_logger;protocol=https;branch=main" - S = "${WORKDIR}/git" +SRCREV = "v2.3.0" +PV = "2.3.0" +PR = "r1" +PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" + DEPENDS = "log4c glib-2.0" DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " ", d)}" @@ -31,7 +30,7 @@ LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-confi do_install:append () { install -d ${D}${base_libdir}/rdk/ - install -m 0755 ${S}/scripts/logMilestone.sh ${D}${base_libdir}/rdk + install -m 0755 ${D}${bindir}/rdkLogMileStone ${D}${base_libdir}/rdk/logMilestone.sh } FILES:${PN} += "${base_libdir}/rdk/logMilestone.sh \ From 6872de1e0f9da9ffd66c02fd50209bc05dd0f39e Mon Sep 17 00:00:00 2001 From: Deepthi C Shetty <115452109+dshett549@users.noreply.github.com> Date: Tue, 14 Oct 2025 22:57:50 +0530 Subject: [PATCH 045/274] RDKEMW-8528: Avoiding cimplog to install onboarding_log bin (#297) Reason for change: Avoiding cimplog to install onboarding_log bin which is already installed by rdklogger Test Procedure: Tested and verified Risks:Medium Priority:P0 --- recipes-support/cimplog/cimplog_1.0.bb | 2 -- 1 file changed, 2 deletions(-) diff --git a/recipes-support/cimplog/cimplog_1.0.bb b/recipes-support/cimplog/cimplog_1.0.bb index cc8be75a4..203a22242 100644 --- a/recipes-support/cimplog/cimplog_1.0.bb +++ b/recipes-support/cimplog/cimplog_1.0.bb @@ -15,10 +15,8 @@ PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" S = "${WORKDIR}/git" -CFLAGS:append += " ${@bb.utils.contains('DISTRO_FEATURES', 'bci', '', '-DFEATURE_SUPPORT_ONBOARD_LOGGING',d)}" inherit pkgconfig cmake EXTRA_OECMAKE += "-DRDK_LOGGER=ON -DBUILD_TESTING=OFF -DBUILD_YOCTO=true" -EXTRA_OECMAKE:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'bci', '', ' -DFEATURE_SUPPORT_ONBOARD_LOGGING=true',d)}" ASNEEDED_hybrid = "" ASNEEDED_client = "" From 3696e6a0ecb485aaa26cdf8fec119317126cfa2b Mon Sep 17 00:00:00 2001 From: Deepthi C Shetty <115452109+dshett549@users.noreply.github.com> Date: Sun, 19 Oct 2025 21:25:26 +0530 Subject: [PATCH 046/274] RDKEMW-8528 : Remove logMilestone.sh installation from rdk-logger (#304) Reason for change: Remove logMilestone.sh installation from rdk-logger Test Procedure: Build for XIONE with wpe-2.46 enabled Risks: Low --- recipes-common/rdk-logger/rdk-logger_git.bb | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/recipes-common/rdk-logger/rdk-logger_git.bb b/recipes-common/rdk-logger/rdk-logger_git.bb index 41b15c22b..999572c1e 100644 --- a/recipes-common/rdk-logger/rdk-logger_git.bb +++ b/recipes-common/rdk-logger/rdk-logger_git.bb @@ -28,13 +28,7 @@ CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-confi CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', '', ' -DSAFEC_DUMMY_API', d)}" LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --libs libsafec`', '', d)}" -do_install:append () { - install -d ${D}${base_libdir}/rdk/ - install -m 0755 ${D}${bindir}/rdkLogMileStone ${D}${base_libdir}/rdk/logMilestone.sh -} - -FILES:${PN} += "${base_libdir}/rdk/logMilestone.sh \ - /rdkLogMileStone \ +FILES:${PN} += "/rdkLogMileStone \ /rdklogctrl \ ${base_libdir} \ ${base_libdir}/rdk" From 3b5203d804ee3aa7cd5e81eeee42f79e9af54525 Mon Sep 17 00:00:00 2001 From: Karunakaran A <48997923+karuna2git@users.noreply.github.com> Date: Wed, 22 Oct 2025 09:19:29 -0400 Subject: [PATCH 047/274] Revert "RDKEMW-8528: Remove logMilestone.sh installation from rdk-logger" (#306) * Revert "RDKEMW-8528 : Remove logMilestone.sh installation from rdk-logger (#304)" This reverts commit 3696e6a0ecb485aaa26cdf8fec119317126cfa2b. --- recipes-common/rdk-logger/rdk-logger_git.bb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/recipes-common/rdk-logger/rdk-logger_git.bb b/recipes-common/rdk-logger/rdk-logger_git.bb index 999572c1e..f60373f64 100644 --- a/recipes-common/rdk-logger/rdk-logger_git.bb +++ b/recipes-common/rdk-logger/rdk-logger_git.bb @@ -8,7 +8,7 @@ SRC_URI = "${CMF_GITHUB_ROOT}/rdk_logger;protocol=https;branch=main" S = "${WORKDIR}/git" SRCREV = "v2.3.0" PV = "2.3.0" -PR = "r1" +PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -28,7 +28,13 @@ CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-confi CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', '', ' -DSAFEC_DUMMY_API', d)}" LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --libs libsafec`', '', d)}" -FILES:${PN} += "/rdkLogMileStone \ +do_install:append () { + install -d ${D}${base_libdir}/rdk/ + install -m 0755 ${S}/scripts/logMilestone.sh ${D}${base_libdir}/rdk +} + +FILES:${PN} += "${base_libdir}/rdk/logMilestone.sh \ + /rdkLogMileStone \ /rdklogctrl \ ${base_libdir} \ ${base_libdir}/rdk" From 88eb5dc8e6f31e7de47575f4b015082ba69f26d7 Mon Sep 17 00:00:00 2001 From: ssitar583 Date: Wed, 22 Oct 2025 20:34:48 +0530 Subject: [PATCH 048/274] RDKEMW-3485: Add validate_pr_desc.ym; (#301) Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> --- .github/workflows/validate_pr_desc.yml | 113 +++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 .github/workflows/validate_pr_desc.yml diff --git a/.github/workflows/validate_pr_desc.yml b/.github/workflows/validate_pr_desc.yml new file mode 100644 index 000000000..de33abc7d --- /dev/null +++ b/.github/workflows/validate_pr_desc.yml @@ -0,0 +1,113 @@ +name: PR Description Validation + +on: + pull_request: + branches: [develop] + types: [opened, edited, synchronize] + +jobs: + validate-pr-description: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Validate PR Description + env: + PR_TITLE: ${{ github.event.pull_request.title }} + PR_BODY: ${{ github.event.pull_request.body }} + run: | + # Define valid ticket IDs + VALID_TICKET_IDS=("RDKEMW" "RDKEVD" "IMMUI" "RDK") + + # Function to validate ticket format and ID + validate_ticket() { + local text="$1" + local field_name="$2" + + echo "Validating $field_name: $text" + + # Check if text matches the pattern - : + if [[ ! "$text" =~ ^[A-Z0-9]+-[0-9]+[[:space:]]*:[[:space:]]*.+ ]]; then + echo "ERROR: $field_name format is invalid." + echo "Expected format: - : " + echo "Example: RDKEMW-123 : Fix playbook issue" + echo "" + echo "Valid ticket IDs are:" + printf "%s\n" "${VALID_TICKET_IDS[@]}" + return 1 + fi + + # Extract ticket ID from the text + local ticket_prefix=$(echo "$text" | sed -n 's/^\([A-Z0-9]\+\)-[0-9]\+[[:space:]]*:.*$/\1/p') + + if [ -z "$ticket_prefix" ]; then + echo "ERROR: Could not extract ticket ID from $field_name." + echo "Expected format: - : " + echo "" + echo "Valid ticket IDs are:" + printf "%s\n" "${VALID_TICKET_IDS[@]}" + return 1 + fi + + # Check if extracted ticket ID is in the valid list + local valid=false + for valid_id in "${VALID_TICKET_IDS[@]}"; do + if [ "$ticket_prefix" = "$valid_id" ]; then + valid=true + break + fi + done + + if [ "$valid" = false ]; then + echo "ERROR: Invalid ticket ID '$ticket_prefix' in $field_name" + echo "" + echo "Valid ticket IDs are:" + printf "%s\n" "${VALID_TICKET_IDS[@]}" + echo "" + echo "Your $field_name should start with one of the above ticket IDs followed by a number." + echo "Example: RDKEMW-123 : Fix playbook issue" + return 1 + fi + + echo "$field_name validation passed! Ticket ID: $ticket_prefix" + return 0 + } + + # Track validation results + TITLE_VALID=true + DESCRIPTION_VALID=true + + # Validate PR Title + echo "=== Validating PR Title ===" + if ! validate_ticket "$PR_TITLE" "PR title"; then + TITLE_VALID=false + fi + + echo "" + echo "=== Validating PR Description ===" + # Validate PR Description + if [ -n "$PR_BODY" ]; then + if ! validate_ticket "$PR_BODY" "PR description"; then + DESCRIPTION_VALID=false + fi + else + echo "ERROR: PR description is empty." + echo "Both PR title and description must contain valid ticket IDs." + DESCRIPTION_VALID=false + fi + + echo "" + echo "=== Validation Summary ===" + echo "PR Title: $([ "$TITLE_VALID" = true ] && echo "PASSED" || echo " FAILED")" + echo "PR Description: $([ "$DESCRIPTION_VALID" = true ] && echo "PASSED" || echo "FAILED")" + + # Exit with error if either validation failed + if [ "$TITLE_VALID" = false ] || [ "$DESCRIPTION_VALID" = false ]; then + echo "" + echo "VALIDATION FAILED: Both PR title and description must contain valid ticket IDs from the approved list: ${VALID_TICKET_IDS[@]}" + exit 1 + fi + + echo "" + echo "ALL VALIDATIONS PASSED! Both PR title and description contain valid ticket IDs." From c8e7dade73b6d552645855cd77716f038e167cf5 Mon Sep 17 00:00:00 2001 From: Karunakaran A <48997923+karuna2git@users.noreply.github.com> Date: Wed, 22 Oct 2025 12:24:11 -0400 Subject: [PATCH 049/274] RDKEMW-9549 : Revert "RDKEMW-8528: Remove logMilestone.sh & use Binary implementation (#268)" (#309) * Revert "RDKEMW-8528: Remove logMilestone.sh & use Binary implementation (#268)" This reverts commit 95412cc4cbd53927f6d1ad6503ba4410d9beeecb. * Update rdk-logger_git.bb * Update rdk-logger_git.bb --------- Co-authored-by: Anooj Cherian K <65368227+acheri988@users.noreply.github.com> --- recipes-common/rdk-logger/rdk-logger_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rdk-logger/rdk-logger_git.bb b/recipes-common/rdk-logger/rdk-logger_git.bb index 41b15c22b..f60373f64 100644 --- a/recipes-common/rdk-logger/rdk-logger_git.bb +++ b/recipes-common/rdk-logger/rdk-logger_git.bb @@ -8,7 +8,7 @@ SRC_URI = "${CMF_GITHUB_ROOT}/rdk_logger;protocol=https;branch=main" S = "${WORKDIR}/git" SRCREV = "v2.3.0" PV = "2.3.0" -PR = "r1" +PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -30,7 +30,7 @@ LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-confi do_install:append () { install -d ${D}${base_libdir}/rdk/ - install -m 0755 ${D}${bindir}/rdkLogMileStone ${D}${base_libdir}/rdk/logMilestone.sh + install -m 0755 ${S}/scripts/logMilestone.sh ${D}${base_libdir}/rdk } FILES:${PN} += "${base_libdir}/rdk/logMilestone.sh \ From bd93b436fb2fa2c8af0e1e6b018b74273a97e366 Mon Sep 17 00:00:00 2001 From: MonekaLakshmi <101797473+MonekaLakshmi@users.noreply.github.com> Date: Mon, 27 Oct 2025 20:27:40 +0530 Subject: [PATCH 050/274] RDKE-900: Default to MTLS connection on all endpoints (#276) Reason for change: Added CFLAG to enable MTLS for T2 Test Procedure: Make sure all communication is MTLS & secure Risks: Medium Priority: P1 --- recipes-common/telemetry/telemetry_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index d1d9bb4a9..82a8fcec7 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -24,7 +24,7 @@ CFLAGS += " -Wall -Werror -Wextra" inherit pkgconfig autotools systemd ${@bb.utils.contains("DISTRO_FEATURES", "kirkstone", "python3native", "pythonnative", d)} breakpad-logmapper -CFLAGS += " -DDROP_ROOT_PRIV " +CFLAGS += " -DDROP_ROOT_PRIV -DENABLE_MTLS " LDFLAGS:append = " \ -lbreakpadwrapper \ From 04dbdb839df377edc5f7730ec65c558789708075 Mon Sep 17 00:00:00 2001 From: Mahmoud El-haron <114103259+melhar098@users.noreply.github.com> Date: Tue, 28 Oct 2025 09:59:08 -0400 Subject: [PATCH 051/274] RDKEMW-6715: [RDKE]AUTOREV in Middleware layer components (#262) Reason for change: Replacing AUTOREV with latest githashes Test Procedure: see ticket Risks: None Priority: P0 Signed-off-by: melhar098_comcast Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> --- recipes-common/dca/dca_git.bb | 2 +- recipes-common/dcm/dcmjsonparser_git.bb | 2 +- recipes-common/sys_mon_tools/cpuprocanalyzer_git.bb | 2 +- recipes-common/sys_mon_tools/sys_mon_tools.inc | 2 +- recipes-containers/lxccpid/lxccpid_git.bb | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes-common/dca/dca_git.bb b/recipes-common/dca/dca_git.bb index 22b8df5a5..973a68191 100644 --- a/recipes-common/dca/dca_git.bb +++ b/recipes-common/dca/dca_git.bb @@ -14,7 +14,7 @@ CFLAGS += " -Wall -Werror -Wextra -Wno-sign-compare -Wno-address " SRC_URI = "${CMF_GIT_ROOT}/rdk/components/generic/dca;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GIT_BRANCH}" PV = "${RDK_RELEASE}+git${SRCPV}" -SRCREV ?= "${AUTOREV}" +SRCREV ?= "94bab6ee8e3c7f4fc30acfc45ba266e303f16d3a" S = "${WORKDIR}/git" inherit pkgconfig autotools systemd coverity diff --git a/recipes-common/dcm/dcmjsonparser_git.bb b/recipes-common/dcm/dcmjsonparser_git.bb index 312fb4d5f..b348e48c7 100644 --- a/recipes-common/dcm/dcmjsonparser_git.bb +++ b/recipes-common/dcm/dcmjsonparser_git.bb @@ -11,7 +11,7 @@ RDEPENDS:${PN} = "cjson" SRC_URI = "${CMF_GIT_ROOT}/rdk/components/generic/dcm;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GIT_BRANCH}" PV = "${RDK_RELEASE}+git${SRCPV}" -SRCREV ?= "${AUTOREV}" +SRCREV ?= "065da5cb555bd8e9328934bfb98b68745ecc618f" S = "${WORKDIR}/git" CFLAGS:append = " \ diff --git a/recipes-common/sys_mon_tools/cpuprocanalyzer_git.bb b/recipes-common/sys_mon_tools/cpuprocanalyzer_git.bb index 76c380164..b8bb7faf1 100644 --- a/recipes-common/sys_mon_tools/cpuprocanalyzer_git.bb +++ b/recipes-common/sys_mon_tools/cpuprocanalyzer_git.bb @@ -2,7 +2,7 @@ DESCRIPTION = "CPU Proc Analyzer" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -SRCREV = "${AUTOREV}" +SRCREV = "8fb410c461543ffa1d97245e9c493762d9392ad4" SRC_URI = "${CMF_GIT_ROOT}/rdk/components/generic/cpuprocanalyzer;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GIT_BRANCH};name=cpuprocanalyzer" S = "${WORKDIR}/git" diff --git a/recipes-common/sys_mon_tools/sys_mon_tools.inc b/recipes-common/sys_mon_tools/sys_mon_tools.inc index 25b29c71c..5b07373ef 100644 --- a/recipes-common/sys_mon_tools/sys_mon_tools.inc +++ b/recipes-common/sys_mon_tools/sys_mon_tools.inc @@ -3,7 +3,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" PV = "${RDK_RELEASE}+git${SRCPV}" -SRCREV = "${AUTOREV}" +SRCREV = "d332320370379900302daaaa3d181f3b40c5ac9a" SRC_URI += "${CMF_GIT_ROOT}/rdk/components/generic/sys_mon_tools/sys_resource;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GIT_BRANCH}" diff --git a/recipes-containers/lxccpid/lxccpid_git.bb b/recipes-containers/lxccpid/lxccpid_git.bb index 5964ce56f..f8a2886fd 100644 --- a/recipes-containers/lxccpid/lxccpid_git.bb +++ b/recipes-containers/lxccpid/lxccpid_git.bb @@ -3,7 +3,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" SRC_URI = "${CMF_GIT_ROOT}/rdk/components/generic/lxccpid;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GIT_MASTER_BRANCH};name=lxccpid" -SRCREV ?= "${AUTOREV}" +SRCREV ?= "25ba689f67db86ea7dd35b1cfd649b4dd51ac99c" S = "${WORKDIR}/git" From 719e11f47a604549830800925485f37d783c5945 Mon Sep 17 00:00:00 2001 From: svc_rdkgerrit02 Date: Tue, 28 Oct 2025 14:26:19 +0000 Subject: [PATCH 052/274] Adding changelog --- CHANGELOG.md | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24741138d..4a46cc269 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,15 +4,33 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [1.12.0](https://github.com/rdkcentral/meta-rdk/compare/1.11.0...1.12.0) + +- RDKEMW-9549 : Revert "RDKEMW-8528: Remove logMilestone.sh & use Binary implementation (#268)" [`#309`](https://github.com/rdkcentral/meta-rdk/pull/309) +- RDKEMW-8528: Avoiding cimplog to install onboarding_log bin [`#297`](https://github.com/rdkcentral/meta-rdk/pull/297) +- RDKEMW-8528: Remove logMilestone.sh & use Binary implementation [`#268`](https://github.com/rdkcentral/meta-rdk/pull/268) +- RDKEMW-8494: Back-merge release branch to develop [`#290`](https://github.com/rdkcentral/meta-rdk/pull/290) +- RDKOSS-484 Remove unused distro feature - ${DISTRO_FEATURES_LIBC} [`#269`](https://github.com/rdkcentral/meta-rdk/pull/269) +- Deploy fossid_integration_stateless_diffscan_target_repo action [`#278`](https://github.com/rdkcentral/meta-rdk/pull/278) +- RDK-58433: Add meminsight Recipe [`#174`](https://github.com/rdkcentral/meta-rdk/pull/174) +- Deploy cla action [`#135`](https://github.com/rdkcentral/meta-rdk/pull/135) +- RDKEMW-7734: Update dobby.inc [`#239`](https://github.com/rdkcentral/meta-rdk/pull/239) +- Rebase [`#254`](https://github.com/rdkcentral/meta-rdk/pull/254) +- Update dobby.inc [`9afb276`](https://github.com/rdkcentral/meta-rdk/commit/9afb2760a9e083870673f5dd67dbd08cfdf79d5d) +- RDK-58045 : Upgrade rbus that contains low priority coverity fixes(#275) [`adfb54c`](https://github.com/rdkcentral/meta-rdk/commit/adfb54c7871456ddf224a86163a54e494c7868f7) +- Update auto_pr_creation to pick up support branch commits [`312c185`](https://github.com/rdkcentral/meta-rdk/commit/312c18593464fd1c7bb860afc231e0b0e8ab31f0) + #### [1.11.0](https://github.com/rdkcentral/meta-rdk/compare/1.10.0...1.11.0) +> 8 October 2025 + - RDK-59118: Integrate CertSelector API into RFCMGR [`#256`](https://github.com/rdkcentral/meta-rdk/pull/256) - RDKEMW-7699: Merge release branch into develop for MW 8.3.3.0 Q3 Bi-Weekly Release [`#238`](https://github.com/rdkcentral/meta-rdk/pull/238) - RDKB-60919: Port Optimized RFCMGR source code to RDKB [`#225`](https://github.com/rdkcentral/meta-rdk/pull/225) - rebase [`#235`](https://github.com/rdkcentral/meta-rdk/pull/235) +- Adding changelog [`b2cb998`](https://github.com/rdkcentral/meta-rdk/commit/b2cb998d8b4ba065484d2ef272a65f51fc97e36e) - Update rfc_git.bb [`d060ff3`](https://github.com/rdkcentral/meta-rdk/commit/d060ff3d5f8584b613e9057ead673c6c7b1f4e55) - Update rfc_git.bb [`1e63e68`](https://github.com/rdkcentral/meta-rdk/commit/1e63e68f5e47d41ebd45b980374ee1ce5ca98d7d) -- Update rfc_git.bb [`c9bd3d7`](https://github.com/rdkcentral/meta-rdk/commit/c9bd3d716e2f6f4a2b1368d5e63ae73baec63f12) #### [1.10.0](https://github.com/rdkcentral/meta-rdk/compare/1.9.0...1.10.0) @@ -32,7 +50,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - RDKEMW-6672: Memcr ver from 22.07.2025, checksum enabled [`#192`](https://github.com/rdkcentral/meta-rdk/pull/192) - Adding changelog [`2a46735`](https://github.com/rdkcentral/meta-rdk/commit/2a467353eea437142affa6f98d68351af187b19c) -#### [1.9.0](https://github.com/rdkcentral/meta-rdk/compare/1.8.1...1.9.0) +#### [1.9.0](https://github.com/rdkcentral/meta-rdk/compare/1.8.2...1.9.0) > 7 August 2025 @@ -57,6 +75,16 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Update rdmagent.bb [`1785f6c`](https://github.com/rdkcentral/meta-rdk/commit/1785f6c97dbe8da8d12778ae93a7a93588fc16a6) - Update rdmagent.bb [`c3d2d01`](https://github.com/rdkcentral/meta-rdk/commit/c3d2d018be002be7fc590e0875f4dbb26dd96cab) +#### [1.8.2](https://github.com/rdkcentral/meta-rdk/compare/1.8.1...1.8.2) + +> 20 October 2025 + +- RDKEMW-9460: Bringing the fix of "btr_enable_auto_connect" to support/2.16.0 branch (RDKE8.2) (Delia 68442) [`#303`](https://github.com/rdkcentral/meta-rdk/pull/303) +- RDKEMW-8825 : App Not Killed by Dobby OOM at Max Memory Limit [`#294`](https://github.com/rdkcentral/meta-rdk/pull/294) +- Adding changelog [`a4cbebe`](https://github.com/rdkcentral/meta-rdk/commit/a4cbebea55fdb312290e52ef0646c4c899a09ba6) +- DELIA-68442 : Auto-connect not working. [`ebc052f`](https://github.com/rdkcentral/meta-rdk/commit/ebc052fdee80c1f821473ebc733c5952c3c69e01) +- Update bluetooth-mgr_git.bb [`9d7d0c5`](https://github.com/rdkcentral/meta-rdk/commit/9d7d0c5178ddf656f3ca23b88b66a4727b626384) + #### [1.8.1](https://github.com/rdkcentral/meta-rdk/compare/1.8.0...1.8.1) > 1 August 2025 From 54cc48a9b83a86a58b2836ef56df1f0e2fdb9ce9 Mon Sep 17 00:00:00 2001 From: Divyang Abhay Sarangi Date: Tue, 28 Oct 2025 16:50:53 -0400 Subject: [PATCH 053/274] RDKEMW-9590: Rebase branch with 'develop' (#317) * RDKEMW-8528 : Remove logMilestone.sh installation from rdk-logger (#304) Reason for change: Remove logMilestone.sh installation from rdk-logger Test Procedure: Build for XIONE with wpe-2.46 enabled Risks: Low * Revert "RDKEMW-8528: Remove logMilestone.sh installation from rdk-logger" (#306) * Revert "RDKEMW-8528 : Remove logMilestone.sh installation from rdk-logger (#304)" This reverts commit 3696e6a0ecb485aaa26cdf8fec119317126cfa2b. * RDKEMW-3485: Add validate_pr_desc.ym; (#301) Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> * RDKE-900: Default to MTLS connection on all endpoints (#276) Reason for change: Added CFLAG to enable MTLS for T2 Test Procedure: Make sure all communication is MTLS & secure Risks: Medium Priority: P1 * RDKEMW-6715: [RDKE]AUTOREV in Middleware layer components (#262) Reason for change: Replacing AUTOREV with latest githashes Test Procedure: see ticket Risks: None Priority: P0 Signed-off-by: melhar098_comcast Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> --------- Signed-off-by: melhar098_comcast Co-authored-by: Deepthi C Shetty <115452109+dshett549@users.noreply.github.com> Co-authored-by: Karunakaran A <48997923+karuna2git@users.noreply.github.com> Co-authored-by: ssitar583 Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> Co-authored-by: MonekaLakshmi <101797473+MonekaLakshmi@users.noreply.github.com> Co-authored-by: Mahmoud El-haron <114103259+melhar098@users.noreply.github.com> --- .github/workflows/validate_pr_desc.yml | 113 ++++++++++++++++++ recipes-common/dca/dca_git.bb | 2 +- recipes-common/dcm/dcmjsonparser_git.bb | 2 +- .../sys_mon_tools/cpuprocanalyzer_git.bb | 2 +- .../sys_mon_tools/sys_mon_tools.inc | 2 +- recipes-common/telemetry/telemetry_git.bb | 2 +- recipes-containers/lxccpid/lxccpid_git.bb | 2 +- 7 files changed, 119 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/validate_pr_desc.yml diff --git a/.github/workflows/validate_pr_desc.yml b/.github/workflows/validate_pr_desc.yml new file mode 100644 index 000000000..de33abc7d --- /dev/null +++ b/.github/workflows/validate_pr_desc.yml @@ -0,0 +1,113 @@ +name: PR Description Validation + +on: + pull_request: + branches: [develop] + types: [opened, edited, synchronize] + +jobs: + validate-pr-description: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Validate PR Description + env: + PR_TITLE: ${{ github.event.pull_request.title }} + PR_BODY: ${{ github.event.pull_request.body }} + run: | + # Define valid ticket IDs + VALID_TICKET_IDS=("RDKEMW" "RDKEVD" "IMMUI" "RDK") + + # Function to validate ticket format and ID + validate_ticket() { + local text="$1" + local field_name="$2" + + echo "Validating $field_name: $text" + + # Check if text matches the pattern - : + if [[ ! "$text" =~ ^[A-Z0-9]+-[0-9]+[[:space:]]*:[[:space:]]*.+ ]]; then + echo "ERROR: $field_name format is invalid." + echo "Expected format: - : " + echo "Example: RDKEMW-123 : Fix playbook issue" + echo "" + echo "Valid ticket IDs are:" + printf "%s\n" "${VALID_TICKET_IDS[@]}" + return 1 + fi + + # Extract ticket ID from the text + local ticket_prefix=$(echo "$text" | sed -n 's/^\([A-Z0-9]\+\)-[0-9]\+[[:space:]]*:.*$/\1/p') + + if [ -z "$ticket_prefix" ]; then + echo "ERROR: Could not extract ticket ID from $field_name." + echo "Expected format: - : " + echo "" + echo "Valid ticket IDs are:" + printf "%s\n" "${VALID_TICKET_IDS[@]}" + return 1 + fi + + # Check if extracted ticket ID is in the valid list + local valid=false + for valid_id in "${VALID_TICKET_IDS[@]}"; do + if [ "$ticket_prefix" = "$valid_id" ]; then + valid=true + break + fi + done + + if [ "$valid" = false ]; then + echo "ERROR: Invalid ticket ID '$ticket_prefix' in $field_name" + echo "" + echo "Valid ticket IDs are:" + printf "%s\n" "${VALID_TICKET_IDS[@]}" + echo "" + echo "Your $field_name should start with one of the above ticket IDs followed by a number." + echo "Example: RDKEMW-123 : Fix playbook issue" + return 1 + fi + + echo "$field_name validation passed! Ticket ID: $ticket_prefix" + return 0 + } + + # Track validation results + TITLE_VALID=true + DESCRIPTION_VALID=true + + # Validate PR Title + echo "=== Validating PR Title ===" + if ! validate_ticket "$PR_TITLE" "PR title"; then + TITLE_VALID=false + fi + + echo "" + echo "=== Validating PR Description ===" + # Validate PR Description + if [ -n "$PR_BODY" ]; then + if ! validate_ticket "$PR_BODY" "PR description"; then + DESCRIPTION_VALID=false + fi + else + echo "ERROR: PR description is empty." + echo "Both PR title and description must contain valid ticket IDs." + DESCRIPTION_VALID=false + fi + + echo "" + echo "=== Validation Summary ===" + echo "PR Title: $([ "$TITLE_VALID" = true ] && echo "PASSED" || echo " FAILED")" + echo "PR Description: $([ "$DESCRIPTION_VALID" = true ] && echo "PASSED" || echo "FAILED")" + + # Exit with error if either validation failed + if [ "$TITLE_VALID" = false ] || [ "$DESCRIPTION_VALID" = false ]; then + echo "" + echo "VALIDATION FAILED: Both PR title and description must contain valid ticket IDs from the approved list: ${VALID_TICKET_IDS[@]}" + exit 1 + fi + + echo "" + echo "ALL VALIDATIONS PASSED! Both PR title and description contain valid ticket IDs." diff --git a/recipes-common/dca/dca_git.bb b/recipes-common/dca/dca_git.bb index 22b8df5a5..973a68191 100644 --- a/recipes-common/dca/dca_git.bb +++ b/recipes-common/dca/dca_git.bb @@ -14,7 +14,7 @@ CFLAGS += " -Wall -Werror -Wextra -Wno-sign-compare -Wno-address " SRC_URI = "${CMF_GIT_ROOT}/rdk/components/generic/dca;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GIT_BRANCH}" PV = "${RDK_RELEASE}+git${SRCPV}" -SRCREV ?= "${AUTOREV}" +SRCREV ?= "94bab6ee8e3c7f4fc30acfc45ba266e303f16d3a" S = "${WORKDIR}/git" inherit pkgconfig autotools systemd coverity diff --git a/recipes-common/dcm/dcmjsonparser_git.bb b/recipes-common/dcm/dcmjsonparser_git.bb index 312fb4d5f..b348e48c7 100644 --- a/recipes-common/dcm/dcmjsonparser_git.bb +++ b/recipes-common/dcm/dcmjsonparser_git.bb @@ -11,7 +11,7 @@ RDEPENDS:${PN} = "cjson" SRC_URI = "${CMF_GIT_ROOT}/rdk/components/generic/dcm;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GIT_BRANCH}" PV = "${RDK_RELEASE}+git${SRCPV}" -SRCREV ?= "${AUTOREV}" +SRCREV ?= "065da5cb555bd8e9328934bfb98b68745ecc618f" S = "${WORKDIR}/git" CFLAGS:append = " \ diff --git a/recipes-common/sys_mon_tools/cpuprocanalyzer_git.bb b/recipes-common/sys_mon_tools/cpuprocanalyzer_git.bb index 76c380164..b8bb7faf1 100644 --- a/recipes-common/sys_mon_tools/cpuprocanalyzer_git.bb +++ b/recipes-common/sys_mon_tools/cpuprocanalyzer_git.bb @@ -2,7 +2,7 @@ DESCRIPTION = "CPU Proc Analyzer" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -SRCREV = "${AUTOREV}" +SRCREV = "8fb410c461543ffa1d97245e9c493762d9392ad4" SRC_URI = "${CMF_GIT_ROOT}/rdk/components/generic/cpuprocanalyzer;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GIT_BRANCH};name=cpuprocanalyzer" S = "${WORKDIR}/git" diff --git a/recipes-common/sys_mon_tools/sys_mon_tools.inc b/recipes-common/sys_mon_tools/sys_mon_tools.inc index 25b29c71c..5b07373ef 100644 --- a/recipes-common/sys_mon_tools/sys_mon_tools.inc +++ b/recipes-common/sys_mon_tools/sys_mon_tools.inc @@ -3,7 +3,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" PV = "${RDK_RELEASE}+git${SRCPV}" -SRCREV = "${AUTOREV}" +SRCREV = "d332320370379900302daaaa3d181f3b40c5ac9a" SRC_URI += "${CMF_GIT_ROOT}/rdk/components/generic/sys_mon_tools/sys_resource;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GIT_BRANCH}" diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index d1d9bb4a9..82a8fcec7 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -24,7 +24,7 @@ CFLAGS += " -Wall -Werror -Wextra" inherit pkgconfig autotools systemd ${@bb.utils.contains("DISTRO_FEATURES", "kirkstone", "python3native", "pythonnative", d)} breakpad-logmapper -CFLAGS += " -DDROP_ROOT_PRIV " +CFLAGS += " -DDROP_ROOT_PRIV -DENABLE_MTLS " LDFLAGS:append = " \ -lbreakpadwrapper \ diff --git a/recipes-containers/lxccpid/lxccpid_git.bb b/recipes-containers/lxccpid/lxccpid_git.bb index 5964ce56f..f8a2886fd 100644 --- a/recipes-containers/lxccpid/lxccpid_git.bb +++ b/recipes-containers/lxccpid/lxccpid_git.bb @@ -3,7 +3,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" SRC_URI = "${CMF_GIT_ROOT}/rdk/components/generic/lxccpid;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GIT_MASTER_BRANCH};name=lxccpid" -SRCREV ?= "${AUTOREV}" +SRCREV ?= "25ba689f67db86ea7dd35b1cfd649b4dd51ac99c" S = "${WORKDIR}/git" From bafd64cfb7930a21e1c093b261cdcdab30558717 Mon Sep 17 00:00:00 2001 From: nhanas001c Date: Wed, 29 Oct 2025 17:22:54 +0000 Subject: [PATCH 054/274] RDKEMW-9849: Move memcapture to middleware layer Recipe add memcapture to middleware layer --- recipes-devtools/memcapture/memcapture_git.bb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 recipes-devtools/memcapture/memcapture_git.bb diff --git a/recipes-devtools/memcapture/memcapture_git.bb b/recipes-devtools/memcapture/memcapture_git.bb new file mode 100644 index 000000000..2c8c07665 --- /dev/null +++ b/recipes-devtools/memcapture/memcapture_git.bb @@ -0,0 +1,29 @@ +SUMMARY = "Memcapture - memory reporting and analysis tool for RDK" +DESCRIPTION = "A C++ tool to capture the average memory usage of a platform including per-process memory usage and data metrics present them in a report" + +LICENSE = "Apache-2.0" + +LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=1b8525f92b462b86205ffaba159b4481" + +SRC_URI = "git://github.com/RDKCentral/MemCapture.git;branch=main;name=src;destsuffix=git" + +S = "${WORKDIR}/git" +B = "${WORKDIR}/build" + +DEPENDS = "inja nlohmann-json" + +inherit cmake syslog-ng-config-gen systemd +EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release -DENABLE_CPU_IDLE_METRICS=ON" + +SYSLOG-NG_FILTER = "memcapture" +SYSLOG-NG_SERVICE_memcapture = "memcapture.service" +SYSLOG-NG_DESTINATION_memcapture = "memcapture.log" +SYSLOG-NG_LOGRATE_memcapture = "high" + +do_install () { + install -d ${D}${bindir} + install -m 4755 ${B}/MemCapture ${D}${bindir} +} + +FILES:${PN} += "${bindir}/MemCapture \ + " From 461823f13c2f5bb2a19911196ed8088c58c2b8e3 Mon Sep 17 00:00:00 2001 From: nhanasi Date: Thu, 30 Oct 2025 14:18:39 -0400 Subject: [PATCH 055/274] Update memcapture_git.bb --- recipes-devtools/memcapture/memcapture_git.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes-devtools/memcapture/memcapture_git.bb b/recipes-devtools/memcapture/memcapture_git.bb index 2c8c07665..88840cb1e 100644 --- a/recipes-devtools/memcapture/memcapture_git.bb +++ b/recipes-devtools/memcapture/memcapture_git.bb @@ -13,7 +13,8 @@ B = "${WORKDIR}/build" DEPENDS = "inja nlohmann-json" inherit cmake syslog-ng-config-gen systemd -EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release -DENABLE_CPU_IDLE_METRICS=ON" +EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release" +EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'disable_idle_metrics', '-DENABLE_CPU_IDLE_METRICS=OFF', '-DENABLE_CPU_IDLE_METRICS=ON', d)}" SYSLOG-NG_FILTER = "memcapture" SYSLOG-NG_SERVICE_memcapture = "memcapture.service" From 573627391a3c1335e079311e2591bbf886cd2f53 Mon Sep 17 00:00:00 2001 From: Arjun Date: Fri, 31 Oct 2025 12:01:45 +0000 Subject: [PATCH 056/274] RDKOSS-443:Bring the required changes to build RDKB stack Reason for change: 1. Update rdkb.inc with all broadband related variables 2. Update rdk.conf to remove unused setting which is causing failure in broadband 3. Update the components to build RDKB without disturbing client profiles 4. Update setup-environment to support poky 5. Update bblayers.conf.sample to support poky and RDKB layers 6. Update webconfig-framework to include the changes required for RDKB. 7. Update cimplog for RDKB requirement Note: rdkb.inc should be reviewed and cleaned up properly after all the required layers are migrated. Signed-off-by: Arjun (cherry picked from commit ddd94de112fc96d814cfbbddbeb115a71af21164) RDKOSS-443:Bring the required changes to build RDKB stack Signed-off-by: Arjun (cherry picked from commit aaf8ab32dc2fdc83b77000141598b6c6deab3923) RDKOSS-443:Bring the required changes to build RDKB Signed-off-by: Arjun (cherry picked from commit 89200d5c764b5f820e1d0b51ef1a838eaae2f685) Keep cimplog unchanged (cherry picked from commit a0a8bc6125e9006bd5093cf0af479ffb9288d952) Update rdkb.inc (cherry picked from commit 37d617738fa3ae1e4865e5d374d2223b7dac110b) cimplog update Signed-off-by: Arjun (cherry picked from commit 8298368c946039a4edd819363196e7b2e86588a3) fix syntax issue Signed-off-by: Arjun (cherry picked from commit d7ab52f084819e6279b5ddbba56ff72291356f6f) Update dnsmasq Signed-off-by: Arjun --- conf/bblayers.conf.sample | 10 ++- conf/distro/include/rdkb.inc | 69 +++++++++++++++++++ conf/distro/rdk.conf | 5 +- recipes-common/crashupload/crashupload_git.bb | 4 +- recipes-common/rfc/rfc_git.bb | 5 +- recipes-common/telemetry/telemetry_git.bb | 2 + recipes-common/utils/commonutilities_git.bb | 23 +++++++ .../webconfig-framework.bb | 2 +- .../packagegroup-rdk-oss-broadband.bb | 1 + .../remotedebugger/remotedebugger.bb | 7 +- recipes-support/cimplog/cimplog_1.0.bb | 1 + setup-environment | 14 ++-- 12 files changed, 127 insertions(+), 16 deletions(-) create mode 100644 recipes-common/utils/commonutilities_git.bb diff --git a/conf/bblayers.conf.sample b/conf/bblayers.conf.sample index 134400bcd..0ecd791d1 100644 --- a/conf/bblayers.conf.sample +++ b/conf/bblayers.conf.sample @@ -17,14 +17,17 @@ BBLAYERS ?= " \ ${RDKROOT}/meta-openembedded/meta-filesystems \ ${RDKROOT}/meta-openembedded/meta-oe \ ${RDKROOT}/meta-openembedded/meta-networking \ - ${@'' if os.path.isfile('${RDKROOT}/openembedded-core/meta/recipes-devtools/ruby/ruby.inc') else '${RDKROOT}/meta-openembedded/meta-ruby'} \ + ${@'${RDKROOT}/meta-openembedded/meta-ruby' if os.path.isfile('${RDKROOT}/meta-openembedded/meta-ruby/conf/layer.conf') else ''} \ ${@'${RDKROOT}/meta-linaro/meta-linaro' if os.path.isfile('${RDKROOT}/meta-linaro/meta-linaro/conf/layer.conf') else ''} \ ${@'${RDKROOT}/meta-linaro/meta-linaro-toolchain' if os.path.isfile('${RDKROOT}/meta-linaro/meta-linaro-toolchain/conf/layer.conf') else ''} \ - ${RDKROOT}/openembedded-core/meta \ + ${@'${RDKROOT}/openembedded-core/meta' if os.path.isfile('${RDKROOT}/openembedded-core/meta/conf/layer.conf') else '${RDKROOT}/poky/meta'} \ ${@'${RDKROOT}/meta-rust' if os.path.isfile('${RDKROOT}/meta-rust/conf/layer.conf') else ''} \ ${@'${RDKROOT}/meta-clang' if os.path.isfile('${RDKROOT}/meta-clang/conf/layer.conf') else ''} \ ${@'${RDKROOT}/meta-gplv2' if os.path.isfile('${RDKROOT}/meta-gplv2/conf/layer.conf') else ''} \ ${@'${RDKROOT}/meta-python2' if os.path.isfile('${RDKROOT}/meta-python2/conf/layer.conf') else ''} \ + ${@'${RDKROOT}/meta-rdk-auxiliary' if os.path.isfile('${RDKROOT}/meta-rdk-auxiliary/conf/layer.conf') else ''} \ + ${@'${RDKROOT}/meta-rdk-oss-reference' if os.path.isfile('${RDKROOT}/meta-rdk-oss-reference/conf/layer.conf') else ''} \ + ${@'${RDKROOT}/meta-rdk-oss-ext' if os.path.isfile('${RDKROOT}/meta-rdk-oss-ext/conf/layer.conf') else ''} \ " # CPC requires dedicated licenses, we need to support build when CPC is not @@ -38,7 +41,6 @@ BBLAYERS += "${@'${RDKROOT}/meta-rdk-broadband' if os.path.isfile('${RDKROOT}/me BBLAYERS =+ "${@'${RDKROOT}/meta-rdk-comcast-video' if os.path.isfile('${RDKROOT}/meta-rdk-comcast-video/conf/layer.conf') else ''}" BBLAYERS += "${@'${RDKROOT}/meta-rdk-video' if os.path.isfile('${RDKROOT}/meta-rdk-video/conf/layer.conf') else ''}" BBLAYERS += "${@'${RDKROOT}/meta-rdk-voice' if os.path.isfile('${RDKROOT}/meta-rdk-voice/conf/layer.conf') else ''}" -BBLAYERS += "${@'${RDKROOT}/meta-rdk-ext' if os.path.isfile('${RDKROOT}/meta-rdk-ext/conf/layer.conf') else ''}" BBLAYERS += "${@'${RDKROOT}/meta-openembedded/meta-python' if os.path.isfile('${RDKROOT}/meta-openembedded/meta-python/conf/layer.conf') else ''}" BBLAYERS =+ "${@'${RDKROOT}/meta-rdk-broadband-cmf-restricted' if os.path.isfile('${RDKROOT}/meta-rdk-broadband-cmf-restricted/conf/layer.conf') else ''}" BBLAYERS =+ "${@'${RDKROOT}/meta-rtlwifi' if os.path.isfile('${RDKROOT}/meta-rtlwifi/conf/layer.conf') else ''}" @@ -47,3 +49,5 @@ BBLAYERS =+ "${@'${RDKROOT}/meta-rdk-amazon' if os.path.isfile('${RDKROOT}/meta- BBLAYERS += "${@'${RDKROOT}/meta-rdk-cujo' if os.path.isfile('${RDKROOT}/meta-rdk-cujo/conf/layer.conf') else ''}" BBLAYERS += "${@'${RDKROOT}/meta-rdk-broadband-cmf-poc' if os.path.isfile('${RDKROOT}/meta-rdk-broadband-cmf-poc/conf/layer.conf') else ''}" BBLAYERS += "${@'${RDKROOT}/meta-rdk-cognitive/meta-rdk-cognitive' if os.path.isfile('${RDKROOT}/meta-rdk-cognitive/meta-rdk-cognitive/conf/layer.conf') else ''}" +BBLAYERS += "${@'${RDKROOT}/meta-rdk-wan' if os.path.isfile('${RDKROOT}/meta-rdk-wan/conf/layer.conf') else ''}" +BBLAYERS += "${@'${RDKROOT}/meta-rdk-iot' if os.path.isfile('${RDKROOT}/meta-rdk-iot/conf/layer.conf') else ''}" diff --git a/conf/distro/include/rdkb.inc b/conf/distro/include/rdkb.inc index ae8b510c7..53aafb0ef 100644 --- a/conf/distro/include/rdkb.inc +++ b/conf/distro/include/rdkb.inc @@ -2,6 +2,7 @@ SPLASH = "" DISTRO_FEATURES:append:dunfell = " virtualization" +PREFERRED_VERSION_systemd = "1:250%" PREFERRED_VERSION_lighttpd = "1.4.53" PREFERRED_VERSION_libupnp = "1.6.22" @@ -82,6 +83,7 @@ BBMASK .= "|.meta-rdk-ext/recipes-extended|.meta-rdk-ext/recipes-multimedia|.met BBMASK .= "|.meta-rdk-comcast/recipes-common/nvm-sqlite/nvm-sqlite.bb|.meta-rdk-comcast/recipes-common/rdkversion/rdkversion_1.0.bb" BBMASK .= "|.meta-rdk-soc-intel-gw/meta-intelce-arm/recipes-gateway/miniupnpd/miniupnpd.bb" BBMASK .= "|.meta-rdk/recipes-core/packagegroups/packagegroup-rdk-qt5.bb" +BBMASK .= "|.meta-rdk-comcast/recipes-core/packagegroups/packagegroup-rdk-qt5.bb" VOIP_MASK ?= "|.meta-rdk-broadband/recipes-ccsp/ccsp/ccsp-telcovoip-agent.bb" BBMASK .= "${VOIP_MASK}" WAN_MASK ?= "|.meta-rdk-broadband/recipes-ccsp/ccsp/ccsp-wanagent.bb" @@ -147,3 +149,70 @@ DISTRO_FEATURES:append = " webui_jst" #DISTRO_FEATURES:append = " gtestapp" DISTRO_FEATURES:append = " redrecovery" OPTIMIZE_DEFAULT = "-Os" + + + +include conf/include/oss-config.inc +PREFERRED_VERSION_gettext-native = "0.21" +PREFERRED_PROVIDER_ca-certificates-trust-store = "ca-certificates-trust-store" + +BBMASK .= "|meta-rdk-comcast/recipes-core/systemd/systemd_250.5.bbappend" +BBMASK .= "|meta-rdk-comcast-broadband/recipes-core/systemd/systemd_%.bbappend" +BBMASK .= "|meta-rdk/recipes-common/safec/safec_%.bbappend" +BBMASK .= "|meta-rdk-comcast/recipes-connectivity/ndisc6/ndisc6_%.bbappend" +BBMASK .= "|meta-rdk-comcast/recipes-support/ca-certificates/ca-certificates_%.bbappend" +BBMASK .= "|meta-rdk-comcast/recipes-connectivity/dibbler/dibbler_git.bbappend" +BBMASK .= "|meta-rdk-comcast/recipes-common/lighttpd/lighttpd_%.bbappend" +BBMASK .= "|meta-rdk-comcast-broadband/recipes-common/bash/bash_%.bbappend" +BBMASK .= "|meta-rdk-comcast/recipes-devtools/breakpad/breakpad_git.bbappend" +BBMASK .= "|meta-rdk-comcast/recipes-tweaks/breakpad/breakpad_git.bbappend" +BBMASK .= "|meta-rdk-comcast/recipes-core/glib-2.0/glib-2.0_2.7%.bbappend" +BBMASK .= "|meta-rdk-broadband/recipes-support/libsoup/libsoup-2.4_2.74.2.bbappend" +BBMASK .= "|meta-rdk-comcast/recipes-support/stunnel/stunnel_%.bbappend" +BBMASK .= "|meta-rdk/recipes-extended/rpcbind/rpcbind_1.2.%.bbappend" +BBMASK .= "|meta-rdk-comcast/recipes-connectivity/bind/bind_%.bbappend" +BBMASK .= "|meta-rdk-comcast-broadband/recipes-rdkb/iptables/iptables_1.8.%.bbappend" +BBMASK .= "|meta-rdk-comcast-broadband/recipes-rdkb/iptables/iptables_%.bbappend" +BBMASK .= "|meta-rdk-comcast-broadband/recipes-support/syslog-ng/syslog-ng_3.36.1.bbappend" +BBMASK .= "|meta-rdk-comcast-broadband/recipes-connectivity/dibbler/dibbler_%.bbappend" +BBMASK .= "|meta-rdk-comcast-broadband/recipes-core/dropbear/dropbear_2020.81.bbappend" +BBMASK .= "|meta-rdk-comcast/recipes-protocols/net-snmp/*" +BBMASK .= "|meta-rdk/recipes-support/webcfg/webcfg_1.0.bb" +BBMASK .= "|meta-rdk-comcast-broadband/recipes-common/rfc/rfc_git.bbappend" +#BBMASK .= "|meta-rdk-broadband/recipes-support/cimplog/cimplog_1.0.bbappend" + +PREFERRED_VERSION_jsoncpp = "1:1.9.5" +PREFERRED_VERSION_dnsmasq = "2.83" + +DISTRO_FEATURES:append = " rdkb_configurable_wan_interface " +DISTRO_FEATURES:append = " unified_mapt " + +BBMASK .= "|meta-rdk-oem-tch-brcm-xb6/meta-tchxb6/recipes-bsp/broadcom-thread/broadcom-thread.bb|.meta-rdk-oem-tch-brcm-xb6/meta-tchxb6/recipes-bsp/broadcom-thread/broadcom-thread_17.2.bb|.meta-rdk-oem-tch-brcm-xb6/meta-tchxb6/recipes-bsp/broadcom-thread/broadcom-thread_18.1.bb|.meta-rdk-oem-tch-brcm-xb6/meta-tchxb6/recipes-bsp/broadcom-thread/broadcom-thread_18.3.bb|.meta-rdk-oem-tch-brcm-xb6/meta-tchxb6/recipes-bsp/broadcom-thread/broadcom-thread_19.3.bb|.meta-rdk-oem-tch-brcm-xb6/meta-tchxb6/recipes-bsp/broadcom-thread/broadcom-thread-bin_17.2.bb|.meta-rdk-oem-tch-broadcom-wifi/meta-tchbcm/recipes-bsp/broadcom-wifi/broadcom-wifi_19.3.bb" +MIDDLEWARE_ARCH = "cortexa15hf-neon" +#This should be reviewed and added it back. +#OSS_LAYER_ARCH = "cortexa15hf-neon" +IMAGE_CLASSES:remove = " post-rootfs-hooks " + + +#srcrev for opensourced components + + +SRCREV:pn-libsyswrapper = "5143ba5b92f5dc77b436837d51f2f612d5846b7b" +SRCREV_rdk-libunpriv = "a0dbea7d368a630158abf56ef8bd7f3855910ec5" +SRCREV:pn-telemetry = "0d73470cc038f1e47ffee483a7d05e51bf88751e" +SRCREV:pn-crashupload = "8e7e22d2cb988ea58b9ba9d85b8b0812c6dc77d2" +SRCREV:pn-commonutilities = "071361f284ba9049bf7d8cb9a75b583b9b1e353b" +SRCREV:pn-rfc = "b6da366e704a006394b33759f144c0a4256fd335" +SRCREV:pn-rdkcertconfig = "e0e35743f7e96ad0595ac25b11d829b766f7062b" +SRCREV_caupdate = "9859720a8748331038e5476321cf039e7d17c5f1" +#topic branch - rdk-ca-store +SRCREV_rdk-ca-store = "378b7d149a0a0c71be7eb41c0ac0fc79a3ca1cf9" +SRCREV:pn-sslcerts = "2d3ef2f7c1b54c7552cac2ab1e41f1ce3871c3d6" +#topic branch - ssacpc +SRCREV_ssacpc = "f238816d57f9956d1ddcd6754b170eafec0ec47e" +#topic branch -cedmcpc +SRCREV_cedmcpc = "a82a07c5c2639a81d4bcd2e2d665ce06c999019c" +SRCREV_ecfsgeneric= "822d726d14e575ec9c73198ce939733abd0d365b" +SRCREV:pn-remotedebugger = "300d29e105f6a7244bff81fa0357dac914dd8913" +SRCREV_sshkeys = "3a1c7d6a07586117bd992fe72ae3365fdd7ef2f3" +SRCREV_mount-utils = "c1aeb29c8e1f236babdd6a1a4538c5b451c7b8c1" diff --git a/conf/distro/rdk.conf b/conf/distro/rdk.conf index 24e8ca002..966b36d16 100755 --- a/conf/distro/rdk.conf +++ b/conf/distro/rdk.conf @@ -284,7 +284,7 @@ PREFERRED_VERSION_msgpack-c ?= "2.1.1%" PREFERRED_VERSION_systemd_pyro = "1:232%" PREFERRED_VERSION_systemd_rocko = "1:234%" PREFERRED_VERSION_systemd_thud = "1:239%" -PREFERRED_VERSION_systemd:kirkstone ?= "1:230%" +PREFERRED_VERSION_systemd:kirkstone:client ?= "1:230%" PREFERRED_VERSION_xfsprogs ?= "3.1%" #PREFERRED_VERSION_xfsprogs_morty ?= "3.1.11" #PREFERRED_VERSION_xfsprogs_dunfell = "5.2.1" @@ -385,7 +385,8 @@ PREFERRED_VERSION_nativesdk-glib-2.0 = "${@bb.utils.contains('DISTRO_FEATURES', PACKAGE_DEBUG_SPLIT_STYLE:kirkstone = "debug-without-src" -PREFERRED_PROVIDER_virtual/ca-certificates-trust-store ?= "ca-certificates-trust-store" +#PREFERRED_PROVIDER_virtual/ca-certificates-trust-store:client ?= "ca-certificates-trust-store" PREFERRED_PROVIDER_virtual/firebolt ?= "ripple" include conf/distro/rdk-cpc.conf + diff --git a/recipes-common/crashupload/crashupload_git.bb b/recipes-common/crashupload/crashupload_git.bb index 575564a06..967aa7c7a 100644 --- a/recipes-common/crashupload/crashupload_git.bb +++ b/recipes-common/crashupload/crashupload_git.bb @@ -43,7 +43,7 @@ do_install:append:broadband() { $use_sysv || install -m 0644 ${S}/minidump-on-bootup-upload.service ${D}${systemd_unitdir}/system/ $use_sysv || install -m 0644 ${S}/minidump-on-bootup-upload.timer ${D}${systemd_unitdir}/system/ install -d ${D}${sysconfdir} - #install -m 0755 ${S}/uploadDumpsUtils.sh ${D}${base_libdir}/rdk + install -m 0755 ${S}/uploadDumpsUtils.sh ${D}${base_libdir}/rdk } SYSTEMD_SERVICE:${PN}:append:broadband = " coredump-upload.service \ @@ -56,4 +56,4 @@ RDEPENDS:${PN} += "busybox" PACKAGE_BEFORE_PN += "${PN}-conf" FILES:${PN} += "${base_libdir}/rdk/uploadDumps.sh" -#FILES:${PN}:append:broadband = " ${base_libdir}/rdk/uploadDumpsUtils.sh" +FILES:${PN}:append:broadband = " ${base_libdir}/rdk/uploadDumpsUtils.sh" diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index 2d96df69b..a94ebdd3a 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -13,13 +13,14 @@ S = "${WORKDIR}/git" export cjson_CFLAGS = "-I$(PKG_CONFIG_SYSROOT_DIR)${includedir}/cjson" export cjson_LIBS = "-lcjson" -DEPENDS="cjson curl commonutilities libsyswrapper iarmmgrs-hal-headers" +DEPENDS="cjson curl commonutilities libsyswrapper" +DEPENDS:append:client = " iarmmgrs-hal-headers" DEPENDS:append:broadband += " rbus" export rbus_CFLAGS = "-I$(PKG_CONFIG_SYSROOT_DIR)${includedir}/rbus" export rbus_LIBS = "-lrbus" EXTRA_OEMAKE += "-e MAKEFLAGS=" -EXTRA_OECONF:append = " --enable-iarmbus=yes --enable-tr69hostif=yes" +EXTRA_OECONF:append:client = " --enable-iarmbus=yes --enable-tr69hostif=yes" EXTRA_OECONF:append:broadband = " --enable-rdkb=yes --enable-tr181set=yes" EXTRA_OEMAKE += "LIBS='-lsafec'" diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index 82a8fcec7..0134e58a0 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -21,6 +21,8 @@ S = "${WORKDIR}/git" #compiler warnings were fixed as part of RDK-55297 #CFLAGS += " -Wall -Werror -Wextra -Wno-unused-parameter -Wno-pointer-sign -Wno-sign-compare -Wno-enum-compare -Wno-type-limits -Wno-enum-conversion -Wno-format-truncation" CFLAGS += " -Wall -Werror -Wextra" +#FIXME, this is temporary workaround for broadband. It has to be verified and remove these suppression flags +CFLAGS:append:broadband += " -DRDK_LOGGER -Wno-sign-compare -Wno-unused-parameter -Wno-pointer-sign" inherit pkgconfig autotools systemd ${@bb.utils.contains("DISTRO_FEATURES", "kirkstone", "python3native", "pythonnative", d)} breakpad-logmapper diff --git a/recipes-common/utils/commonutilities_git.bb b/recipes-common/utils/commonutilities_git.bb new file mode 100644 index 000000000..8fc5bbec0 --- /dev/null +++ b/recipes-common/utils/commonutilities_git.bb @@ -0,0 +1,23 @@ +SUMMARY = "RDK commonutilities" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=24691c8ce48996ecd1102d29eab1216e" + +# To have a possibility to override SRC_URI later, we are introducing the following workaround: +SRC_URI = "${CMF_GITHUB_ROOT}/common_utilities;module=.;${CMF_GITHUB_SRC_URI_SUFFIX}" + +PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" +DEPENDS +=" cjson curl rdk-logger" + +#uncomment the following line to turn on debugging +#CFLAGS:append = " -DCURL_DEBUG" +# or enable this distro feature +CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'debug_curl_cdl', ' -DCURL_DEBUG', '', d)}" + +CFLAGS:append = " -DRDK_LOGGER" + +PV ?= "1.1.0" +PR ?= "r0" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig coverity diff --git a/recipes-common/webconfig-framework/webconfig-framework.bb b/recipes-common/webconfig-framework/webconfig-framework.bb index 13f4a2faf..b5d22e463 100644 --- a/recipes-common/webconfig-framework/webconfig-framework.bb +++ b/recipes-common/webconfig-framework/webconfig-framework.bb @@ -13,7 +13,7 @@ RDEPENDS:${PN}:remove_morty = "bash" SRC_URI = "${CMF_GITHUB_ROOT}/WebconfigFramework;${CMF_GITHUB_SRC_URI_SUFFIX}" SRCREV_FORMAT = "WebconfigFramework" -SRCREV = "bf798d05bfd5de2b4e1a58d76fdc0108b5a85091" +SRCREV = "9c7a05a78aefd1d5da1afe3cf050499888b93fb7" PV ?= "1.0.0" PR ?= "r0" diff --git a/recipes-core/packagegroups/packagegroup-rdk-oss-broadband.bb b/recipes-core/packagegroups/packagegroup-rdk-oss-broadband.bb index 9a0c952bb..f97a39cd0 100644 --- a/recipes-core/packagegroups/packagegroup-rdk-oss-broadband.bb +++ b/recipes-core/packagegroups/packagegroup-rdk-oss-broadband.bb @@ -71,6 +71,7 @@ RDEPENDS:packagegroup-rdk-oss-broadband = "\ " DEPENDS += " libsyswrapper" +RDEPENDS:packagegroup-rdk-oss-broadband += " ${@bb.utils.contains('DISTRO_FEATURES', 'btr_hciadv', 'bleadvhci', '', d)}" RDEPENDS:packagegroup-rdk-oss-broadband += " ${@bb.utils.contains('DISTRO_FEATURES', 'snmppa', 'net-snmp-client net-snmp-server net-snmp-mibs net-snmp-server-snmpd', '', d)}" RDEPENDS:packagegroup-rdk-oss-broadband += " ${@bb.utils.contains('DISTRO_FEATURES', 'rdk-oss-ssa', 'rdk-oss-ssa ecryptfs-utils', '', d)}" RDEPENDS:packagegroup-rdk-oss-broadband += " ${@bb.utils.contains('DISTRO_FEATURES', 'gateway_manager', ' rsync ', '', d)}" diff --git a/recipes-extended/remotedebugger/remotedebugger.bb b/recipes-extended/remotedebugger/remotedebugger.bb index f78d8c278..c363acd27 100644 --- a/recipes-extended/remotedebugger/remotedebugger.bb +++ b/recipes-extended/remotedebugger/remotedebugger.bb @@ -13,7 +13,8 @@ CFLAGS += " -Wall -Werror" inherit autotools pkgconfig coverity systemd syslog-ng-config-gen breakpad-logmapper -DEPENDS = "cjson iarmbus iarmmgrs rdk-logger trower-base64 msgpack-c webconfig-framework rbus libsyswrapper" +DEPENDS = "cjson rdk-logger trower-base64 msgpack-c webconfig-framework rbus libsyswrapper" +DEPENDS:append:client = " iarmbus iarmmgrs" RDEPENDS:${PN}:append = " bash" RDEPENDS:${PN}:remove_morty = "bash" @@ -30,8 +31,10 @@ INCLUDE_DIRS = " \ -I${STAGING_INCDIR}/trower-base64 \ -I${STAGING_INCDIR}/rbus \ " + + # RBUS is now used for generic communication. Enable IARMBUS support for Video devices. -EXTRA_OECONF:append = " --enable-iarmbusSupport=yes" +EXTRA_OECONF:append:client = " --enable-iarmbusSupport=yes" SYSLOG-NG_FILTER = "remote-debugger" SYSLOG-NG_SERVICE_remote-debugger = "remote-debugger.service" diff --git a/recipes-support/cimplog/cimplog_1.0.bb b/recipes-support/cimplog/cimplog_1.0.bb index 203a22242..438fe83cf 100644 --- a/recipes-support/cimplog/cimplog_1.0.bb +++ b/recipes-support/cimplog/cimplog_1.0.bb @@ -13,6 +13,7 @@ PR ?= "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" +CFLAGS:append:broadband += " ${@bb.utils.contains('DISTRO_FEATURES', 'bci', '', '-DFEATURE_SUPPORT_ONBOARD_LOGGING',d)}" S = "${WORKDIR}/git" inherit pkgconfig cmake diff --git a/setup-environment b/setup-environment index d30d0d967..b2ae7ee99 100755 --- a/setup-environment +++ b/setup-environment @@ -34,8 +34,13 @@ if [ "$(whoami)" = "root" ]; then return 1 fi +OE_CORE_LAYER="openembedded-core" +if [ -d "poky" ];then + OE_CORE_LAYER="poky" +fi + # check that we are where we think we are! -if [ ! -f "openembedded-core/oe-init-build-env" ]; then +if [ ! -f "$OE_CORE_LAYER/oe-init-build-env" ]; then echo -e "\nUNABLE TO FIND OPENEMBEDDED !" return 1 fi @@ -53,7 +58,7 @@ EOF export PATH="`echo ${PATH} | sed 's/\(:.\|:\)*:/:/g;s/^.\?://;s/:.\?$//'`" # Clean PATH of any previous oe-core bitbake or scripts directories -export PATH="$(echo $PATH | sed 's!/[^:]\+/openembedded-core/\(bitbake/bin\|scripts\):!!g')" +export PATH="$(echo $PATH | sed 's!/[^:]\+/$OE_CORE_LAYER/\(bitbake/bin\|scripts\):!!g')" # only 1 parameter max, folder, or default to build-$machine _BUILDDIR= @@ -110,7 +115,7 @@ _PWD_PREV=$(pwd) # Warning: Sourcing the oe-init-build-env script changes the current directory. -TEMPLATECONF=${_PWD_PREV}/meta-rdk/conf source openembedded-core/oe-init-build-env ${_BUILDDIR} +TEMPLATECONF=${_PWD_PREV}/meta-rdk/conf source $OE_CORE_LAYER/oe-init-build-env ${_BUILDDIR} if [ "$_CONFIGS_FOUND" ]; then echo -e "\nConfig files already exist in folder ${_BUILDDIR}/conf/, they were not modified." @@ -124,9 +129,10 @@ fi # bitbake released with OE 2.0) with OE 1.6. We need to account for that here, # ie bitbake version 1.28 needs to map to "daisy", not "jethro". -case "$(sed -n 's/^__version__ = "\(.*\)"/\1/p' ${_PWD_PREV}/openembedded-core/bitbake/bin/bitbake)" +case "$(sed -n 's/^__version__ = "\(.*\)"/\1/p' ${_PWD_PREV}/$OE_CORE_LAYER/bitbake/bin/bitbake)" in 2.2.*) _DISTRO_CODENAME="kirkstone" ;; + 2.0.*) _DISTRO_CODENAME="kirkstone" ;; 1.46.*) _DISTRO_CODENAME="dunfell" ;; 1.37.*|1.38.*) _DISTRO_CODENAME="sumo" ;; 1.35.*|1.36.*) _DISTRO_CODENAME="rocko" ;; From 913d590ee4b8df629fa49da29aa7423056909028 Mon Sep 17 00:00:00 2001 From: vrenu2018 <136053788+vrenu2018@users.noreply.github.com> Date: Thu, 6 Nov 2025 15:59:05 -0500 Subject: [PATCH 057/274] RDKEMW-9859 : Cleanup of xre-receiver code (#324) Reason for change: CPESP-3386 Remove UI Components / Recipes from OEM Yocto Layer Test Procedure: Boot the TV and check the rootfs for xre-receiver Risks: low Signed-off-by: vrenu2018 Co-authored-by: vrenu2018 --- conf/distro/include/rdk_security_flags.inc | 1 - rename_srcrev.sh | 5 ----- 2 files changed, 6 deletions(-) diff --git a/conf/distro/include/rdk_security_flags.inc b/conf/distro/include/rdk_security_flags.inc index 58997058f..361bee952 100644 --- a/conf/distro/include/rdk_security_flags.inc +++ b/conf/distro/include/rdk_security_flags.inc @@ -9,7 +9,6 @@ ASLR:pn-docsis = "n" # ASLR:pn-hal-wifi = "n" ASLR:pn-mesh-agent = "n" ASLR:pn-tr69hostif = "n" -ASLR:pn-xre-receiver-default = "n" ASLR:pn-qtbase = "n" ASLR:pn-ccsp-xconf = "n" ASLR:pn-qtn-csmd-logic = "n" diff --git a/rename_srcrev.sh b/rename_srcrev.sh index 964858f98..a0d7417a2 100755 --- a/rename_srcrev.sh +++ b/rename_srcrev.sh @@ -93,8 +93,6 @@ if [ -f ${PWD}/../versions.conf ]; then sed -z -i 's+SRCREV:pn-rdk/components/cpc/xreplugins/generic+SRCREV:pn-netflix-plugin+' ${PWD}/../versions.conf sed -z -i 's+SRCREV:pn-rdk/components/cpc/xreplugins/generic+SRCREV:pn-wayland-plugin-default+' ${PWD}/../versions.conf sed -z -i 's+SRCREV:pn-rdk/components/cpc/xreplugins/generic+SRCREV:pn-xre2-plugin-default+' ${PWD}/../versions.conf - sed -z -i 's+SRCREV:pn-rdk/components/cpc/xre/generic+SRCREV:pn-xre-receiver-default+' ${PWD}/../versions.conf - sed -z -i 's+SRCREV:pn-rdk/components/cpc/xre/generic+SRCREV:pn-xre-receiver-default-headers+' ${PWD}/../versions.conf sed -z -i 's+SRCREV:pn-rdk/components/cpc/ave/generic+SRCREV:pn-ave-crypto+' ${PWD}/../versions.conf sed -z -i 's+SRCREV:pn-rdk/components/cpc/ave/generic+SRCREV:pn-ave-filesystem+' ${PWD}/../versions.conf sed -z -i 's+SRCREV:pn-rdk/components/cpc/ave/generic+SRCREV:pn-ave-trace+' ${PWD}/../versions.conf @@ -171,7 +169,6 @@ if [ -f ${PWD}/../versions.conf ]; then sed -i 's+SRCREV:pn-rdk/components/generic/control-testapp/generic+SRCREV:pn-ctrlm-testapp+g' ${PWD}/../versions.conf sed -i 's+SRCREV:pn-rdk/components/thirdparty/vnc/generic+SRCREV:pn-vnc+g' ${PWD}/../versions.conf sed -i 's+SRCREV:pn-rdk/components/generic/hdmicec/soc/raspberrypi/rpi3+SRCREV:pn-hdmicec-hal+g' ${PWD}/../versions.conf - sed -i 's+SRCREV:pn-rdk/components/cpc/xre/devices/raspberry/rpi3+SRCREV_xreplat:pn-xre-receiver-default +g' ${PWD}/../versions.conf sed -i 's+SRCREV:pn-rdk/components/generic/sec-apis/generic+SRCREV:pn-secapi-noop+g' ${PWD}/../versions.conf sed -i 's+SRCREV:pn-rdk/components/generic/dcm/generic+SRCREV:pn-dcmjsonparser+g' ${PWD}/../versions.conf sed -i 's+SRCREV:pn-rdk/components/generic/gstreamer-netflix-platform/generic+SRCREV:pn-rdk-gstreamer-utils+g' ${PWD}/../versions.conf @@ -372,8 +369,6 @@ if [ -f ${PWD}/../auto.conf ]; then sed -i 's/SRCREV_pn-wayland-plugin-default/SRCREV_xreplgs_pn-wayland-plugin-default/g' ${PWD}/../auto.conf sed -i 's/SRCREV_pn-cef-eglfs/SRCREV_rdkcef_chromium_pn-cef-eglfs/g' ${PWD}/../auto.conf sed -i 's/SRCREV_pn-qtwebrtc/SRCREV_qtwebrtc_pn-qtwebrtc/g' ${PWD}/../auto.conf - sed -i 's/SRCREV_pn-xre-receiver-default /SRCREV_xre_default_xreplat_servicemanager_svcmgrplat_pn-xre-receiver-default/g' ${PWD}/../auto.conf - sed -i 's/SRCREV_pn-xre-receiver-default-headers/SRCREV_xrereceiverdefaultheaders_pn-xre-receiver-default-headers/g' ${PWD}/../auto.conf sed -i 's/SRCREV_pn-authservice/SRCREV_authservice_pn-authservice/g' ${PWD}/../auto.conf sed -i 's/SRCREV_pn-sdvagent/SRCREV_sdvagent_pn-sdvagent/g' ${PWD}/../auto.conf sed -i 's/SRCREV_pn-rdk-oss-ssa/SRCREV_rdk-oss-ssa:pn-rdk-oss-ssa/g' ${PWD}/../auto.conf From 7d8918ebea2ad7bdd5ddef73ffaa28c1d19ba108 Mon Sep 17 00:00:00 2001 From: rosemarybennyy Date: Fri, 7 Nov 2025 04:20:22 +0530 Subject: [PATCH 058/274] RDKEMW-6710 : Rdklogger L1 code coverage addition (#326) RDKEMW-6710 : RDKLogger L1 code coverage addition Test Procedure: Tested and verified Risks:Medium Priority:P1 Signed-off-by: Rose Mary Benny --- recipes-common/rdk-logger/rdk-logger_git.bb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes-common/rdk-logger/rdk-logger_git.bb b/recipes-common/rdk-logger/rdk-logger_git.bb index f60373f64..360a77764 100644 --- a/recipes-common/rdk-logger/rdk-logger_git.bb +++ b/recipes-common/rdk-logger/rdk-logger_git.bb @@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" SRC_URI = "${CMF_GITHUB_ROOT}/rdk_logger;protocol=https;branch=main" S = "${WORKDIR}/git" -SRCREV = "v2.3.0" -PV = "2.3.0" +SRCREV = "ed3a3f71b8db836449bde6b7c9dc60438fedf30e" +PV = "2.4.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -19,7 +19,6 @@ DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " EXTRA_OECONF += " --enable-milestone" PROVIDES = "getClockUptime" CFLAGS:append = " -DLOGMILESTONE" -CXXFLAGS:append = " -DLOGMILESTONE" inherit autotools pkgconfig coverity pkgconfig From 7829f9f9dc81e248a49f2c2f1b5b49336df570fc Mon Sep 17 00:00:00 2001 From: Gurdal Oruklu Date: Fri, 7 Nov 2025 06:55:54 -0800 Subject: [PATCH 059/274] RDKEMW-8825 : App Not Killed by Dobby OOM at Max Memory Limit (#285) Reason for change: enable swap limit in OCI config template Test Procedure: see Jira ticket Risks: Low Priority: P1 Change-Id: Iaf7683fbcdfe697f2fdc14c388fa66b050a3d093 Signed-off-by: Gurdal Oruklu Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> --- recipes-containers/dobby/dobby.bb | 1 + .../0001-RDKEMW-8825-enable-swap-limit.patch | 45 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 recipes-containers/dobby/files/0001-RDKEMW-8825-enable-swap-limit.patch diff --git a/recipes-containers/dobby/dobby.bb b/recipes-containers/dobby/dobby.bb index 71a1085c1..fc6626bb8 100644 --- a/recipes-containers/dobby/dobby.bb +++ b/recipes-containers/dobby/dobby.bb @@ -8,6 +8,7 @@ SRC_URI:append = " file://Fix_compile_gcc11.patch \ file://Add_config_header_kirkstone.patch \ file://dobby.generic.json \ file://dobby_start_after_apparmor.patch \ + file://0001-RDKEMW-8825-enable-swap-limit.patch \ " PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" diff --git a/recipes-containers/dobby/files/0001-RDKEMW-8825-enable-swap-limit.patch b/recipes-containers/dobby/files/0001-RDKEMW-8825-enable-swap-limit.patch new file mode 100644 index 000000000..a05b62175 --- /dev/null +++ b/recipes-containers/dobby/files/0001-RDKEMW-8825-enable-swap-limit.patch @@ -0,0 +1,45 @@ +From 9f066586771a436a11521bcafb99211852afcc2a Mon Sep 17 00:00:00 2001 +From: Gurdal Oruklu +Date: Mon, 29 Sep 2025 22:14:13 +0000 +Subject: [PATCH] RDKEMW-8825: App not killed when container reaches memory + limit + +Added "swap" limit in the OCI config templates to enable OOM killing when +memory limit is reached when swap memory is enabled. + +Signed-off-by: Gurdal Oruklu +--- + bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template | 4 +++- + .../lib/source/templates/OciConfigJsonVM1.0.2-dobby.template | 4 +++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template b/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template +index 381017098..6cbdabd43 100644 +--- a/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template ++++ b/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template +@@ -327,7 +327,9 @@ static const char* ociJsonTemplate = R"JSON( + {{/DEV_WHITELIST_SECTION}} + ], + "memory": { +- "limit": {{MEM_LIMIT}} ++ "limit": {{MEM_LIMIT}}, ++ "swap": {{MEM_LIMIT}}, ++ "swappiness": 60 + }, + "cpu": { + {{#CPU_SHARES_ENABLED}} +diff --git a/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template b/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template +index ed1bc177f..21fe91d38 100644 +--- a/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template ++++ b/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template +@@ -338,7 +338,9 @@ static const char* ociJsonTemplate = R"JSON( + {{/DEV_WHITELIST_SECTION}} + ], + "memory": { +- "limit": {{MEM_LIMIT}} ++ "limit": {{MEM_LIMIT}}, ++ "swap": {{MEM_LIMIT}}, ++ "swappiness": 60 + }, + "cpu": { + {{#CPU_SHARES_ENABLED}} \ No newline at end of file From 731420a48efb9da5377e271cc262adc17306369d Mon Sep 17 00:00:00 2001 From: Simon Chung Date: Mon, 10 Nov 2025 16:01:42 +0000 Subject: [PATCH 060/274] CMFSUPPORT-3454 Add network-hotplug recipe Required by broadband images --- .../network-hotplug/files/lan-iface@.service | 12 +++++++++ .../network-hotplug/files/network.rules | 1 + .../network-hotplug/files/network@.service | 15 +++++++++++ .../network-hotplug/files/udhcpc@.service | 16 ++++++++++++ .../network-hotplug/files/usb-ethernet.rules | 2 ++ .../network-hotplug/files/usb-input.rules | 2 ++ .../network-hotplug_%.bbappend | 8 ++++++ .../network-hotplug/network-hotplug_1.0.bb | 25 +++++++++++++++++++ 8 files changed, 81 insertions(+) create mode 100644 recipes-support/network-hotplug/files/lan-iface@.service create mode 100644 recipes-support/network-hotplug/files/network.rules create mode 100644 recipes-support/network-hotplug/files/network@.service create mode 100644 recipes-support/network-hotplug/files/udhcpc@.service create mode 100644 recipes-support/network-hotplug/files/usb-ethernet.rules create mode 100644 recipes-support/network-hotplug/files/usb-input.rules create mode 100644 recipes-support/network-hotplug/network-hotplug_%.bbappend create mode 100644 recipes-support/network-hotplug/network-hotplug_1.0.bb diff --git a/recipes-support/network-hotplug/files/lan-iface@.service b/recipes-support/network-hotplug/files/lan-iface@.service new file mode 100644 index 000000000..c6b06c77b --- /dev/null +++ b/recipes-support/network-hotplug/files/lan-iface@.service @@ -0,0 +1,12 @@ +[Unit] +Description=LAN Interface + +[Service] +Type=oneshot +RemainAfterExit=yes +EnvironmentFile=/etc/device.properties +ExecStart=/sbin/udhcpc -i ${LAN_INTERFACE} -p /tmp/udhcpc.${LAN_INTERFACE} +ExecStop=/sbin/ifconfig ${LAN_INTERFACE} down + +[Install] +Alias=multi-user.target.wants/lan-iface@%i.service diff --git a/recipes-support/network-hotplug/files/network.rules b/recipes-support/network-hotplug/files/network.rules new file mode 100644 index 000000000..d2d2557d1 --- /dev/null +++ b/recipes-support/network-hotplug/files/network.rules @@ -0,0 +1 @@ +SUBSYSTEM=="net", KERNEL!="lo", ENV{SYSTEMD_WANTS}+="network@$name.service" ENV{SYSTEMD_ALIAS}="/$name" diff --git a/recipes-support/network-hotplug/files/network@.service b/recipes-support/network-hotplug/files/network@.service new file mode 100644 index 000000000..d94fdacdf --- /dev/null +++ b/recipes-support/network-hotplug/files/network@.service @@ -0,0 +1,15 @@ +# currently, the BindTo is not working +[Service] +Type=oneshot +RemainAfterExit=yes + +EnvironmentFile=/etc/device.properties + +ExecStart=/sbin/ip link set dev %i up +ExecReload=/sbin/ip addr flush dev %i scope global +ExecStop=-/sbin/ip addr flush dev %i scope global +StandardOutput=journal + +[Unit] +BindsTo=%i.device +After=%i.device diff --git a/recipes-support/network-hotplug/files/udhcpc@.service b/recipes-support/network-hotplug/files/udhcpc@.service new file mode 100644 index 000000000..10723ecc7 --- /dev/null +++ b/recipes-support/network-hotplug/files/udhcpc@.service @@ -0,0 +1,16 @@ +[Unit] +Description=Connection service (udhcpc) +After=network@%i.service +Requires=network@%i.service +Wants=network-online.target +Before=network-online.target +ConditionPathExists=/etc +ConditionPathExists=/tmp + +[Service] +ExecStartPre=-/bin/touch /etc/resolv.conf +ExecStart=/sbin/udhcpc -i%i +RemainAfterExit=yes + +[Install] +WantedBy=network.target diff --git a/recipes-support/network-hotplug/files/usb-ethernet.rules b/recipes-support/network-hotplug/files/usb-ethernet.rules new file mode 100644 index 000000000..6079137d6 --- /dev/null +++ b/recipes-support/network-hotplug/files/usb-ethernet.rules @@ -0,0 +1,2 @@ +# Disable USB to Ethernet interface +KERNEL!="lo", ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="usb", ENV{ID_BUS}=="usb", ATTRS{authorized}=="1", PROGRAM="/lib/rdk/disableUSBEthernet.sh", RESULT=="TRUE", ENV{SYSTEMD_WANTS}="", ENV{SYSTEMD_ALIAS}="", RUN+="/bin/sh -c 'echo 0 >/sys/bus/usb/devices/$id/authorized'" diff --git a/recipes-support/network-hotplug/files/usb-input.rules b/recipes-support/network-hotplug/files/usb-input.rules new file mode 100644 index 000000000..253929fd9 --- /dev/null +++ b/recipes-support/network-hotplug/files/usb-input.rules @@ -0,0 +1,2 @@ +#Disable USB KeyBoard and Mouse based on RFC parameter +ACTION=="add", SUBSYSTEM=="input", SUBSYSTEMS=="usb", ENV{ID_BUS}=="usb", ATTRS{authorized}=="1", TAG+="systemd", ENV{SYSTEMD_WANTS}+="usb-input@$id.service" diff --git a/recipes-support/network-hotplug/network-hotplug_%.bbappend b/recipes-support/network-hotplug/network-hotplug_%.bbappend new file mode 100644 index 000000000..bdb24e7d5 --- /dev/null +++ b/recipes-support/network-hotplug/network-hotplug_%.bbappend @@ -0,0 +1,8 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI += "file://usb-ethernet.rules" + +do_install_append() { + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/usb-ethernet.rules ${D}${sysconfdir}/udev/rules.d/usb-ethernet.rules +} diff --git a/recipes-support/network-hotplug/network-hotplug_1.0.bb b/recipes-support/network-hotplug/network-hotplug_1.0.bb new file mode 100644 index 000000000..f70bda317 --- /dev/null +++ b/recipes-support/network-hotplug/network-hotplug_1.0.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Network Hotplug" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/../meta-rdk/licenses/Apache-2.0;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI = " \ + file://network@.service \ + file://network.rules \ + file://lan-iface@.service \ + " + +FILES_${PN} = "${sysconfdir}/udev/rules.d/* ${systemd_unitdir}/system/*" + +RDEPENDS_${PN} = "udev" + +do_install() { + install -d ${D}${systemd_unitdir}/system + + if ${@bb.utils.contains('DISTRO_FEATURES', 'benchmark_enable', 'false', 'true', d)}; then + install -m 0644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system + fi + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/network.rules ${D}${sysconfdir}/udev/rules.d/network.rules +} + +inherit systemd From 0c9cd640f8246e569fc24264656389f3a8056485 Mon Sep 17 00:00:00 2001 From: Simon Chung Date: Tue, 11 Nov 2025 09:22:48 +0000 Subject: [PATCH 061/274] CMFSUPPORT-3454 Add dsm recipe --- recipes-containers/dsm/dsm.bb | 40 +++++++++++++++++-- recipes-containers/dsm/files/dsm.config | 49 ++++++++++++++++++++++++ recipes-containers/dsm/files/dsm.service | 13 +++++++ 3 files changed, 99 insertions(+), 3 deletions(-) create mode 100644 recipes-containers/dsm/files/dsm.config create mode 100644 recipes-containers/dsm/files/dsm.service diff --git a/recipes-containers/dsm/dsm.bb b/recipes-containers/dsm/dsm.bb index 99df3ad74..e544d6315 100644 --- a/recipes-containers/dsm/dsm.bb +++ b/recipes-containers/dsm/dsm.bb @@ -3,7 +3,41 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=50e2d278b66b3b7b20bc165c146a2b58" S = "${WORKDIR}/git" -SRC_URI = "${CMF_GITHUB_ROOT}/DSM;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GITHUB_MAIN_BRANCH}" +SRC_URI = "${CMF_GITHUB_ROOT}/DSM;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GITHUB_MAIN_BRANCH} \ + file://dsm.config \ + file://dsm.service " -SRCREV = "e2386b3ab0640fd7ffacb5f6895d05b176f63eba" -inherit pkgconfig cmake +SRCREV = "c3cfd0a9d1ee1e9c2f2e8db4348b314aa32439bc" +SRCREV_kirkstone = "be204cb7f1e46ad6b66489172010eee80967b4be" +DEPENDS_append_kirkstone = " dobby " + +EXTRA_OECMAKE = " -DENABLE_RBUS_PROVIDER=ON" + +inherit pkgconfig cmake systemd + +DEPENDS += "rbus" +DEPENDS += "dobby" + +RDEPENDS_${PN} += "rbus" +RDEPENDS_${PN} += "dobby" + +SYSTEMD_AUTO_ENABLE_${PN} = "enable" +SYSTEMD_SERVICE_${PN} = "dsm.service" + +FILES_${PN} += " ${systemd_unitdir}/system/dsm.service \ + ${sysconfdir}/dsm.config \ + /home/root/destination " + +OECMAKE_CXX_FLAGS += " -I${STAGING_INCDIR}/rbus " +OECMAKE_CXX_FLAGS += "-I${STAGING_INCDIR}" + +SYSTEMD_AUTO_ENABLE_${PN} = "enable" +SYSTEMD_SERVICE_${PN} = " dsm.service " + +do_install_append() { + install -d ${D}${sysconfdir} + install -D -m 644 ${WORKDIR}/dsm.config ${D}${sysconfdir} + install -d ${D}/${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/dsm.service ${D}/${systemd_unitdir}/system/dsm.service + install -d ${D}/home/root/destination +} diff --git a/recipes-containers/dsm/files/dsm.config b/recipes-containers/dsm/files/dsm.config new file mode 100644 index 000000000..dd8150de4 --- /dev/null +++ b/recipes-containers/dsm/files/dsm.config @@ -0,0 +1,49 @@ +{ + "DSMController": { + "EELimit": 5, + "RuntimeConfig": "/etc/dsm.config" + }, + "ExecutionEnvironments": [ + { + "name": "default", + "enabled": true, + "status": "Up", + "InitialRunLevel": 5, + "CurrentRunLevel": 5, + "id": 1, + "packager": "local-tarball", + "default": true + }, + { + "name": "test", + "enabled": true, + "status": "Up", + "InitialRunLevel": 5, + "CurrentRunLevel": 5, + "id": 2, + "packager": "local-tarball" + }, + { + "name": "user", + "enabled": true, + "status": "Up", + "InitialRunLevel": 5, + "CurrentRunLevel": 5, + "id": 2, + "packager": "local-tarball" + } + ], + "Packagers": { + "local-tarball": { + "repo": "/home/root/repo", + "destination": "/home/root/destination" + }, + "remote-tarball": { + "repo": "http://localhost:8080" + } + }, + "CommandServer": { + "domain-socket": "command.socket" + } +} + diff --git a/recipes-containers/dsm/files/dsm.service b/recipes-containers/dsm/files/dsm.service new file mode 100644 index 000000000..756afbfe9 --- /dev/null +++ b/recipes-containers/dsm/files/dsm.service @@ -0,0 +1,13 @@ +[Unit] +Description=Broadband DAC (DSM) +After=dobby.service rbus.service network.target + +[Service] +Type=simple +ExecStart=/usr/bin/dsm +WorkingDirectory=/home/root/ +Restart=no +Environment="DSM_CONFIG_FILE=/etc/dsm.config" + +[Install] +WantedBy=multi-user.target From cf549148b85dcda00fef968c6324d7ee20923e6c Mon Sep 17 00:00:00 2001 From: ssitar583 Date: Tue, 11 Nov 2025 22:22:32 +0530 Subject: [PATCH 062/274] RDK-59865: Update dobby.inc --- recipes-containers/dobby/dobby.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index 9013ba702..f53a889ba 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,4 +1,4 @@ -SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.15" +SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.16" -PV = "3.15.0+git${SRCPV}" -SRCREV = "59381966b7251d46a28ef7897a290662ca6009cb" +PV = "3.16.0+git${SRCPV}" +SRCREV = "4c2accd3147fad18599427ead28ded0c112ad241" From 6131b508ad6b0d2776d93dfb33ff60ce87de653d Mon Sep 17 00:00:00 2001 From: ssitar583 Date: Tue, 11 Nov 2025 22:24:28 +0530 Subject: [PATCH 063/274] RDK-59865: Update dobby.bb --- recipes-containers/dobby/dobby.bb | 1 - 1 file changed, 1 deletion(-) diff --git a/recipes-containers/dobby/dobby.bb b/recipes-containers/dobby/dobby.bb index fc6626bb8..71a1085c1 100644 --- a/recipes-containers/dobby/dobby.bb +++ b/recipes-containers/dobby/dobby.bb @@ -8,7 +8,6 @@ SRC_URI:append = " file://Fix_compile_gcc11.patch \ file://Add_config_header_kirkstone.patch \ file://dobby.generic.json \ file://dobby_start_after_apparmor.patch \ - file://0001-RDKEMW-8825-enable-swap-limit.patch \ " PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From 80976b6492b27f003fa1494d1c60e32895a469c3 Mon Sep 17 00:00:00 2001 From: ssitar583 Date: Tue, 11 Nov 2025 22:25:11 +0530 Subject: [PATCH 064/274] RDK-59865: Delete recipes-containers/dobby/files/0001-RDKEMW-8825-enable-swap-limit.patch --- .../0001-RDKEMW-8825-enable-swap-limit.patch | 45 ------------------- 1 file changed, 45 deletions(-) delete mode 100644 recipes-containers/dobby/files/0001-RDKEMW-8825-enable-swap-limit.patch diff --git a/recipes-containers/dobby/files/0001-RDKEMW-8825-enable-swap-limit.patch b/recipes-containers/dobby/files/0001-RDKEMW-8825-enable-swap-limit.patch deleted file mode 100644 index a05b62175..000000000 --- a/recipes-containers/dobby/files/0001-RDKEMW-8825-enable-swap-limit.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 9f066586771a436a11521bcafb99211852afcc2a Mon Sep 17 00:00:00 2001 -From: Gurdal Oruklu -Date: Mon, 29 Sep 2025 22:14:13 +0000 -Subject: [PATCH] RDKEMW-8825: App not killed when container reaches memory - limit - -Added "swap" limit in the OCI config templates to enable OOM killing when -memory limit is reached when swap memory is enabled. - -Signed-off-by: Gurdal Oruklu ---- - bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template | 4 +++- - .../lib/source/templates/OciConfigJsonVM1.0.2-dobby.template | 4 +++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template b/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template -index 381017098..6cbdabd43 100644 ---- a/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template -+++ b/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template -@@ -327,7 +327,9 @@ static const char* ociJsonTemplate = R"JSON( - {{/DEV_WHITELIST_SECTION}} - ], - "memory": { -- "limit": {{MEM_LIMIT}} -+ "limit": {{MEM_LIMIT}}, -+ "swap": {{MEM_LIMIT}}, -+ "swappiness": 60 - }, - "cpu": { - {{#CPU_SHARES_ENABLED}} -diff --git a/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template b/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template -index ed1bc177f..21fe91d38 100644 ---- a/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template -+++ b/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template -@@ -338,7 +338,9 @@ static const char* ociJsonTemplate = R"JSON( - {{/DEV_WHITELIST_SECTION}} - ], - "memory": { -- "limit": {{MEM_LIMIT}} -+ "limit": {{MEM_LIMIT}}, -+ "swap": {{MEM_LIMIT}}, -+ "swappiness": 60 - }, - "cpu": { - {{#CPU_SHARES_ENABLED}} \ No newline at end of file From b5cd6475c1622fa6d2ee36b80bd936d20fae0b74 Mon Sep 17 00:00:00 2001 From: Simon Chung Date: Thu, 13 Nov 2025 14:48:38 +0000 Subject: [PATCH 065/274] Update to use newer syntax Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- recipes-support/network-hotplug/network-hotplug_1.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-support/network-hotplug/network-hotplug_1.0.bb b/recipes-support/network-hotplug/network-hotplug_1.0.bb index f70bda317..367f235f5 100644 --- a/recipes-support/network-hotplug/network-hotplug_1.0.bb +++ b/recipes-support/network-hotplug/network-hotplug_1.0.bb @@ -8,7 +8,7 @@ SRC_URI = " \ file://lan-iface@.service \ " -FILES_${PN} = "${sysconfdir}/udev/rules.d/* ${systemd_unitdir}/system/*" +FILES:${PN} = "${sysconfdir}/udev/rules.d/* ${systemd_unitdir}/system/*" RDEPENDS_${PN} = "udev" From b1647375046ccb5843ccf99cd55d2f060e2292eb Mon Sep 17 00:00:00 2001 From: Simon Chung Date: Thu, 13 Nov 2025 15:22:37 +0000 Subject: [PATCH 066/274] Update to use newer syntax --- recipes-containers/dsm/dsm.bb | 20 +++++++++---------- .../network-hotplug_%.bbappend | 4 ++-- .../network-hotplug/network-hotplug_1.0.bb | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/recipes-containers/dsm/dsm.bb b/recipes-containers/dsm/dsm.bb index e544d6315..e9cb87c54 100644 --- a/recipes-containers/dsm/dsm.bb +++ b/recipes-containers/dsm/dsm.bb @@ -9,7 +9,7 @@ SRC_URI = "${CMF_GITHUB_ROOT}/DSM;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GITH SRCREV = "c3cfd0a9d1ee1e9c2f2e8db4348b314aa32439bc" SRCREV_kirkstone = "be204cb7f1e46ad6b66489172010eee80967b4be" -DEPENDS_append_kirkstone = " dobby " +DEPENDS:append:kirkstone = " dobby " EXTRA_OECMAKE = " -DENABLE_RBUS_PROVIDER=ON" @@ -18,24 +18,24 @@ inherit pkgconfig cmake systemd DEPENDS += "rbus" DEPENDS += "dobby" -RDEPENDS_${PN} += "rbus" -RDEPENDS_${PN} += "dobby" +RDEPENDS:${PN} += "rbus" +RDEPENDS:${PN} += "dobby" -SYSTEMD_AUTO_ENABLE_${PN} = "enable" -SYSTEMD_SERVICE_${PN} = "dsm.service" +SYSTEMD_AUTO_ENABLE:${PN} = "enable" +SYSTEMD_SERVICE:${PN} = "dsm.service" -FILES_${PN} += " ${systemd_unitdir}/system/dsm.service \ +FILES:${PN} += " ${systemd_unitdir}/system/dsm.service \ ${sysconfdir}/dsm.config \ /home/root/destination " OECMAKE_CXX_FLAGS += " -I${STAGING_INCDIR}/rbus " OECMAKE_CXX_FLAGS += "-I${STAGING_INCDIR}" -SYSTEMD_AUTO_ENABLE_${PN} = "enable" -SYSTEMD_SERVICE_${PN} = " dsm.service " +SYSTEMD_AUTO_ENABLE:${PN} = "enable" +SYSTEMD_SERVICE:${PN} = " dsm.service " -do_install_append() { - install -d ${D}${sysconfdir} +do_install:append() { + install -d ${D}${sysconfdir} install -D -m 644 ${WORKDIR}/dsm.config ${D}${sysconfdir} install -d ${D}/${systemd_unitdir}/system install -m 0644 ${WORKDIR}/dsm.service ${D}/${systemd_unitdir}/system/dsm.service diff --git a/recipes-support/network-hotplug/network-hotplug_%.bbappend b/recipes-support/network-hotplug/network-hotplug_%.bbappend index bdb24e7d5..18c98340e 100644 --- a/recipes-support/network-hotplug/network-hotplug_%.bbappend +++ b/recipes-support/network-hotplug/network-hotplug_%.bbappend @@ -1,8 +1,8 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" SRC_URI += "file://usb-ethernet.rules" -do_install_append() { +do_install:append() { install -d ${D}${sysconfdir}/udev/rules.d install -m 0644 ${WORKDIR}/usb-ethernet.rules ${D}${sysconfdir}/udev/rules.d/usb-ethernet.rules } diff --git a/recipes-support/network-hotplug/network-hotplug_1.0.bb b/recipes-support/network-hotplug/network-hotplug_1.0.bb index 367f235f5..88d2a77a2 100644 --- a/recipes-support/network-hotplug/network-hotplug_1.0.bb +++ b/recipes-support/network-hotplug/network-hotplug_1.0.bb @@ -10,12 +10,12 @@ SRC_URI = " \ FILES:${PN} = "${sysconfdir}/udev/rules.d/* ${systemd_unitdir}/system/*" -RDEPENDS_${PN} = "udev" +RDEPENDS:${PN} = "udev" do_install() { install -d ${D}${systemd_unitdir}/system - if ${@bb.utils.contains('DISTRO_FEATURES', 'benchmark_enable', 'false', 'true', d)}; then + if ${@bb.utils.contains('DISTRO_FEATURES', 'benchmark_enable', 'false', 'true', d)}; then install -m 0644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system fi install -d ${D}${sysconfdir}/udev/rules.d From 7ee572da90da1fe04a29490e5bda6d2077b150f2 Mon Sep 17 00:00:00 2001 From: Simon Chung Date: Thu, 13 Nov 2025 15:55:11 +0000 Subject: [PATCH 067/274] Update to use newer syntax --- recipes-containers/dsm/dsm.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-containers/dsm/dsm.bb b/recipes-containers/dsm/dsm.bb index e9cb87c54..3d5541537 100644 --- a/recipes-containers/dsm/dsm.bb +++ b/recipes-containers/dsm/dsm.bb @@ -8,7 +8,7 @@ SRC_URI = "${CMF_GITHUB_ROOT}/DSM;protocol=${CMF_GIT_PROTOCOL};branch=${CMF_GITH file://dsm.service " SRCREV = "c3cfd0a9d1ee1e9c2f2e8db4348b314aa32439bc" -SRCREV_kirkstone = "be204cb7f1e46ad6b66489172010eee80967b4be" +SRCREV:kirkstone = "be204cb7f1e46ad6b66489172010eee80967b4be" DEPENDS:append:kirkstone = " dobby " EXTRA_OECMAKE = " -DENABLE_RBUS_PROVIDER=ON" From f76d2f8346cfc3bf248c61be3d89ece5b329358f Mon Sep 17 00:00:00 2001 From: mtirum011 Date: Thu, 13 Nov 2025 07:32:32 +0000 Subject: [PATCH 068/274] RDKEMW-10417 Move breakpad and common_utils recipe to meta-rdk layer --- recipes-common/utils/commonutilities_git.bb | 23 +++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 recipes-common/utils/commonutilities_git.bb diff --git a/recipes-common/utils/commonutilities_git.bb b/recipes-common/utils/commonutilities_git.bb new file mode 100644 index 000000000..6cef79618 --- /dev/null +++ b/recipes-common/utils/commonutilities_git.bb @@ -0,0 +1,23 @@ +SUMMARY = "RDK commonutilities" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=24691c8ce48996ecd1102d29eab1216e" + +# To have a possibility to override SRC_URI later, we are introducing the following workaround: +SRC_URI = "${CMF_GITHUB_ROOT}/common_utilities;module=.;${CMF_GITHUB_SRC_URI_SUFFIX}" + +PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" +DEPENDS +=" cjson curl rdk-logger" + +#uncomment the following line to turn on debugging +#CFLAGS:append = " -DCURL_DEBUG" +# or enable this distro feature +CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'debug_curl_cdl', ' -DCURL_DEBUG', '', d)}" + +CFLAGS:append = " -DRDK_LOGGER" + +PV ?= "1.4.3" +PR ?= "r0" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig coverity From f8cf25816d3d684d61bb8b65ab9b8155c070039d Mon Sep 17 00:00:00 2001 From: mtirum011 Date: Thu, 20 Nov 2025 10:31:05 +0000 Subject: [PATCH 069/274] RDKEMW-10710 Move breakpad recipe to meta-rdk layer --- conf/layer.conf | 1 + .../breakpad_wrapper/breakpad-wrapper.bb | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 recipes-common/breakpad_wrapper/breakpad-wrapper.bb diff --git a/conf/layer.conf b/conf/layer.conf index a454f6a89..525e53ae1 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -22,4 +22,5 @@ LAYERDEPENDS_rdk = "multimedia-layer" # add BBMASK .= "!" # in your layer BBMASK =. "recipes-gnome/gnome-settings-daemon" +BBMASK .= "|.meta-rdk-oss-reference/recipes-rdk/breakpad_wrapper/breakpad-wrapper.bb" require ${@bb.utils.contains_any('DISTRO_FEATURES','morty daisy','include/hashbase_whitelist.inc','include/basehash_ignore_vars.inc',d)} diff --git a/recipes-common/breakpad_wrapper/breakpad-wrapper.bb b/recipes-common/breakpad_wrapper/breakpad-wrapper.bb new file mode 100644 index 000000000..ef20f84d0 --- /dev/null +++ b/recipes-common/breakpad_wrapper/breakpad-wrapper.bb @@ -0,0 +1,33 @@ +SUMMARY = "C wrapper for breakpad" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" + +SRC_URI = "${CMF_GITHUB_ROOT}/breakpad_wrapper;${CMF_GITHUB_BRANCH};name=breakpadwrapper" + +DEPENDS += "breakpad" + +SRCREV_breakpadwrapper = "be8cd679e095cd300f77913863724fa5e39a6182" +SRCREV_FORMAT = "breakpadwrapper" +PV = "1.0.0" + +S = "${WORKDIR}/git/" + +inherit autotools coverity + +CPPFLAGS:append = " \ + -I${STAGING_INCDIR}/breakpad/ \ + " + +LDFLAGS += "-lbreakpad_client -lpthread" + +do_install:append () { + # Config files and scripts + install -d ${D}${includedir}/ + install -D -m 0644 ${S}/*.h ${D}${includedir}/ +} + + +FILES:${PN} += "${libdir}/*.so" + +CXXFLAGS += "-DMINIDUMP_RDKV" From 20a17cda5f9bf945e07611da0dbd1ce0dc0e50b3 Mon Sep 17 00:00:00 2001 From: Sonajeya31 <155615090+Sonajeya31@users.noreply.github.com> Date: Fri, 21 Nov 2025 16:41:53 +0530 Subject: [PATCH 070/274] RDKEMW-10241:Add new meta-layer for appmanagers (#341) * Update bblayers.conf.sample * Update bblayers.conf.sample * Update bblayers.conf.sample * Update bblayers.conf.sample * Update bblayers.conf.sample * Update bblayers.conf.sample * Update bblayers.conf.sample * Update bblayers.conf.sample --------- Co-authored-by: madanagopalt --- conf/template/bblayers.conf.sample | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/template/bblayers.conf.sample b/conf/template/bblayers.conf.sample index 938816bca..0b9c3c239 100644 --- a/conf/template/bblayers.conf.sample +++ b/conf/template/bblayers.conf.sample @@ -53,6 +53,7 @@ BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_RDK_SKY') if d.getVar('MANIFEST_PATH_RDK BBLAYERS =+ " \ ${@d.getVar('MANIFEST_PATH_RDK_COMCAST') if d.getVar('MANIFEST_PATH_RDK_COMCAST') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_RDK_COMCAST') + '/conf/layer.conf') else ''} \ ${@d.getVar('MANIFEST_PATH_COMCAST_VIDEO') if d.getVar('MANIFEST_PATH_COMCAST_VIDEO') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_COMCAST_VIDEO') + '/conf/layer.conf') else ''} \ + ${@d.getVar('MANIFEST_PATH_APPMANAGERS_TEST') if d.getVar('ENABLE_RDK_APPMANAGERS') == "true" and d.getVar('MANIFEST_PATH_APPMANAGERS_TEST') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_APPMANAGERS_TEST') + '/conf/layer.conf') else ''} \ ${@d.getVar('MANIFEST_PATH_COMCAST_VOICE_SDK') if d.getVar('MANIFEST_PATH_COMCAST_VOICE_SDK') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_COMCAST_VOICE_SDK') + '/conf/layer.conf') else ''} \ ${@d.getVar('MANIFEST_PATH_META_QT5') if d.getVar('MANIFEST_PATH_META_QT5') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_QT5') + '/conf/layer.conf') else ''} \ ${@d.getVar('MANIFEST_PATH_MEDIARITE') if d.getVar('MANIFEST_PATH_MEDIARITE') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_MEDIARITE') + '/conf/layer.conf') else ''} \ From 9e6d2db63deeb16b8b675aaf98f6476d7b7f56ad Mon Sep 17 00:00:00 2001 From: Arjun Date: Mon, 24 Nov 2025 02:36:44 +0000 Subject: [PATCH 071/274] RDK-59966:Bring the required MW components fr RDKB stack Signed-off-by: Arjun --- conf/distro/include/rdkb.inc | 7 +- recipes-connectivity/bluetooth/bleadvhci.bb | 23 +++++++ .../bluetooth/files/bleadvhci.path | 9 +++ .../bluetooth/files/bleadvhci.service | 29 ++++++++ recipes-support/aker/aker_git.bb | 51 ++++++++++++++ recipes-support/aker/files/aker-01.patch | 30 +++++++++ .../aker/files/drop_root_aker.patch | 66 +++++++++++++++++++ recipes-support/ccronexpr/ccronexpr_1.0.bb | 20 ++++++ .../files/0001-ccronexpr-cmakeLists.patch | 42 ++++++++++++ ...N_USE_LOCAL_TIME-preprocessor-option.patch | 35 ++++++++++ recipes-support/irtt/irtt.bb | 41 ++++++++++++ .../littlesheens/littlesheens_1.0.0.bb | 32 +++++++++ recipes-support/mustach/mustach_1.2.2.bb | 24 +++++++ recipes-support/parodus/paroduscl_1.0.bb | 16 +++++ recipes-support/webcfg/webcfg_1.0.bb | 6 +- 15 files changed, 422 insertions(+), 9 deletions(-) create mode 100644 recipes-connectivity/bluetooth/bleadvhci.bb create mode 100644 recipes-connectivity/bluetooth/files/bleadvhci.path create mode 100644 recipes-connectivity/bluetooth/files/bleadvhci.service create mode 100644 recipes-support/aker/aker_git.bb create mode 100644 recipes-support/aker/files/aker-01.patch create mode 100644 recipes-support/aker/files/drop_root_aker.patch create mode 100644 recipes-support/ccronexpr/ccronexpr_1.0.bb create mode 100644 recipes-support/ccronexpr/files/0001-ccronexpr-cmakeLists.patch create mode 100644 recipes-support/ccronexpr/files/0002-Add-CRON_USE_LOCAL_TIME-preprocessor-option.patch create mode 100644 recipes-support/irtt/irtt.bb create mode 100644 recipes-support/littlesheens/littlesheens_1.0.0.bb create mode 100644 recipes-support/mustach/mustach_1.2.2.bb create mode 100644 recipes-support/parodus/paroduscl_1.0.bb diff --git a/conf/distro/include/rdkb.inc b/conf/distro/include/rdkb.inc index 53aafb0ef..b49389a77 100644 --- a/conf/distro/include/rdkb.inc +++ b/conf/distro/include/rdkb.inc @@ -171,18 +171,13 @@ BBMASK .= "|meta-rdk-broadband/recipes-support/libsoup/libsoup-2.4_2.74.2.bbappe BBMASK .= "|meta-rdk-comcast/recipes-support/stunnel/stunnel_%.bbappend" BBMASK .= "|meta-rdk/recipes-extended/rpcbind/rpcbind_1.2.%.bbappend" BBMASK .= "|meta-rdk-comcast/recipes-connectivity/bind/bind_%.bbappend" -BBMASK .= "|meta-rdk-comcast-broadband/recipes-rdkb/iptables/iptables_1.8.%.bbappend" -BBMASK .= "|meta-rdk-comcast-broadband/recipes-rdkb/iptables/iptables_%.bbappend" -BBMASK .= "|meta-rdk-comcast-broadband/recipes-support/syslog-ng/syslog-ng_3.36.1.bbappend" -BBMASK .= "|meta-rdk-comcast-broadband/recipes-connectivity/dibbler/dibbler_%.bbappend" BBMASK .= "|meta-rdk-comcast-broadband/recipes-core/dropbear/dropbear_2020.81.bbappend" BBMASK .= "|meta-rdk-comcast/recipes-protocols/net-snmp/*" -BBMASK .= "|meta-rdk/recipes-support/webcfg/webcfg_1.0.bb" BBMASK .= "|meta-rdk-comcast-broadband/recipes-common/rfc/rfc_git.bbappend" -#BBMASK .= "|meta-rdk-broadband/recipes-support/cimplog/cimplog_1.0.bbappend" PREFERRED_VERSION_jsoncpp = "1:1.9.5" PREFERRED_VERSION_dnsmasq = "2.83" +PREFERRED_VERSION_msgpack-c = "2.1.1" DISTRO_FEATURES:append = " rdkb_configurable_wan_interface " DISTRO_FEATURES:append = " unified_mapt " diff --git a/recipes-connectivity/bluetooth/bleadvhci.bb b/recipes-connectivity/bluetooth/bleadvhci.bb new file mode 100644 index 000000000..a54cb8373 --- /dev/null +++ b/recipes-connectivity/bluetooth/bleadvhci.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "Bluetooth LE Application to advertise on boot-up" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +SRCREV = "${AUTOREV}" + +SRC_URI += "file://bleadvhci.service" +SRC_URI += "file://bleadvhci.path" + +do_install:append() { + install -d ${D}${systemd_unitdir}/system + + install -m 0644 ${WORKDIR}/bleadvhci.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/bleadvhci.path ${D}${systemd_unitdir}/system/ +} + +SYSTEMD_SERVICE:${PN}:remove = " bleadvhci.service" +SYSTEMD_SERVICE:${PN} += " bleadvhci.path" + +FILES:${PN} = "${sysconfdir}/* \ + ${systemd_unitdir}/system/* \ + " +inherit systemd diff --git a/recipes-connectivity/bluetooth/files/bleadvhci.path b/recipes-connectivity/bluetooth/files/bleadvhci.path new file mode 100644 index 000000000..a08b33d22 --- /dev/null +++ b/recipes-connectivity/bluetooth/files/bleadvhci.path @@ -0,0 +1,9 @@ +[Unit] +Description= RCP Beaconing + +[Path] +PathExists=/tmp/bluezup +Unit=bleadvhci.service + +[Install] +WantedBy=multi-user.target diff --git a/recipes-connectivity/bluetooth/files/bleadvhci.service b/recipes-connectivity/bluetooth/files/bleadvhci.service new file mode 100644 index 000000000..233470d39 --- /dev/null +++ b/recipes-connectivity/bluetooth/files/bleadvhci.service @@ -0,0 +1,29 @@ +########################################################################## +# If not stated otherwise in this file or this component's Licenses.txt +# file the following copyright and licenses apply: +# +# Copyright 2022 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################## +[Unit] +Description=BLE LE Advertisement using hci + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/etc/ble_adv_onboard_hci.sh +SyslogIdentifier=ble-adv-onboard-hci + +[Install] +WantedBy=multi-user.target diff --git a/recipes-support/aker/aker_git.bb b/recipes-support/aker/aker_git.bb new file mode 100644 index 000000000..690556882 --- /dev/null +++ b/recipes-support/aker/aker_git.bb @@ -0,0 +1,51 @@ +SUMMARY = "This receipe compiles and builds aker." +SECTION = "libs" +DESCRIPTION = "Module for selectively blocking MAC addresses based on a succinct schedule in MsgPack" +HOMEPAGE = "https://github.com/Comcast/aker" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" + +SRCREV = "ebbf31be22b1cc7928bed070fe84ecdc7191c4c2" +SRC_URI = "git://github.com/xmidt-org/aker.git;branch=main" +SRC_URI += "file://aker-01.patch" +SRC_URI += "file://drop_root_aker.patch" + +PV = "git+${SRCPV}" +S = "${WORKDIR}/git" + +ASNEEDED = "" + +DEPENDS = "libparodus wrp-c trower-base64 msgpack-c rdk-logger log4c util-linux libunpriv" +DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'telemetry2_0', 'telemetry', '', d)}" + +CFLAGS:append = " \ + -I${STAGING_INCDIR} \ + -I${STAGING_INCDIR}/libparodus \ + -I${STAGING_INCDIR}/msgpack \ + -I${STAGING_INCDIR}/wrp-c \ + -I${STAGING_INCDIR}/cimplog \ + -I${STAGING_INCDIR}/trower-base64 \ + " +CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'telemetry2_0', '-DENABLE_FEATURE_TELEMETRY2_0', '', d)}" +LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'telemetry2_0', ' -ltelemetry_msgsender ', '', d)}" +LDFLAGS:append = " -lprivilege" + +inherit pkgconfig coverity cmake +EXTRA_OECMAKE = "-DBUILD_TESTING=OFF -DBUILD_YOCTO=true" + +do_install:append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'aker', 'true', 'false', d)}; then + install -d ${D}/etc + cd ${D}/etc + touch AKER_ENABLE + cd - + fi +} + +FILES:${PN} += " \ + ${bindir}/* \ +" +FILES:${PN} += " \ + ${@bb.utils.contains("DISTRO_FEATURES", "aker", "/etc/* ", " ", d)} \ +" diff --git a/recipes-support/aker/files/aker-01.patch b/recipes-support/aker/files/aker-01.patch new file mode 100644 index 000000000..87a27d0cb --- /dev/null +++ b/recipes-support/aker/files/aker-01.patch @@ -0,0 +1,30 @@ +Date: Nov 1, 2017 3:38 AM + +From: 3a060c36ddd7a1fc0150063f9469e412e6ace94f Nov 2, 2017 12:49 AM + +Subject: [PATCH] RDKB-14632: Deploy aker on Yocto. + + Support for aker, parental control component on Yocto. + +Source: COMCAST + + +Upstream-Status: Pending + +Signed-off-by: Ramki Ananthakrishnan +--- + +diff --git a/src/main.c b/src/main.c +index cf6e9ea..0808271 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -248,3 +248,9 @@ static int main_loop(libpd_cfg_t *cfg, char *firewall_cmd, char *data_file, char + debug_print("End of parodus_upstream\n"); + return 0; + } ++ ++ ++const char *rdk_logger_module_fetch(void) ++{ ++ return "LOG.RDK.AKER"; ++} diff --git a/recipes-support/aker/files/drop_root_aker.patch b/recipes-support/aker/files/drop_root_aker.patch new file mode 100644 index 000000000..ad95e1434 --- /dev/null +++ b/recipes-support/aker/files/drop_root_aker.patch @@ -0,0 +1,66 @@ +Date: Jan 13, 2025 10:50 PM +From: LasyaPrakarsha_DonthiVenkata@comcast.com +Subject: RDKB-58300: aker process runs with limited privilege +Source: Comcast +Upstream-Status: Pending +Signed-off-by: LasyaPrakarsha_DonthiVenkata@comcast.com + +--- + +Index: git/src/main.c +=================================================================== +--- git.orig/src/main.c ++++ git/src/main.c +@@ -43,6 +43,8 @@ + #include + #endif + ++#include "cap.h" ++static cap_user appcaps; + + /*----------------------------------------------------------------------------*/ + /* Macros */ +@@ -71,6 +73,7 @@ size_t max_macs = INT_MAX; + static void sig_handler(int sig); + static void import_existing_schedule( const char *data_file, const char *md5_file ); + static int main_loop(libpd_cfg_t *cfg, char *data_file, char *md5_file, const char *device_id ); ++static bool drop_root(); + + /*----------------------------------------------------------------------------*/ + /* External Functions */ +@@ -181,6 +184,10 @@ int main( int argc, char **argv) + } + } + ++ if(!drop_root()) { ++ debug_error("drop_root method failed!\n"); ++ } ++ + if (max_macs <= 0) { + max_macs = INT_MAX; + } +@@ -249,6 +256,24 @@ int main( int argc, char **argv) + return rv; + } + ++static bool drop_root() ++{ ++ bool retval = false; ++ debug_info("NonRoot feature is enabled, dropping root privileges for aker process\n"); ++ appcaps.caps = NULL; ++ appcaps.user_name = NULL; ++ ++ if(init_capability() != NULL) { ++ if(drop_root_caps(&appcaps) != -1) { ++ if(update_process_caps(&appcaps) != -1) { ++ read_capability(&appcaps); ++ retval = true; ++ } ++ } ++ } ++ return retval; ++} ++ + /*----------------------------------------------------------------------------*/ + /* Internal functions */ + /*----------------------------------------------------------------------------*/ diff --git a/recipes-support/ccronexpr/ccronexpr_1.0.bb b/recipes-support/ccronexpr/ccronexpr_1.0.bb new file mode 100644 index 000000000..f7f35a6f5 --- /dev/null +++ b/recipes-support/ccronexpr/ccronexpr_1.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "ccronexpr library" +SECTION = "libs" +DESCRIPTION = "Library for ccronexpr" +HOMEPAGE = "https://github.com/staticlibs/ccronexpr" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=646c743a776a3dc373f94d63fb2f1a71" + +SRC_URI = "git://github.com/staticlibs/ccronexpr.git;branch=master" +SRCREV = "17475e10c2053650a86b1d25a692c2c20d74c420" + +SRC_URI += "file://0001-ccronexpr-cmakeLists.patch" +SRC_URI += "file://0002-Add-CRON_USE_LOCAL_TIME-preprocessor-option.patch" + +S = "${WORKDIR}/git" + +inherit cmake + +TARGET_CFLAGS += "-DCRON_USE_LOCAL_TIME" + diff --git a/recipes-support/ccronexpr/files/0001-ccronexpr-cmakeLists.patch b/recipes-support/ccronexpr/files/0001-ccronexpr-cmakeLists.patch new file mode 100644 index 000000000..cd2581305 --- /dev/null +++ b/recipes-support/ccronexpr/files/0001-ccronexpr-cmakeLists.patch @@ -0,0 +1,42 @@ +From b49d709fc2902abb7723c31c289a2141af8600c3 Mon Sep 17 00:00:00 2001 +From: Thomas Lea +Date: Mon, 21 Sep 2020 08:56:02 -0500 +Subject: [PATCH] Added CMakeLists.txt +Source: COMCAST +Upstream-Status: Pending + +Signed-off-by: Thomas Lea +--- + CMakeLists.txt | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + create mode 100644 CMakeLists.txt + +diff --git a/CMakeLists.txt b/CMakeLists.txt +new file mode 100644 +index 0000000..2209ae3 +--- /dev/null ++++ b/CMakeLists.txt +@@ -0,0 +1,21 @@ ++cmake_minimum_required(VERSION 2.8) ++project(ccronexprd) ++ ++add_definitions(-DCRON_USE_LOCAL_TIME) ++add_library(ccronexprd SHARED ccronexpr.c) ++ ++target_include_directories(ccronexprd PUBLIC ++ $ ++ $ ++) ++ ++set_property(TARGET ccronexprd PROPERTY VERSION "1.0") ++ ++install(TARGETS ccronexprd ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin ++) ++ ++install(FILES ccronexpr.h DESTINATION include) ++ +-- +2.25.1 diff --git a/recipes-support/ccronexpr/files/0002-Add-CRON_USE_LOCAL_TIME-preprocessor-option.patch b/recipes-support/ccronexpr/files/0002-Add-CRON_USE_LOCAL_TIME-preprocessor-option.patch new file mode 100644 index 000000000..397871a7c --- /dev/null +++ b/recipes-support/ccronexpr/files/0002-Add-CRON_USE_LOCAL_TIME-preprocessor-option.patch @@ -0,0 +1,35 @@ +Date: Sept 21 08:49:52 2020 + +From: 17475e10c2053650a86b1d25a692c2c20d74c420 Tue May 12 17:49:14 2020 +0100 + +Subject: add CRON_USE_LOCAL_TIME preprocessor option + +When defined, this will use local time for crontab entries instead of UTC. + +Source: COMCAST + + +Upstream-Status: Pending + +Signed-off-by: Thomas Lea +--- +Index: git/ccronexpr.c +=================================================================== +--- git.orig/ccronexpr.c ++++ git/ccronexpr.c +@@ -96,6 +96,7 @@ time_t _mkgmtime(struct tm* tm); + #endif /* __MINGW32__ */ + + /* function definitions */ ++#ifndef CRON_USE_LOCAL_TIME + time_t cron_mktime_gm(struct tm* tm) { + #if defined(_WIN32) + /* http://stackoverflow.com/a/22557778 */ +@@ -133,6 +134,7 @@ time_t cron_mktime_gm(struct tm* tm) { + return timegm(tm); + #endif + } ++#endif + + struct tm* cron_time_gm(time_t* date, struct tm* out) { + #if defined(__MINGW32__) diff --git a/recipes-support/irtt/irtt.bb b/recipes-support/irtt/irtt.bb new file mode 100644 index 000000000..4df7c17b6 --- /dev/null +++ b/recipes-support/irtt/irtt.bb @@ -0,0 +1,41 @@ +SUMMARY = "IRTT measures round-trip time, one-way delay and other metrics using UDP packets sent on a fixed period, and produces both user and machine parseable output." +HOMEPAGE = "https://${GO_IMPORT}" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" +SRC_URI = "git://${GO_IMPORT};branch=master;protocol=https" +SRCREV = "c5ed230a672f5233f4a87b2a28dd6d5c86b6feba" + + +inherit go-mod + +GO_IMPORT = "github.com/heistp/irtt" +GO_INSTALL = "${GO_IMPORT}" +GO_LINKSHARED = "" +GOBUILDFLAGS:remove = "-buildmode=pie" +GO_EXTLDFLAGS:append = " -s -w " +export GOPROXY = "https://proxy.golang.org,direct" + +PV="0.9.1" +PACKAGES = "${PN}-dbg ${PN}" +FILES:${PN} += "/usr/bin/irtt" +FILES:${PN}-dbg += "/usr/bin/.debug/irtt" + +do_compile() { + export CGO_ENABLED=0 + export CGO_CFLAGS="${CFLAGS}" + export CGO_LDFLAGS="${LDFLAGS}" + export GOARCH="${TARGET_ARCH}" + export GOOS=linux + export GOROOT="${STAGING_DIR_NATIVE}/usr/lib/go" + export GOPATH="${S}" + export GOCACHE="${WORKDIR}/go-cache" + export GOMODCACHE="${WORKDIR}/go-mod" + + cd ${S}/src/${GO_IMPORT}/cmd/irtt + ${GO} build ${GO_LINKSHARED} ${GOBUILDFLAGS} -o irtt main.go +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/src/${GO_IMPORT}/cmd/irtt/irtt ${D}${bindir}/irtt +} diff --git a/recipes-support/littlesheens/littlesheens_1.0.0.bb b/recipes-support/littlesheens/littlesheens_1.0.0.bb new file mode 100644 index 000000000..91fcf7533 --- /dev/null +++ b/recipes-support/littlesheens/littlesheens_1.0.0.bb @@ -0,0 +1,32 @@ +SUMMARY = "A minimalist Machines implementation in ECMAScript that's executed by Duktape and wrapped in a C library" +DESCRIPTION = "A minimalist Machines implementation in ECMAScript that's executed by Duktape and wrapped in a C library" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" + +SECTION = "libs" + +DEPENDS = "duktape" +DEPENDS:append = " vim-native coreutils-native" +DEPENDS:remove_morty = " vim-native coreutils-native" + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/Comcast/littlesheens.git;protocol=https;branch=master" +SRCREV = "${AUTOREV}" +PV := "${PV}+${SRCPV}" + +# We must tell cmake where the headers are +# instead of relying on CMAKE_INSTALL_PREFIX as +# the OE build system will set the prefix to +# "${prefix} (which is "/usr") instead of the +# actual staging directory. Then on install +# it will override the install prefix with +# the staging directory. +# +# Confused yet? Yeah me too. +CFLAGS:append = " -I${STAGING_INCDIR}/duktape" + +inherit pkgconfig cmake + +EXTRA_OECMAKE = "-DTARGET_PLATFORM=yocto" diff --git a/recipes-support/mustach/mustach_1.2.2.bb b/recipes-support/mustach/mustach_1.2.2.bb new file mode 100644 index 000000000..a4fc9f735 --- /dev/null +++ b/recipes-support/mustach/mustach_1.2.2.bb @@ -0,0 +1,24 @@ +SUMMARY = "mustach" +DESCRIPTION = "A C library implementation of the mustache templating languge" +SECTION = "libs" +HOMEPAGE = "https://gitlab.com/jobol/mustach.git" + +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b26c29d2595093a3286f808cc8c91423" + +PR="r0" + +MUSTACH_TAG="1.2.2" + +SRC_URI = "git://gitlab.com/jobol/mustach;protocol=https" +SRCREV = "a65e3a24a40aa479879a03ff3d7fb4288af65ea6" + +S = "${WORKDIR}/git" + +DEPENDS = "cjson" + +inherit pkgconfig + +do_install () { + oe_runmake PREFIX=${prefix} DESTDIR=${D} install +} diff --git a/recipes-support/parodus/paroduscl_1.0.bb b/recipes-support/parodus/paroduscl_1.0.bb new file mode 100644 index 000000000..5ca822eac --- /dev/null +++ b/recipes-support/parodus/paroduscl_1.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "parodus client library" +DESCRIPTION = "C client library for parodus" +HOMEPAGE = "https://github.com/Comcast/paroduscl" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +DEPENDS = "wrp-c nanomsg" + +SRCREV = "c6b1ee637eab22ac281779546fab7b7ff171cba2" +SRC_URI = "git://github.com/Comcast/paroduscl.git" + +PV = "git+${SRCPV}" +S = "${WORKDIR}/git" + +inherit autotools pkgconfig diff --git a/recipes-support/webcfg/webcfg_1.0.bb b/recipes-support/webcfg/webcfg_1.0.bb index 58bf91092..2dd801868 100644 --- a/recipes-support/webcfg/webcfg_1.0.bb +++ b/recipes-support/webcfg/webcfg_1.0.bb @@ -66,13 +66,13 @@ do_install:append:broadband() { then if ${@bb.utils.contains("DISTRO_FEATURES", "gateway_manager", "false", "true", d)} then - sed -z 's/"name": "gwfailover",\n[[:blank:]]*"bitposition": 1,\n[[:blank:]]*"support": true,/"name": "gwfailover",\n"bitposition": 1,\n"support": false,/g' ${WORKDIR}/webconfig_metadata.json > ${WORKDIR}/out.txt - mv ${WORKDIR}/out.txt ${WORKDIR}/webconfig_metadata.json + sed -z 's/"name": "gwfailover",\n[[:blank:]]*"bitposition": 1,\n[[:blank:]]*"support": true,/"name": "gwfailover",\n"bitposition": 1,\n"support": false,/g' ${WORKDIR}/webconfig_broadband_metadata.json > ${WORKDIR}/out.txt + mv ${WORKDIR}/out.txt ${WORKDIR}/webconfig_broadband_metadata.json fi install -d ${D}/usr/ccsp/webconfig install -d ${D}/etc touch ${D}/etc/WEBCONFIG_ENABLE - (${PYTHON} ${WORKDIR}/metadata_parser.py ${WORKDIR}/webconfig_metadata.json ${D}/etc/webconfig.properties ${MACHINE}) + (${PYTHON} ${WORKDIR}/metadata_parser.py ${WORKDIR}/webconfig_broadband_metadata.json ${D}/etc/webconfig.properties ${MACHINE}) fi if ${@bb.utils.contains("DISTRO_FEATURES", "WanFailOverSupportEnable", "true", "false", d)} From 7c0eedeacd795038911a33f6b6c1b29d37ab4f4b Mon Sep 17 00:00:00 2001 From: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> Date: Tue, 25 Nov 2025 11:22:01 -0500 Subject: [PATCH 072/274] Add GitHub Issue Template with Definition of Done Checklist (#363) * Add GitHub issue template with DoD checklist - Added middleware_change_request.yml issue template - Includes Definition of Done checklist with Status as first column - Status options: Not Started, Done, Not Applicable - Supports multiline items using
tags - Tracks middleware component changes, dependencies, and layer tags * Update .github/ISSUE_TEMPLATE/middleware_change_request.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/ISSUE_TEMPLATE/middleware_change_request.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/ISSUE_TEMPLATE/middleware_change_request.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/ISSUE_TEMPLATE/middleware_change_request.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/ISSUE_TEMPLATE/middleware_change_request.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/ISSUE_TEMPLATE/middleware_change_request.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../middleware_change_request.yml | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/middleware_change_request.yml diff --git a/.github/ISSUE_TEMPLATE/middleware_change_request.yml b/.github/ISSUE_TEMPLATE/middleware_change_request.yml new file mode 100644 index 000000000..c0d3461ee --- /dev/null +++ b/.github/ISSUE_TEMPLATE/middleware_change_request.yml @@ -0,0 +1,62 @@ +name: RDK-E Middleware Change Request +description: Change Request for RDK-E Middleware +title: "[FEATURE] " +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + Change Request for RDK-E Middleware + + - type: textarea + id: description + attributes: + label: Description + description: Provide a clear and concise description of the feature or bug ticket + placeholder: Describe the feature you'd like to see + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed Solution + description: Describe your proposed solution and how it addresses the problem + placeholder: How would you solve this? + validations: + required: true + + - type: textarea + id: additional-context + attributes: + label: Additional Context + description: Add any other context, screenshots, or examples about the feature request + placeholder: Any other relevant information + validations: + required: false + + - type: markdown + attributes: + value: | + --- + ## Definition of Done (DoD) + + Update the status and details for each item as you work on this feature. + + - type: textarea + id: dod-checklist + attributes: + label: Definition of Done Checklist + description: Track progress on completion criteria. Update status and add details as you progress. + value: | + | Status | DoD Item | Details | + |--------|----------|---------| + | ⬜ Not Started | Middleware component tags with changelog | https://github.com/rdk-e/netmonitor/blob/1.4.0/CHANGELOG.md
| + | ⬜ Not Started | Impact on Devices - STBs (Realtek, Broadcom), TVs (Amlogic, MediaTek) | | + | ⬜ Not Started | Dependent components | If a feature involves more than one component changes, link the dependent component release task ticket clarifying the dependency | + | ⬜ Not Started | Layer tags | Tags released for OSS/OE repos, Layer release, product repo, build-support, RDKE config into middleware manifest
eg: https://github.com/rdk-e/meta-image-support/blob/4.1.1/CHANGELOG.md
| + | ⬜ Not Started | Do Widgets Need Publishing | | + | ⬜ Not Started | Copilot review Done | | + **Status options:** ⬜ Not Started | ✅ Done | ➖ Not Applicable + validations: + required: true From ac7a7614933f721e50c689ebec7d5ff08cd64c9c Mon Sep 17 00:00:00 2001 From: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> Date: Tue, 25 Nov 2025 11:55:03 -0500 Subject: [PATCH 073/274] Simplify middleware status dropdown (#368) * Add GitHub issue template with DoD checklist - Added middleware_change_request.yml issue template - Includes Definition of Done checklist with Status as first column - Status options: Not Started, Done, Not Applicable - Supports multiline items using
tags - Tracks middleware component changes, dependencies, and layer tags * Update .github/ISSUE_TEMPLATE/middleware_change_request.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/ISSUE_TEMPLATE/middleware_change_request.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/ISSUE_TEMPLATE/middleware_change_request.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/ISSUE_TEMPLATE/middleware_change_request.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/ISSUE_TEMPLATE/middleware_change_request.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/ISSUE_TEMPLATE/middleware_change_request.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Simplify status dropdown in middleware change request template - Remove 'Not Started' text from status column - Replace with simple Yes/No/NA options - Remove status options legend for cleaner UI --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../middleware_change_request.yml | 30 +++++++------------ 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/middleware_change_request.yml b/.github/ISSUE_TEMPLATE/middleware_change_request.yml index c0d3461ee..5d2d46520 100644 --- a/.github/ISSUE_TEMPLATE/middleware_change_request.yml +++ b/.github/ISSUE_TEMPLATE/middleware_change_request.yml @@ -1,7 +1,7 @@ name: RDK-E Middleware Change Request description: Change Request for RDK-E Middleware -title: "[FEATURE] " -labels: ["enhancement"] +title: ": " +labels: ["MW Change Request"] body: - type: markdown attributes: @@ -13,16 +13,7 @@ body: attributes: label: Description description: Provide a clear and concise description of the feature or bug ticket - placeholder: Describe the feature you'd like to see - validations: - required: true - - - type: textarea - id: solution - attributes: - label: Proposed Solution - description: Describe your proposed solution and how it addresses the problem - placeholder: How would you solve this? + placeholder: Describe the changes you are bringing validations: required: true @@ -41,7 +32,7 @@ body: --- ## Definition of Done (DoD) - Update the status and details for each item as you work on this feature. + Update the status and details for each item as you work on this Change Request. - type: textarea id: dod-checklist @@ -51,12 +42,11 @@ body: value: | | Status | DoD Item | Details | |--------|----------|---------| - | ⬜ Not Started | Middleware component tags with changelog | https://github.com/rdk-e/netmonitor/blob/1.4.0/CHANGELOG.md
| - | ⬜ Not Started | Impact on Devices - STBs (Realtek, Broadcom), TVs (Amlogic, MediaTek) | | - | ⬜ Not Started | Dependent components | If a feature involves more than one component changes, link the dependent component release task ticket clarifying the dependency | - | ⬜ Not Started | Layer tags | Tags released for OSS/OE repos, Layer release, product repo, build-support, RDKE config into middleware manifest
eg: https://github.com/rdk-e/meta-image-support/blob/4.1.1/CHANGELOG.md
| - | ⬜ Not Started | Do Widgets Need Publishing | | - | ⬜ Not Started | Copilot review Done | | - **Status options:** ⬜ Not Started | ✅ Done | ➖ Not Applicable + | Yes / No / NA | Middleware component tags with changelog | https://github.com/rdk-e/netmonitor/blob/1.4.0/CHANGELOG.md
| + | Yes / No / NA | Impact on Devices - STBs (Realtek, Broadcom), TVs (Amlogic, MediaTek) | | + | Yes / No / NA | Dependent components | If a feature involves more than one component changes, link the dependent component release task ticket clarifying the dependency | + | Yes / No / NA | Layer tags | Tags released for OSS/OE repos, Layer release, product repo, build-support, RDKE config into middleware manifest
eg: https://github.com/rdk-e/meta-image-support/blob/4.1.1/CHANGELOG.md
| + | Yes / No / NA | Do Widgets Need Publishing | | + | Yes / No / NA | Copilot review Done | | validations: required: true From 3d2483662696f0ad604ec98a69628b8b205af874 Mon Sep 17 00:00:00 2001 From: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> Date: Tue, 25 Nov 2025 13:18:48 -0500 Subject: [PATCH 074/274] Simplify status dropdown in middleware change request template (#374) --- .../middleware_change_request.yml | 115 +++++++++++++++--- 1 file changed, 99 insertions(+), 16 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/middleware_change_request.yml b/.github/ISSUE_TEMPLATE/middleware_change_request.yml index 5d2d46520..eb84e081e 100644 --- a/.github/ISSUE_TEMPLATE/middleware_change_request.yml +++ b/.github/ISSUE_TEMPLATE/middleware_change_request.yml @@ -31,22 +31,105 @@ body: value: | --- ## Definition of Done (DoD) - - Update the status and details for each item as you work on this Change Request. - - - type: textarea - id: dod-checklist + Please select the status and provide details for each item below. + + # --- DoD Item 1 --- + - type: dropdown + id: dod-status-1 attributes: - label: Definition of Done Checklist - description: Track progress on completion criteria. Update status and add details as you progress. - value: | - | Status | DoD Item | Details | - |--------|----------|---------| - | Yes / No / NA | Middleware component tags with changelog | https://github.com/rdk-e/netmonitor/blob/1.4.0/CHANGELOG.md
| - | Yes / No / NA | Impact on Devices - STBs (Realtek, Broadcom), TVs (Amlogic, MediaTek) | | - | Yes / No / NA | Dependent components | If a feature involves more than one component changes, link the dependent component release task ticket clarifying the dependency | - | Yes / No / NA | Layer tags | Tags released for OSS/OE repos, Layer release, product repo, build-support, RDKE config into middleware manifest
eg: https://github.com/rdk-e/meta-image-support/blob/4.1.1/CHANGELOG.md
| - | Yes / No / NA | Do Widgets Need Publishing | | - | Yes / No / NA | Copilot review Done | | + label: 1. Middleware component tags with changelog + options: + - "Yes" + - "No" + - "N/A" + validations: + required: true + - type: input + id: dod-details-1 + attributes: + label: Details for Item 1 + placeholder: "Link e.g. https://github.com/rdk-e/netmonitor/blob/1.4.0/CHANGELOG.md" + + # --- DoD Item 2 --- + - type: dropdown + id: dod-status-2 + attributes: + label: 2. Impact on Devices (STBs, TVs) + options: + - "Yes" + - "No" + - "N/A" + validations: + required: true + - type: input + id: dod-details-2 + attributes: + label: Details for Item 2 + placeholder: "Notes on Realtek, Broadcom, Amlogic, MediaTek..." + + # --- DoD Item 3 --- + - type: dropdown + id: dod-status-3 + attributes: + label: 3. Dependent components + options: + - "Yes" + - "No" + - "N/A" + validations: + required: true + - type: input + id: dod-details-3 + attributes: + label: Details for Item 3 + description: "If a feature involves more than one component changes, link the dependent component release task ticket clarifying the dependency" + + # --- DoD Item 4 --- + - type: dropdown + id: dod-status-4 + attributes: + label: 4. Layer tags + options: + - "Yes" + - "No" + - "N/A" + validations: + required: true + - type: input + id: dod-details-4 + attributes: + label: Details for Item 4 + description: "Tags released for OSS/OE repos, Layer release, product repo, build-support, RDKE config into middleware manifest" + placeholder: "e.g: https://github.com/rdk-e/meta-image-support/blob/4.1.1/CHANGELOG.md" + + # --- DoD Item 5 --- + - type: dropdown + id: dod-status-5 + attributes: + label: 5. Do Widgets Need Publishing + options: + - "Yes" + - "No" + - "N/A" + validations: + required: true + - type: input + id: dod-details-5 + attributes: + label: Details for Item 5 + + # --- DoD Item 6 --- + - type: dropdown + id: dod-status-6 + attributes: + label: 6. Copilot review Done + options: + - "Yes" + - "No" + - "N/A" validations: required: true + - type: input + id: dod-details-6 + attributes: + label: Details for Item 6 \ No newline at end of file From e7f5c534db603b9e4678598750ff7b2e842fedb2 Mon Sep 17 00:00:00 2001 From: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> Date: Tue, 25 Nov 2025 14:52:39 -0500 Subject: [PATCH 075/274] Simplify status fields in middleware change request template (#377) - Replace dropdown status fields with checkbox format - Combine status selection and details into paired fields - Make all fields optional for better user experience - Improve placeholder text for clarity --- .../middleware_change_request.yml | 122 ++++++++---------- 1 file changed, 55 insertions(+), 67 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/middleware_change_request.yml b/.github/ISSUE_TEMPLATE/middleware_change_request.yml index eb84e081e..86069ac08 100644 --- a/.github/ISSUE_TEMPLATE/middleware_change_request.yml +++ b/.github/ISSUE_TEMPLATE/middleware_change_request.yml @@ -31,105 +31,93 @@ body: value: | --- ## Definition of Done (DoD) - Please select the status and provide details for each item below. - - # --- DoD Item 1 --- - - type: dropdown - id: dod-status-1 + + # --- Pair 1 --- + - type: checkboxes + id: dod-1 attributes: label: 1. Middleware component tags with changelog options: - - "Yes" - - "No" - - "N/A" - validations: - required: true + - label: Done / Yes - type: input - id: dod-details-1 + id: dod-1-details attributes: - label: Details for Item 1 - placeholder: "Link e.g. https://github.com/rdk-e/netmonitor/blob/1.4.0/CHANGELOG.md" + label: Details + placeholder: https://github.com/rdk-e/netmonitor/blob/1.4.0/CHANGELOG.md + validations: + required: false - # --- DoD Item 2 --- - - type: dropdown - id: dod-status-2 + # --- Pair 2 --- + - type: checkboxes + id: dod-2 attributes: label: 2. Impact on Devices (STBs, TVs) options: - - "Yes" - - "No" - - "N/A" - validations: - required: true + - label: Done / Yes - type: input - id: dod-details-2 + id: dod-2-details attributes: - label: Details for Item 2 - placeholder: "Notes on Realtek, Broadcom, Amlogic, MediaTek..." + label: Details + placeholder: Notes on Realtek, Broadcom, Amlogic, MediaTek... + validations: + required: false - # --- DoD Item 3 --- - - type: dropdown - id: dod-status-3 + # --- Pair 3 --- + - type: checkboxes + id: dod-3 attributes: label: 3. Dependent components options: - - "Yes" - - "No" - - "N/A" - validations: - required: true + - label: Done / Yes - type: input - id: dod-details-3 + id: dod-3-details attributes: - label: Details for Item 3 - description: "If a feature involves more than one component changes, link the dependent component release task ticket clarifying the dependency" + label: Details + placeholder: Link dependent component release task if applicable + validations: + required: false - # --- DoD Item 4 --- - - type: dropdown - id: dod-status-4 + # --- Pair 4 --- + - type: checkboxes + id: dod-4 attributes: label: 4. Layer tags options: - - "Yes" - - "No" - - "N/A" - validations: - required: true + - label: Done / Yes - type: input - id: dod-details-4 + id: dod-4-details attributes: - label: Details for Item 4 - description: "Tags released for OSS/OE repos, Layer release, product repo, build-support, RDKE config into middleware manifest" - placeholder: "e.g: https://github.com/rdk-e/meta-image-support/blob/4.1.1/CHANGELOG.md" + label: Details + placeholder: e.g. https://github.com/rdk-e/meta-image-support/blob/4.1.1/CHANGELOG.md + validations: + required: false - # --- DoD Item 5 --- - - type: dropdown - id: dod-status-5 + # --- Pair 5 --- + - type: checkboxes + id: dod-5 attributes: label: 5. Do Widgets Need Publishing options: - - "Yes" - - "No" - - "N/A" - validations: - required: true + - label: Done / Yes - type: input - id: dod-details-5 + id: dod-5-details attributes: - label: Details for Item 5 + label: Details + placeholder: Provide context if widgets are involved + validations: + required: false - # --- DoD Item 6 --- - - type: dropdown - id: dod-status-6 + # --- Pair 6 --- + - type: checkboxes + id: dod-6 attributes: label: 6. Copilot review Done options: - - "Yes" - - "No" - - "N/A" - validations: - required: true + - label: Done / Yes - type: input - id: dod-details-6 + id: dod-6-details attributes: - label: Details for Item 6 \ No newline at end of file + label: Details + placeholder: Any comments on the review + validations: + required: false \ No newline at end of file From 6e177e582f4ac8edf8d9b19d043ef3b47e7c0813 Mon Sep 17 00:00:00 2001 From: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> Date: Tue, 25 Nov 2025 15:17:01 -0500 Subject: [PATCH 076/274] Simplify DoD checklist in middleware change request template (#379) * Simplify status fields in middleware change request template - Replace dropdown status fields with checkbox format - Combine status selection and details into paired fields - Make all fields optional for better user experience - Improve placeholder text for clarity * Further simplify checkbox labels in middleware template - Move DoD item descriptions directly into checkbox labels - Remove redundant label fields for cleaner format - Create more intuitive checklist-style interface --- .../middleware_change_request.yml | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/middleware_change_request.yml b/.github/ISSUE_TEMPLATE/middleware_change_request.yml index 86069ac08..5339ab98c 100644 --- a/.github/ISSUE_TEMPLATE/middleware_change_request.yml +++ b/.github/ISSUE_TEMPLATE/middleware_change_request.yml @@ -36,9 +36,8 @@ body: - type: checkboxes id: dod-1 attributes: - label: 1. Middleware component tags with changelog options: - - label: Done / Yes + - label: Middleware component tags with changelog - type: input id: dod-1-details attributes: @@ -51,9 +50,8 @@ body: - type: checkboxes id: dod-2 attributes: - label: 2. Impact on Devices (STBs, TVs) options: - - label: Done / Yes + - label: Impact on Devices (STBs, TVs) - type: input id: dod-2-details attributes: @@ -66,9 +64,8 @@ body: - type: checkboxes id: dod-3 attributes: - label: 3. Dependent components options: - - label: Done / Yes + - label: Dependent components - type: input id: dod-3-details attributes: @@ -81,9 +78,8 @@ body: - type: checkboxes id: dod-4 attributes: - label: 4. Layer tags options: - - label: Done / Yes + - label: Layer tags - type: input id: dod-4-details attributes: @@ -96,9 +92,8 @@ body: - type: checkboxes id: dod-5 attributes: - label: 5. Do Widgets Need Publishing options: - - label: Done / Yes + - label: Do Widgets Need Publishing - type: input id: dod-5-details attributes: @@ -111,9 +106,8 @@ body: - type: checkboxes id: dod-6 attributes: - label: 6. Copilot review Done options: - - label: Done / Yes + - label: Copilot review Done - type: input id: dod-6-details attributes: From 6909e921822b8d7a1333dc1fb79d39837f018f75 Mon Sep 17 00:00:00 2001 From: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> Date: Tue, 25 Nov 2025 16:00:54 -0500 Subject: [PATCH 077/274] Simplify DoD checklist in middleware change request template (#380) * Simplify status fields in middleware change request template - Replace dropdown status fields with checkbox format - Combine status selection and details into paired fields - Make all fields optional for better user experience - Improve placeholder text for clarity * Further simplify checkbox labels in middleware template - Move DoD item descriptions directly into checkbox labels - Remove redundant label fields for cleaner format - Create more intuitive checklist-style interface * Remove field labels for cleaner form appearance - Add empty label fields to checkboxes and inputs - Creates minimal, streamlined form interface - Checkbox labels and placeholders provide all necessary context --- .../middleware_change_request.yml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/middleware_change_request.yml b/.github/ISSUE_TEMPLATE/middleware_change_request.yml index 5339ab98c..ed59d1a79 100644 --- a/.github/ISSUE_TEMPLATE/middleware_change_request.yml +++ b/.github/ISSUE_TEMPLATE/middleware_change_request.yml @@ -36,12 +36,13 @@ body: - type: checkboxes id: dod-1 attributes: + label: " " options: - label: Middleware component tags with changelog - type: input id: dod-1-details attributes: - label: Details + label: " " placeholder: https://github.com/rdk-e/netmonitor/blob/1.4.0/CHANGELOG.md validations: required: false @@ -50,12 +51,13 @@ body: - type: checkboxes id: dod-2 attributes: + label: " " options: - label: Impact on Devices (STBs, TVs) - type: input id: dod-2-details attributes: - label: Details + label: " " placeholder: Notes on Realtek, Broadcom, Amlogic, MediaTek... validations: required: false @@ -64,12 +66,13 @@ body: - type: checkboxes id: dod-3 attributes: + label: " " options: - label: Dependent components - type: input id: dod-3-details attributes: - label: Details + label: " " placeholder: Link dependent component release task if applicable validations: required: false @@ -78,12 +81,13 @@ body: - type: checkboxes id: dod-4 attributes: + label: " " options: - label: Layer tags - type: input id: dod-4-details attributes: - label: Details + label: " " placeholder: e.g. https://github.com/rdk-e/meta-image-support/blob/4.1.1/CHANGELOG.md validations: required: false @@ -92,12 +96,13 @@ body: - type: checkboxes id: dod-5 attributes: + label: " " options: - label: Do Widgets Need Publishing - type: input id: dod-5-details attributes: - label: Details + label: " " placeholder: Provide context if widgets are involved validations: required: false @@ -106,12 +111,13 @@ body: - type: checkboxes id: dod-6 attributes: + label: " " options: - label: Copilot review Done - type: input id: dod-6-details attributes: - label: Details + label: " " placeholder: Any comments on the review validations: required: false \ No newline at end of file From e545cfacc3497c78b243ecba89a7b95f8b5caae3 Mon Sep 17 00:00:00 2001 From: madhubabutt <114217841+madhubabutt@users.noreply.github.com> Date: Wed, 26 Nov 2025 13:02:33 +0530 Subject: [PATCH 078/274] Update breakpad-wrapper.bb --- recipes-common/breakpad_wrapper/breakpad-wrapper.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-common/breakpad_wrapper/breakpad-wrapper.bb b/recipes-common/breakpad_wrapper/breakpad-wrapper.bb index ef20f84d0..a8d143955 100644 --- a/recipes-common/breakpad_wrapper/breakpad-wrapper.bb +++ b/recipes-common/breakpad_wrapper/breakpad-wrapper.bb @@ -30,4 +30,4 @@ do_install:append () { FILES:${PN} += "${libdir}/*.so" -CXXFLAGS += "-DMINIDUMP_RDKV" +CXXFLAGS:append:client = " -DMINIDUMP_RDKV" From 20b93151e6eb54082d2c23112bc40fad59f2b40c Mon Sep 17 00:00:00 2001 From: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> Date: Wed, 26 Nov 2025 04:35:28 -0500 Subject: [PATCH 079/274] Fix: Update middleware change request template labels to pass GitHub validation (#383) --- .../middleware_change_request.yml | 30 ++++++++----------- 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/middleware_change_request.yml b/.github/ISSUE_TEMPLATE/middleware_change_request.yml index ed59d1a79..bf37418a5 100644 --- a/.github/ISSUE_TEMPLATE/middleware_change_request.yml +++ b/.github/ISSUE_TEMPLATE/middleware_change_request.yml @@ -32,92 +32,86 @@ body: --- ## Definition of Done (DoD) - # --- Pair 1 --- - type: checkboxes id: dod-1 attributes: - label: " " + label: "​" options: - label: Middleware component tags with changelog - type: input id: dod-1-details attributes: - label: " " + label: "​" placeholder: https://github.com/rdk-e/netmonitor/blob/1.4.0/CHANGELOG.md validations: required: false - # --- Pair 2 --- - type: checkboxes id: dod-2 attributes: - label: " " + label: "​" options: - label: Impact on Devices (STBs, TVs) - type: input id: dod-2-details attributes: - label: " " + label: "​" placeholder: Notes on Realtek, Broadcom, Amlogic, MediaTek... validations: required: false - # --- Pair 3 --- - type: checkboxes id: dod-3 attributes: - label: " " + label: "​" options: - label: Dependent components - type: input id: dod-3-details attributes: - label: " " + label: "​" placeholder: Link dependent component release task if applicable validations: required: false - # --- Pair 4 --- - type: checkboxes id: dod-4 attributes: - label: " " + label: "​" options: - label: Layer tags - type: input id: dod-4-details attributes: - label: " " + label: "​" placeholder: e.g. https://github.com/rdk-e/meta-image-support/blob/4.1.1/CHANGELOG.md validations: required: false - # --- Pair 5 --- - type: checkboxes id: dod-5 attributes: - label: " " + label: "​" options: - label: Do Widgets Need Publishing - type: input id: dod-5-details attributes: - label: " " + label: "​" placeholder: Provide context if widgets are involved validations: required: false - # --- Pair 6 --- - type: checkboxes id: dod-6 attributes: - label: " " + label: "​" options: - label: Copilot review Done - type: input id: dod-6-details attributes: - label: " " + label: "​" placeholder: Any comments on the review validations: required: false \ No newline at end of file From 9b1f0fd2457f20af725989d9fa3e4baeb4920a72 Mon Sep 17 00:00:00 2001 From: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> Date: Wed, 26 Nov 2025 05:15:22 -0500 Subject: [PATCH 080/274] Fix: Update middleware change request template labels and add DoD guidance (#385) * Add DoD section description and proprietary information warning * Add compact version of middleware change request template * Update middleware_change_request_compact.yml Updated name * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../middleware_change_request.yml | 9 +++ .../middleware_change_request_compact.yml | 68 +++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/middleware_change_request_compact.yml diff --git a/.github/ISSUE_TEMPLATE/middleware_change_request.yml b/.github/ISSUE_TEMPLATE/middleware_change_request.yml index bf37418a5..35e69e39e 100644 --- a/.github/ISSUE_TEMPLATE/middleware_change_request.yml +++ b/.github/ISSUE_TEMPLATE/middleware_change_request.yml @@ -32,6 +32,15 @@ body: --- ## Definition of Done (DoD) + Please complete the following Middleware Layer Integration checklist items to ensure all requirements for changes to be merged. + + **IMPORTANT:** Do NOT provide any proprietary information including: + - Links to internal Automatics/CI builds + - Links to internal Confluence pages + - Any other Comcast/Sky proprietary or confidential information + + Only provide publicly accessible information and links. + - type: checkboxes id: dod-1 attributes: diff --git a/.github/ISSUE_TEMPLATE/middleware_change_request_compact.yml b/.github/ISSUE_TEMPLATE/middleware_change_request_compact.yml new file mode 100644 index 000000000..bdcff41ec --- /dev/null +++ b/.github/ISSUE_TEMPLATE/middleware_change_request_compact.yml @@ -0,0 +1,68 @@ +name: RDK-E Middleware Change Request Compact +description: Change Request for RDK-E Middleware +title: ": " +labels: ["MW Change Request"] +body: + - type: markdown + attributes: + value: | + Change Request for RDK-E Middleware + + - type: textarea + id: description + attributes: + label: Description + description: Provide a clear and concise description of the feature or bug ticket + placeholder: Describe the changes you are bringing + validations: + required: true + + - type: textarea + id: additional-context + attributes: + label: Additional Context + description: Add any other context, screenshots, or examples about the feature request + placeholder: Any other relevant information + validations: + required: false + + - type: markdown + attributes: + value: | + --- + ## Definition of Done (DoD) + + Please complete the following Middleware Layer Integration checklist items to ensure all requirements for changes to be merged. + + **IMPORTANT:** Do NOT provide any proprietary information including: + - Links to internal Automatics/CI builds + - Links to internal Confluence pages + - Any other Comcast/Sky proprietary or confidential information + + Only provide publicly accessible information and links. + + - type: textarea + id: dod-checklist + attributes: + label: DoD Checklist + description: Mark items with [x] and replace the placeholder text on Details lines with actual information. + value: | + - [ ] **Middleware component tags with changelog** + - Details: https://github.com/rdk-e/netmonitor/blob/1.4.0/CHANGELOG.md + + - [ ] **Impact on Devices (STBs, TVs)** + - Details: (Notes on Realtek, Broadcom, Amlogic, MediaTek...) + + - [ ] **Dependent components** + - Details: (Link dependent component release task if applicable) + + - [ ] **Layer tags** + - Details: (e.g. https://github.com/rdk-e/meta-image-support/blob/4.1.1/CHANGELOG.md) + + - [ ] **Do Widgets Need Publishing** + - Details: (Provide context if widgets are involved) + + - [ ] **Copilot review Done** + - Details: (Any comments on the review) + validations: + required: true From 64e1ae3174fde67fd8509bddcf32f0925932d58d Mon Sep 17 00:00:00 2001 From: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> Date: Wed, 26 Nov 2025 09:42:14 -0500 Subject: [PATCH 081/274] Fix: Update middleware change request template with textarea-based DoD checklist (#387) * Replace checkbox/input fields with single textarea for DoD checklist and remove compact template * Update .github/ISSUE_TEMPLATE/middleware_change_request.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/ISSUE_TEMPLATE/middleware_change_request.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../middleware_change_request.yml | 124 ++++++------------ .../middleware_change_request_compact.yml | 68 ---------- 2 files changed, 40 insertions(+), 152 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/middleware_change_request_compact.yml diff --git a/.github/ISSUE_TEMPLATE/middleware_change_request.yml b/.github/ISSUE_TEMPLATE/middleware_change_request.yml index 35e69e39e..e08fdf6b9 100644 --- a/.github/ISSUE_TEMPLATE/middleware_change_request.yml +++ b/.github/ISSUE_TEMPLATE/middleware_change_request.yml @@ -26,101 +26,57 @@ body: validations: required: false - - type: markdown + - type: textarea + id: dod-checklist attributes: + label: Definition of Done (DoD) + description: Mark items with [x] and replace the placeholder text on Details lines with actual information. value: | - --- - ## Definition of Done (DoD) - Please complete the following Middleware Layer Integration checklist items to ensure all requirements for changes to be merged. - + **IMPORTANT:** Do NOT provide any proprietary information including: - Links to internal Automatics/CI builds - Links to internal Confluence pages - Any other Comcast/Sky proprietary or confidential information + + Only provide publicly accessible information and links. All proprietary information should be added to JIRA Ticket. - Only provide publicly accessible information and links. - - - type: checkboxes - id: dod-1 - attributes: - label: "​" - options: - - label: Middleware component tags with changelog - - type: input - id: dod-1-details - attributes: - label: "​" - placeholder: https://github.com/rdk-e/netmonitor/blob/1.4.0/CHANGELOG.md - validations: - required: false + --- - - type: checkboxes - id: dod-2 - attributes: - label: "​" - options: - - label: Impact on Devices (STBs, TVs) - - type: input - id: dod-2-details - attributes: - label: "​" - placeholder: Notes on Realtek, Broadcom, Amlogic, MediaTek... - validations: - required: false + - [ ] **Middleware component tags with changelog** + - Details: https://github.com/rdk-e/netmonitor/blob/1.4.0/CHANGELOG.md - - type: checkboxes - id: dod-3 - attributes: - label: "​" - options: - - label: Dependent components - - type: input - id: dod-3-details - attributes: - label: "​" - placeholder: Link dependent component release task if applicable - validations: - required: false + - [ ] **Impact on Devices (STBs, TVs)** + - Details: (Notes on Realtek, Broadcom, Amlogic, MediaTek...) - - type: checkboxes - id: dod-4 - attributes: - label: "​" - options: - - label: Layer tags - - type: input - id: dod-4-details - attributes: - label: "​" - placeholder: e.g. https://github.com/rdk-e/meta-image-support/blob/4.1.1/CHANGELOG.md - validations: - required: false + - [ ] **Dependent components** + - Details: (Link dependent component release task if applicable) - - type: checkboxes - id: dod-5 - attributes: - label: "​" - options: - - label: Do Widgets Need Publishing - - type: input - id: dod-5-details - attributes: - label: "​" - placeholder: Provide context if widgets are involved - validations: - required: false + - [ ] **Layer tags** + - Details: (e.g. https://github.com/rdk-e/meta-image-support/blob/4.1.1/CHANGELOG.md) - - type: checkboxes - id: dod-6 - attributes: - label: "​" - options: - - label: Copilot review Done - - type: input - id: dod-6-details - attributes: - label: "​" - placeholder: Any comments on the review + - [ ] **Do Widgets Need Publishing** + - Details: (Provide context if widgets are involved) + + - [ ] **Copilot review Done** + - Details: (Any comments on the review) + + - [ ] **Unit Testing for Component Changes** + - Details: Share L1/L2 Test runs if applicable. For example: https://github.com/rdkcentral/entservices-infra/actions/runs/19664345654/job/56317542489?pr=686 + + - [ ] **Component Test** + - Details: Share Testing done as part of components release + + - [ ] **E2E Testing** + - Details: Provide details on end to end testing done + + - [ ] **Performance Testing** + - Details: Provide details on any performance testing done + + - [ ] **Static code analysis/Coverity** + - Details: Share any Coverity runs for components affected + + - [ ] **Manual Functional Test** + - Details: Share details of manual Functional Testing done validations: - required: false \ No newline at end of file + required: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/middleware_change_request_compact.yml b/.github/ISSUE_TEMPLATE/middleware_change_request_compact.yml deleted file mode 100644 index bdcff41ec..000000000 --- a/.github/ISSUE_TEMPLATE/middleware_change_request_compact.yml +++ /dev/null @@ -1,68 +0,0 @@ -name: RDK-E Middleware Change Request Compact -description: Change Request for RDK-E Middleware -title: ": " -labels: ["MW Change Request"] -body: - - type: markdown - attributes: - value: | - Change Request for RDK-E Middleware - - - type: textarea - id: description - attributes: - label: Description - description: Provide a clear and concise description of the feature or bug ticket - placeholder: Describe the changes you are bringing - validations: - required: true - - - type: textarea - id: additional-context - attributes: - label: Additional Context - description: Add any other context, screenshots, or examples about the feature request - placeholder: Any other relevant information - validations: - required: false - - - type: markdown - attributes: - value: | - --- - ## Definition of Done (DoD) - - Please complete the following Middleware Layer Integration checklist items to ensure all requirements for changes to be merged. - - **IMPORTANT:** Do NOT provide any proprietary information including: - - Links to internal Automatics/CI builds - - Links to internal Confluence pages - - Any other Comcast/Sky proprietary or confidential information - - Only provide publicly accessible information and links. - - - type: textarea - id: dod-checklist - attributes: - label: DoD Checklist - description: Mark items with [x] and replace the placeholder text on Details lines with actual information. - value: | - - [ ] **Middleware component tags with changelog** - - Details: https://github.com/rdk-e/netmonitor/blob/1.4.0/CHANGELOG.md - - - [ ] **Impact on Devices (STBs, TVs)** - - Details: (Notes on Realtek, Broadcom, Amlogic, MediaTek...) - - - [ ] **Dependent components** - - Details: (Link dependent component release task if applicable) - - - [ ] **Layer tags** - - Details: (e.g. https://github.com/rdk-e/meta-image-support/blob/4.1.1/CHANGELOG.md) - - - [ ] **Do Widgets Need Publishing** - - Details: (Provide context if widgets are involved) - - - [ ] **Copilot review Done** - - Details: (Any comments on the review) - validations: - required: true From 30a1147017451e40908c549e76f57a5102ac6c87 Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Wed, 26 Nov 2025 22:04:56 +0530 Subject: [PATCH 082/274] RDKEMW-10214 : Integrate CertSelector API for RDKE (#338) --- recipes-support/rdmagent/rdmagent.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes-support/rdmagent/rdmagent.bb b/recipes-support/rdmagent/rdmagent.bb index c7f0eee06..7dbaae671 100644 --- a/recipes-support/rdmagent/rdmagent.bb +++ b/recipes-support/rdmagent/rdmagent.bb @@ -43,6 +43,10 @@ DEPENDS += "libsyswrapper" EXTRA_OECONF:append = " --enable-iarmbusSupport=yes --enable-t2api=yes" +DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " ", d)}" +CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --cflags libsafec`', ' -DSAFEC_DUMMY_API', d)}" +LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --libs libsafec`', '', d)}" + DEPENDS:append = " iarmmgrs iarmbus" LDFLAGS:append = " -lIARMBus" From 693491993c6f9c9c63f18bbcf1b51810bb091a15 Mon Sep 17 00:00:00 2001 From: madhubabutt <114217841+madhubabutt@users.noreply.github.com> Date: Thu, 27 Nov 2025 12:52:09 +0530 Subject: [PATCH 083/274] Update commonutilities_git.bb --- recipes-common/utils/commonutilities_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-common/utils/commonutilities_git.bb b/recipes-common/utils/commonutilities_git.bb index 6cef79618..25e48bd9c 100644 --- a/recipes-common/utils/commonutilities_git.bb +++ b/recipes-common/utils/commonutilities_git.bb @@ -15,7 +15,7 @@ CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'debug_curl_cdl', ' -DCURL_DE CFLAGS:append = " -DRDK_LOGGER" -PV ?= "1.4.3" +PV ?= "1.4.4" PR ?= "r0" S = "${WORKDIR}/git" From a252dcb4894055510980e6398d95b645da8aa665 Mon Sep 17 00:00:00 2001 From: svc_rdkgerrit02 Date: Fri, 28 Nov 2025 02:20:17 +0000 Subject: [PATCH 084/274] Adding changelog --- CHANGELOG.md | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a46cc269..2fa4312cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,26 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [1.13.0](https://github.com/rdkcentral/meta-rdk/compare/1.12.0...1.13.0) + +- RDKEMW-8825 : App Not Killed by Dobby OOM at Max Memory Limit [`#285`](https://github.com/rdkcentral/meta-rdk/pull/285) +- RDKEMW-6710 : Rdklogger L1 code coverage addition [`#326`](https://github.com/rdkcentral/meta-rdk/pull/326) +- RDKEMW-9859 : Cleanup of xre-receiver code [`#324`](https://github.com/rdkcentral/meta-rdk/pull/324) +- RDKEMW-9849: Move memcapture to middleware layer [`#321`](https://github.com/rdkcentral/meta-rdk/pull/321) +- RDKEMW-9590: Backmerge Release Branch to 'develop' for MW 8.4.1.0 [`#316`](https://github.com/rdkcentral/meta-rdk/pull/316) +- RDKEMW-9590: Rebase branch with 'develop' [`#318`](https://github.com/rdkcentral/meta-rdk/pull/318) +- RDKEMW-9590: Rebase branch with 'develop' [`#317`](https://github.com/rdkcentral/meta-rdk/pull/317) +- RDKEMW-6715: [RDKE]AUTOREV in Middleware layer components [`#262`](https://github.com/rdkcentral/meta-rdk/pull/262) +- RDKE-900: Default to MTLS connection on all endpoints [`#276`](https://github.com/rdkcentral/meta-rdk/pull/276) +- RDKEMW-3485: Add validate_pr_desc.ym; [`#301`](https://github.com/rdkcentral/meta-rdk/pull/301) +- Revert "RDKEMW-8528: Remove logMilestone.sh installation from rdk-logger" [`#306`](https://github.com/rdkcentral/meta-rdk/pull/306) +- RDKEMW-8528 : Remove logMilestone.sh installation from rdk-logger [`#304`](https://github.com/rdkcentral/meta-rdk/pull/304) +- Update memcapture_git.bb [`461823f`](https://github.com/rdkcentral/meta-rdk/commit/461823f13c2f5bb2a19911196ed8088c58c2b8e3) + #### [1.12.0](https://github.com/rdkcentral/meta-rdk/compare/1.11.0...1.12.0) +> 28 October 2025 + - RDKEMW-9549 : Revert "RDKEMW-8528: Remove logMilestone.sh & use Binary implementation (#268)" [`#309`](https://github.com/rdkcentral/meta-rdk/pull/309) - RDKEMW-8528: Avoiding cimplog to install onboarding_log bin [`#297`](https://github.com/rdkcentral/meta-rdk/pull/297) - RDKEMW-8528: Remove logMilestone.sh & use Binary implementation [`#268`](https://github.com/rdkcentral/meta-rdk/pull/268) @@ -16,9 +34,9 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Deploy cla action [`#135`](https://github.com/rdkcentral/meta-rdk/pull/135) - RDKEMW-7734: Update dobby.inc [`#239`](https://github.com/rdkcentral/meta-rdk/pull/239) - Rebase [`#254`](https://github.com/rdkcentral/meta-rdk/pull/254) +- Adding changelog [`719e11f`](https://github.com/rdkcentral/meta-rdk/commit/719e11f47a604549830800925485f37d783c5945) - Update dobby.inc [`9afb276`](https://github.com/rdkcentral/meta-rdk/commit/9afb2760a9e083870673f5dd67dbd08cfdf79d5d) - RDK-58045 : Upgrade rbus that contains low priority coverity fixes(#275) [`adfb54c`](https://github.com/rdkcentral/meta-rdk/commit/adfb54c7871456ddf224a86163a54e494c7868f7) -- Update auto_pr_creation to pick up support branch commits [`312c185`](https://github.com/rdkcentral/meta-rdk/commit/312c18593464fd1c7bb860afc231e0b0e8ab31f0) #### [1.11.0](https://github.com/rdkcentral/meta-rdk/compare/1.10.0...1.11.0) @@ -50,7 +68,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - RDKEMW-6672: Memcr ver from 22.07.2025, checksum enabled [`#192`](https://github.com/rdkcentral/meta-rdk/pull/192) - Adding changelog [`2a46735`](https://github.com/rdkcentral/meta-rdk/commit/2a467353eea437142affa6f98d68351af187b19c) -#### [1.9.0](https://github.com/rdkcentral/meta-rdk/compare/1.8.2...1.9.0) +#### [1.9.0](https://github.com/rdkcentral/meta-rdk/compare/1.8.3...1.9.0) > 7 August 2025 @@ -75,6 +93,13 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Update rdmagent.bb [`1785f6c`](https://github.com/rdkcentral/meta-rdk/commit/1785f6c97dbe8da8d12778ae93a7a93588fc16a6) - Update rdmagent.bb [`c3d2d01`](https://github.com/rdkcentral/meta-rdk/commit/c3d2d018be002be7fc590e0875f4dbb26dd96cab) +#### [1.8.3](https://github.com/rdkcentral/meta-rdk/compare/1.8.2...1.8.3) + +> 25 November 2025 + +- RDKEMW-9910: Sync with RDKV to support new game controllers - backport to RDKE8.2 [`#328`](https://github.com/rdkcentral/meta-rdk/pull/328) +- Adding changelog [`99f2dd6`](https://github.com/rdkcentral/meta-rdk/commit/99f2dd6ac54bb193fd391426e18150506f1ae88b) + #### [1.8.2](https://github.com/rdkcentral/meta-rdk/compare/1.8.1...1.8.2) > 20 October 2025 From 2a053c80596d4c2d7eb22be759cbb0176dfa0a0b Mon Sep 17 00:00:00 2001 From: Simon Chung Date: Tue, 2 Dec 2025 15:42:44 +0000 Subject: [PATCH 085/274] CMFSUPPORT-3454 : Add auto_pr_creation github workflow for broadband community manifests (#395) * Add auto_pr_creation_target_repo_caller_broadband_community github workflow * Update .github/workflows/auto_pr_creation_target_repo_caller_broadband_community.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Add check for merged commit --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> --- ...target_repo_caller_broadband_community.yml | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/workflows/auto_pr_creation_target_repo_caller_broadband_community.yml diff --git a/.github/workflows/auto_pr_creation_target_repo_caller_broadband_community.yml b/.github/workflows/auto_pr_creation_target_repo_caller_broadband_community.yml new file mode 100644 index 000000000..9783c7ed7 --- /dev/null +++ b/.github/workflows/auto_pr_creation_target_repo_caller_broadband_community.yml @@ -0,0 +1,20 @@ +name: Auto PR Creation Caller - Broadband Community + +permissions: + contents: read + pull-requests: write + +on: + pull_request: + types: [closed] + branches: + - develop + - support/dunfell + - 'support/*.*.*' + +jobs: + call_auto_pr_workflow: + if: github.event.pull_request.merged == true + uses: rdkcentral/build_tools_workflows/.github/workflows/auto_pr_creation_rdkb_manifest.yml@develop + secrets: + RDKCM_RDKE: ${{ secrets.RDKCM_RDKE }} From 33dcf8ac44e77fd7155f3ca2e556d99c8a96565a Mon Sep 17 00:00:00 2001 From: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> Date: Fri, 5 Dec 2025 10:12:59 -0500 Subject: [PATCH 086/274] Update middleware change request template with improved checklist items (#411) - Add warning about Development Build/Setup Details in proprietary info - Update component tags example to use public rdkcentral repository - Split device testing into separate STB and TV checkboxes - Rename 'Layer tags' to 'Dependent Layer tags' with clearer scope - Rename 'Copilot review Done' to 'Copilot review for Components' - Remove 'Unit Testing for Component Changes' (covered by Component Test) - Add 'Integration Testing' checklist item - Improve descriptions for E2E, Performance, and Coverity testing - Simplify Manual Functional Test (remove redundant details prompt) --- .../middleware_change_request.yml | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/middleware_change_request.yml b/.github/ISSUE_TEMPLATE/middleware_change_request.yml index e08fdf6b9..e90cc05b0 100644 --- a/.github/ISSUE_TEMPLATE/middleware_change_request.yml +++ b/.github/ISSUE_TEMPLATE/middleware_change_request.yml @@ -38,45 +38,44 @@ body: - Links to internal Automatics/CI builds - Links to internal Confluence pages - Any other Comcast/Sky proprietary or confidential information + - Development Build/Setup Details Only provide publicly accessible information and links. All proprietary information should be added to JIRA Ticket. --- - [ ] **Middleware component tags with changelog** - - Details: https://github.com/rdk-e/netmonitor/blob/1.4.0/CHANGELOG.md + - Details: For instance https://github.com/rdkcentral/hdmicec/blob/1.0.7/CHANGELOG.md. Include all components that need to go together for Builds to work. - - [ ] **Impact on Devices (STBs, TVs)** - - Details: (Notes on Realtek, Broadcom, Amlogic, MediaTek...) - - - [ ] **Dependent components** - - Details: (Link dependent component release task if applicable) + - [ ] **Tested on STBs** + + - [ ] **Tested on TVs** - - [ ] **Layer tags** + - [ ] **Dependent Layer tags (App Layer, OSS, Product, Halif Headers, Vendor Layers)** - Details: (e.g. https://github.com/rdk-e/meta-image-support/blob/4.1.1/CHANGELOG.md) - [ ] **Do Widgets Need Publishing** - Details: (Provide context if widgets are involved) - - [ ] **Copilot review Done** + - [ ] **Copilot review for Components** - Details: (Any comments on the review) - - [ ] **Unit Testing for Component Changes** - - Details: Share L1/L2 Test runs if applicable. For example: https://github.com/rdkcentral/entservices-infra/actions/runs/19664345654/job/56317542489?pr=686 - - [ ] **Component Test** - Details: Share Testing done as part of components release + - [ ] **Integration Testing** + - Details: Provide details on Integration testing done within Middleware layer + - [ ] **E2E Testing** - - Details: Provide details on end to end testing done + - Details: Provide details on end to end testing done across all layers - [ ] **Performance Testing** - - Details: Provide details on any performance testing done + - Details: Provide details on performance testing done - [ ] **Static code analysis/Coverity** - - Details: Share any Coverity runs for components affected + - Details: Share Coverity runs for components affected - [ ] **Manual Functional Test** - - Details: Share details of manual Functional Testing done + validations: required: true \ No newline at end of file From 449f615681c747624d91beba665c250d399d7d02 Mon Sep 17 00:00:00 2001 From: ssitar583 Date: Mon, 8 Dec 2025 16:40:17 +0530 Subject: [PATCH 087/274] RDKEMW-9065: Update and rename validate_pr_desc.yml to validate_pr_title.yml (#408) Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> --- ...date_pr_desc.yml => validate_pr_title.yml} | 42 ++++--------------- 1 file changed, 9 insertions(+), 33 deletions(-) rename .github/workflows/{validate_pr_desc.yml => validate_pr_title.yml} (67%) diff --git a/.github/workflows/validate_pr_desc.yml b/.github/workflows/validate_pr_title.yml similarity index 67% rename from .github/workflows/validate_pr_desc.yml rename to .github/workflows/validate_pr_title.yml index de33abc7d..474e313be 100644 --- a/.github/workflows/validate_pr_desc.yml +++ b/.github/workflows/validate_pr_title.yml @@ -1,4 +1,4 @@ -name: PR Description Validation +name: PR Title Validation on: pull_request: @@ -6,13 +6,13 @@ on: types: [opened, edited, synchronize] jobs: - validate-pr-description: + validate-pr-title: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - - name: Validate PR Description + - name: Validate PR Title env: PR_TITLE: ${{ github.event.pull_request.title }} PR_BODY: ${{ github.event.pull_request.body }} @@ -74,40 +74,16 @@ jobs: return 0 } - # Track validation results - TITLE_VALID=true - DESCRIPTION_VALID=true - - # Validate PR Title + # Validate PR Title (always required) echo "=== Validating PR Title ===" if ! validate_ticket "$PR_TITLE" "PR title"; then - TITLE_VALID=false - fi - - echo "" - echo "=== Validating PR Description ===" - # Validate PR Description - if [ -n "$PR_BODY" ]; then - if ! validate_ticket "$PR_BODY" "PR description"; then - DESCRIPTION_VALID=false - fi - else - echo "ERROR: PR description is empty." - echo "Both PR title and description must contain valid ticket IDs." - DESCRIPTION_VALID=false - fi - - echo "" - echo "=== Validation Summary ===" - echo "PR Title: $([ "$TITLE_VALID" = true ] && echo "PASSED" || echo " FAILED")" - echo "PR Description: $([ "$DESCRIPTION_VALID" = true ] && echo "PASSED" || echo "FAILED")" - - # Exit with error if either validation failed - if [ "$TITLE_VALID" = false ] || [ "$DESCRIPTION_VALID" = false ]; then echo "" - echo "VALIDATION FAILED: Both PR title and description must contain valid ticket IDs from the approved list: ${VALID_TICKET_IDS[@]}" + echo "VALIDATION FAILED: PR title must contain a valid ticket ID from the approved list: ${VALID_TICKET_IDS[@]}" exit 1 fi echo "" - echo "ALL VALIDATIONS PASSED! Both PR title and description contain valid ticket IDs." + echo "=== PR Title Validation PASSED ===" + echo "Ticket ID found in PR title." + echo "" + echo "ALL VALIDATIONS PASSED! PR title contains a valid ticket ID." From cd6b218fd4a762d61015c1228aaba4bc1b6f4289 Mon Sep 17 00:00:00 2001 From: vargeeshj Date: Thu, 11 Dec 2025 16:38:45 +0530 Subject: [PATCH 088/274] RDKEMW-9298:Log files update [ Don't add merge ] (#375) * RDKEMW-9298:Log files update version: major Change-Id: I400d8667436574260c2ed7ffbbd24784de88c63f * Addressed copilot review comments minor Change-Id: Ib8627bec05306991cc8facdc51ea8e1702037d6b --------- Co-authored-by: vjosep162 Co-authored-by: Sonajeya31 <155615090+Sonajeya31@users.noreply.github.com> Co-authored-by: madanagopalt --- recipes-containers/dobby/dobby.bb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/recipes-containers/dobby/dobby.bb b/recipes-containers/dobby/dobby.bb index 71a1085c1..923b84bb9 100644 --- a/recipes-containers/dobby/dobby.bb +++ b/recipes-containers/dobby/dobby.bb @@ -29,7 +29,15 @@ S = "${WORKDIR}/git" inherit pkgconfig cmake systemd logrotate_config inherit syslog-ng-config-gen -LOGROTATE_NAME="dobby" +SYSLOG-NG_FILTER = "rdkappmanagers" +SYSLOG-NG_SERVICE_rdkappmanagers = "dobby.service" +SYSLOG-NG_DESTINATION_rdkappmanagers = "rdkappmanagers.log" +SYSLOG-NG_LOGRATE_rdkappmanagers = "high" +LOGROTATE_LOGNAME_rdkappmanagers = "rdkappmanagers.log" +LOGROTATE_SIZE_MEM_rdkappmanagers = "10485760" +LOGROTATE_ROTATION_MEM_rdkappmanagers = "4" + +LOGROTATE_NAME="dobby rdkappmanagers" LOGROTATE_LOGNAME_dobby="dobby.log" LOGROTATE_SIZE_dobby="1572864" LOGROTATE_ROTATION_dobby="3" From 7d9a291b1eb715778baf24022eae535eaa7e8ac6 Mon Sep 17 00:00:00 2001 From: nanimatta <84963246+nanimatta@users.noreply.github.com> Date: Thu, 11 Dec 2025 16:31:07 -0500 Subject: [PATCH 089/274] RDKEMW-11201:Integrating VL and OSS into develop for X3 and A4k (#416) Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> --- conf/bblayers.conf.sample | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/bblayers.conf.sample b/conf/bblayers.conf.sample index 0ecd791d1..d96d6cbd1 100644 --- a/conf/bblayers.conf.sample +++ b/conf/bblayers.conf.sample @@ -21,7 +21,6 @@ BBLAYERS ?= " \ ${@'${RDKROOT}/meta-linaro/meta-linaro' if os.path.isfile('${RDKROOT}/meta-linaro/meta-linaro/conf/layer.conf') else ''} \ ${@'${RDKROOT}/meta-linaro/meta-linaro-toolchain' if os.path.isfile('${RDKROOT}/meta-linaro/meta-linaro-toolchain/conf/layer.conf') else ''} \ ${@'${RDKROOT}/openembedded-core/meta' if os.path.isfile('${RDKROOT}/openembedded-core/meta/conf/layer.conf') else '${RDKROOT}/poky/meta'} \ - ${@'${RDKROOT}/meta-rust' if os.path.isfile('${RDKROOT}/meta-rust/conf/layer.conf') else ''} \ ${@'${RDKROOT}/meta-clang' if os.path.isfile('${RDKROOT}/meta-clang/conf/layer.conf') else ''} \ ${@'${RDKROOT}/meta-gplv2' if os.path.isfile('${RDKROOT}/meta-gplv2/conf/layer.conf') else ''} \ ${@'${RDKROOT}/meta-python2' if os.path.isfile('${RDKROOT}/meta-python2/conf/layer.conf') else ''} \ @@ -51,3 +50,4 @@ BBLAYERS += "${@'${RDKROOT}/meta-rdk-broadband-cmf-poc' if os.path.isfile('${RDK BBLAYERS += "${@'${RDKROOT}/meta-rdk-cognitive/meta-rdk-cognitive' if os.path.isfile('${RDKROOT}/meta-rdk-cognitive/meta-rdk-cognitive/conf/layer.conf') else ''}" BBLAYERS += "${@'${RDKROOT}/meta-rdk-wan' if os.path.isfile('${RDKROOT}/meta-rdk-wan/conf/layer.conf') else ''}" BBLAYERS += "${@'${RDKROOT}/meta-rdk-iot' if os.path.isfile('${RDKROOT}/meta-rdk-iot/conf/layer.conf') else ''}" +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_META_MIXIN') if d.getVar('MANIFEST_PATH_META_MIXIN') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_MIXIN') + '/conf/layer.conf') else ''}" From 16907eaab66eb15af7f2ee741cc09e53a2b6c53e Mon Sep 17 00:00:00 2001 From: Ganesh prasad Sahu Date: Wed, 22 Oct 2025 19:11:35 +0000 Subject: [PATCH 090/274] RDKEMW-9060: Sync with RDKV to support new game controllers Reason for change: Added the digital trigger patch Test Procedure: refer ticket Risks: NA Priority: P2 Signed-off-by: Ganesh prasad Sahu --- ...-manette-gamepad-digital-trigger-fix.patch | 45 +++++++++++++++++++ .../wpe-backend-rdk/wpe-backend-rdk_0.5.bb | 1 + 2 files changed, 46 insertions(+) create mode 100644 recipes-extended/wpe-backend-rdk/files/comcast-manette-gamepad-digital-trigger-fix.patch diff --git a/recipes-extended/wpe-backend-rdk/files/comcast-manette-gamepad-digital-trigger-fix.patch b/recipes-extended/wpe-backend-rdk/files/comcast-manette-gamepad-digital-trigger-fix.patch new file mode 100644 index 000000000..7ba03c131 --- /dev/null +++ b/recipes-extended/wpe-backend-rdk/files/comcast-manette-gamepad-digital-trigger-fix.patch @@ -0,0 +1,45 @@ +From 58edd7b033735308afc25c9c0fe36e2a969d5f55 Mon Sep 17 00:00:00 2001 +From: Ganesh prasad Sahu +Date: Thu, 1 May 2025 18:37:24 +0000 +Subject: [PATCH] comcast manette gamepad digital trigger fix +Source: COMCAST +Signed-off-by: Ganesh Sahu + +--- + src/manettegamepad/manette_gamepad.cpp | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/src/manettegamepad/manette_gamepad.cpp b/src/manettegamepad/manette_gamepad.cpp +index c4f1a04..547e8f8 100644 +--- a/src/manettegamepad/manette_gamepad.cpp ++++ b/src/manettegamepad/manette_gamepad.cpp +@@ -169,9 +169,11 @@ struct GamepadProvider + double value = 1.0; + if (!manette_event_get_button(event, &button)) + return; +- if (button == BTN_TL2 || button == BTN_TR2) { ++ //Send button pressed with absolute value if an analog trigger ++ if ( (button == BTN_TL2 || button == BTN_TR2) && manette_device_trigger_type(device) ) { + manette_event_get_button_value(event, &value); + provider->analogButtonChanged(device, toStandardGamepadButton(button), value); ++ //g_warning("manette-gamepad: buttonPressEvent btn=%u (analog=y) val=%lf\n",button, value); + } + else + provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), true); +@@ -183,9 +185,12 @@ struct GamepadProvider + double value = 0.0; + if (!manette_event_get_button(event, &button)) + return; +- if (button == BTN_TL2 || button == BTN_TR2) { ++ ++ //Send button released with absolute value if an analog trigger ++ if ( (button == BTN_TL2 || button == BTN_TR2) && manette_device_trigger_type(device) ) { + manette_event_get_button_value(event, &value); + provider->analogButtonChanged(device, toStandardGamepadButton(button), value); ++ //g_warning("manette-gamepad: buttonReleaseEvent btn=%u (analog=y) val=%lf\n",button, value); + } + else + provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), false); +-- +2.25.1 + 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 index 4c797d3b7..6122f0c74 100644 --- a/recipes-extended/wpe-backend-rdk/wpe-backend-rdk_0.5.bb +++ b/recipes-extended/wpe-backend-rdk/wpe-backend-rdk_0.5.bb @@ -22,6 +22,7 @@ SRC_URI += "file://0001-Fix-browser-crash-when-the-compositor-is-not-created.pat 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" +SRC_URI += "file://comcast-manette-gamepad-digital-trigger-fix.patch" S = "${WORKDIR}/git" From 4ceb3ea04a872013b6bdc8525d58b51ec3212170 Mon Sep 17 00:00:00 2001 From: Ganesh prasad Sahu Date: Thu, 11 Dec 2025 07:24:01 +0000 Subject: [PATCH 091/274] safely call by checking the function symbol existance --- ...-manette-gamepad-digital-trigger-fix.patch | 56 +++++++++++++++---- 1 file changed, 45 insertions(+), 11 deletions(-) diff --git a/recipes-extended/wpe-backend-rdk/files/comcast-manette-gamepad-digital-trigger-fix.patch b/recipes-extended/wpe-backend-rdk/files/comcast-manette-gamepad-digital-trigger-fix.patch index 7ba03c131..5b22a6318 100644 --- a/recipes-extended/wpe-backend-rdk/files/comcast-manette-gamepad-digital-trigger-fix.patch +++ b/recipes-extended/wpe-backend-rdk/files/comcast-manette-gamepad-digital-trigger-fix.patch @@ -1,39 +1,73 @@ -From 58edd7b033735308afc25c9c0fe36e2a969d5f55 Mon Sep 17 00:00:00 2001 +From 6fc3fd84b63b5ea45630e0d5f53afbba83d54075 Mon Sep 17 00:00:00 2001 From: Ganesh prasad Sahu Date: Thu, 1 May 2025 18:37:24 +0000 Subject: [PATCH] comcast manette gamepad digital trigger fix -Source: COMCAST -Signed-off-by: Ganesh Sahu +Source: COMCAST --- - src/manettegamepad/manette_gamepad.cpp | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) + src/manettegamepad/manette_gamepad.cpp | 31 ++++++++++++++++++++++++-- + 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/src/manettegamepad/manette_gamepad.cpp b/src/manettegamepad/manette_gamepad.cpp -index c4f1a04..547e8f8 100644 +index c4f1a04..c7a8336 100644 --- a/src/manettegamepad/manette_gamepad.cpp +++ b/src/manettegamepad/manette_gamepad.cpp -@@ -169,9 +169,11 @@ struct GamepadProvider +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include ` + + struct GamepadProxy; + +@@ -163,15 +164,38 @@ struct GamepadProvider + } + } + ++ typedef gboolean (*manette_device_trigger_type_func)(ManetteDevice *device); ++ ++ //Safe call for the trigger type api ++ static gboolean safe_manette_device_trigger_type(ManetteDevice *device) ++ { ++ static bool symbol_checked = false; ++ static manette_device_trigger_type_func manette_device_trigger_type_ptr = nullptr; ++ ++ if (!symbol_checked) { ++ manette_device_trigger_type_ptr = (manette_device_trigger_type_func) ++ dlsym(RTLD_DEFAULT, "manette_device_trigger_type"); ++ symbol_checked = true; ++ } ++ ++ if (manette_device_trigger_type_ptr) { ++ return manette_device_trigger_type_ptr(device); ++ } ++ ++ return TRUE; // Default to analog behavior when libmanette doesn't provide support ++ } ++ + static void onButtonPressEvent(ManetteDevice* device, ManetteEvent* event, GamepadProvider* provider) + { + uint16_t button; double value = 1.0; if (!manette_event_get_button(event, &button)) return; - if (button == BTN_TL2 || button == BTN_TR2) { + //Send button pressed with absolute value if an analog trigger -+ if ( (button == BTN_TL2 || button == BTN_TR2) && manette_device_trigger_type(device) ) { ++ if ( (button == BTN_TL2 || button == BTN_TR2) && safe_manette_device_trigger_type(device) ) { manette_event_get_button_value(event, &value); provider->analogButtonChanged(device, toStandardGamepadButton(button), value); + //g_warning("manette-gamepad: buttonPressEvent btn=%u (analog=y) val=%lf\n",button, value); } else provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), true); -@@ -183,9 +185,12 @@ struct GamepadProvider +@@ -183,9 +207,12 @@ struct GamepadProvider double value = 0.0; if (!manette_event_get_button(event, &button)) return; - if (button == BTN_TL2 || button == BTN_TR2) { + + //Send button released with absolute value if an analog trigger -+ if ( (button == BTN_TL2 || button == BTN_TR2) && manette_device_trigger_type(device) ) { ++ if ( (button == BTN_TL2 || button == BTN_TR2) && safe_manette_device_trigger_type(device) ) { manette_event_get_button_value(event, &value); provider->analogButtonChanged(device, toStandardGamepadButton(button), value); + //g_warning("manette-gamepad: buttonReleaseEvent btn=%u (analog=y) val=%lf\n",button, value); @@ -41,5 +75,5 @@ index c4f1a04..547e8f8 100644 else provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), false); -- -2.25.1 +2.34.1 From c1aeb035958aa7d62c753ba8de87701bc7bfd5c1 Mon Sep 17 00:00:00 2001 From: nanimatta <84963246+nanimatta@users.noreply.github.com> Date: Mon, 15 Dec 2025 16:14:43 -0500 Subject: [PATCH 092/274] RDKEMW-11201: Include meta-lts-mixin layer (#422) * RDKEMW-11201: Include meta-lts-mixin layer * RDKEMW-11201: Include meta-lts-mixin layer --- conf/bblayers.conf.sample | 1 - conf/template/bblayers.conf.sample | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/bblayers.conf.sample b/conf/bblayers.conf.sample index d96d6cbd1..81417f62d 100644 --- a/conf/bblayers.conf.sample +++ b/conf/bblayers.conf.sample @@ -50,4 +50,3 @@ BBLAYERS += "${@'${RDKROOT}/meta-rdk-broadband-cmf-poc' if os.path.isfile('${RDK BBLAYERS += "${@'${RDKROOT}/meta-rdk-cognitive/meta-rdk-cognitive' if os.path.isfile('${RDKROOT}/meta-rdk-cognitive/meta-rdk-cognitive/conf/layer.conf') else ''}" BBLAYERS += "${@'${RDKROOT}/meta-rdk-wan' if os.path.isfile('${RDKROOT}/meta-rdk-wan/conf/layer.conf') else ''}" BBLAYERS += "${@'${RDKROOT}/meta-rdk-iot' if os.path.isfile('${RDKROOT}/meta-rdk-iot/conf/layer.conf') else ''}" -BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_META_MIXIN') if d.getVar('MANIFEST_PATH_META_MIXIN') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_MIXIN') + '/conf/layer.conf') else ''}" diff --git a/conf/template/bblayers.conf.sample b/conf/template/bblayers.conf.sample index 0b9c3c239..4bfb37b22 100644 --- a/conf/template/bblayers.conf.sample +++ b/conf/template/bblayers.conf.sample @@ -72,3 +72,4 @@ BBLAYERS =+ "${@'${MANIFEST_PATH_PROFILE_CONFIG}' if os.path.isfile('${MANIFEST_ BBLAYERS =+ " \ ${@d.getVar('MANIFEST_PATH_REGION_CONFIG') if d.getVar('MANIFEST_PATH_REGION_CONFIG') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_REGION_CONFIG') + '/conf/layer.conf') else ''} \ " +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_META_MIXIN') if d.getVar('MANIFEST_PATH_META_MIXIN') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_MIXIN') + '/conf/layer.conf') else ''}" From 5c74c57ed972960499e406fcd71d038e9d29d842 Mon Sep 17 00:00:00 2001 From: Mahmoud El-haron <114103259+melhar098@users.noreply.github.com> Date: Fri, 19 Dec 2025 14:56:44 -0500 Subject: [PATCH 093/274] RDKEMW-10656: Move SRCREV, PV, PR to individual recipes (#400) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reason for change: move recipe information closer to developer’s repos Test Procedure: see Jira ticket Risks: Low Priority: P1 Signed-off-by: Mahmoud El-haron --- recipes-common/crashupload/crashupload_git.bb | 4 +++- recipes-common/dcmd/dcmd.bb | 6 +++--- recipes-common/lib_syscall_wrapper/libsyswrapper.bb | 4 ++++ recipes-common/libunpriv/libunpriv.bb | 4 ++++ recipes-common/rbus/rbus.bb | 4 ++-- recipes-common/rdk-cert-config/rdkcertconfig.bb | 4 +++- recipes-common/rdkversion/rdkversion_1.0.bb | 6 +++--- recipes-common/rfc/rfc_git.bb | 4 ++++ recipes-common/rtremote/rtremote_git.bb | 6 ++---- recipes-common/systimemgr/systimemgr_git.bb | 4 +++- recipes-common/systimemgr/systimemgrfactory_git.bb | 5 +++-- recipes-common/systimemgr/systimemgrinetrface_git.bb | 4 +++- recipes-common/telemetry/telemetry_git.bb | 5 +++-- recipes-common/utils/commonutilities_git.bb | 5 +++-- recipes-common/webconfig-framework/webconfig-framework.bb | 4 ++-- recipes-connectivity/bluetooth/bluetooth-core_git.bb | 6 +++--- recipes-connectivity/bluetooth/bluetooth-mgr_git.bb | 5 +++-- recipes-containers/dobby/dobby-thunderplugin.bb | 4 ++-- recipes-containers/dobby/dobby.bb | 4 ++-- recipes-core/sysctl/rdksysctl.bb | 2 ++ recipes-devtools/memcapture/memcapture_git.bb | 5 +++++ recipes-extended/memcr/memcr_git.bb | 3 ++- recipes-extended/remotedebugger/remotedebugger.bb | 3 +++ .../webkitbrowser-plugin/webkitbrowser-plugin_git.bb | 4 ++-- recipes-support/cpeabs/cpeabs_1.0.bb | 2 ++ recipes-support/rdmagent/rdmagent.bb | 5 +++++ recipes-support/webcfg/webcfg_1.0.bb | 2 ++ recipes-support/xmidt-agent/xmidt-agent_git.bb | 4 ++++ 28 files changed, 82 insertions(+), 36 deletions(-) diff --git a/recipes-common/crashupload/crashupload_git.bb b/recipes-common/crashupload/crashupload_git.bb index 967aa7c7a..af7425996 100644 --- a/recipes-common/crashupload/crashupload_git.bb +++ b/recipes-common/crashupload/crashupload_git.bb @@ -4,12 +4,14 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" +PV = "1.0.7" +PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" # To have a possibility to override SRC_URI later, we are introducing the following workaround: CRASHUPLOAD_SRC_URI ?= "${RDK_GENERIC_ROOT_GIT}/crashupload/generic;module=.;protocol=${RDK_GIT_PROTOCOL};branch=${RDK_GIT_BRANCH}" +SRCREV = "8e7e22d2cb988ea58b9ba9d85b8b0812c6dc77d2" SRC_URI = "${CMF_GITHUB_ROOT}/crashupload;${CMF_GITHUB_SRC_URI_SUFFIX};module=." -PV = "1.0" S = "${WORKDIR}/git" DEPENDS = "glib-2.0 libsyswrapper" diff --git a/recipes-common/dcmd/dcmd.bb b/recipes-common/dcmd/dcmd.bb index 25527e6a4..b95f096ef 100644 --- a/recipes-common/dcmd/dcmd.bb +++ b/recipes-common/dcmd/dcmd.bb @@ -11,12 +11,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2441d6cdabdc0f370be5cd8a746eb647" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" +SRCREV = "03974134e21b316d4053de6574df14b3a423c8d6" SRC_URI = "${CMF_GITHUB_ROOT}/dcm-agent;${CMF_GITHUB_SRC_URI_SUFFIX}" +PV = "1.2.0" +PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -PV ?= "1.0.0" -PR ?= "r0" - # Make sure our source directory (for the build) matches the directory structure in the tarball S = "${WORKDIR}/git" diff --git a/recipes-common/lib_syscall_wrapper/libsyswrapper.bb b/recipes-common/lib_syscall_wrapper/libsyswrapper.bb index e371cb2a7..7c24d9749 100644 --- a/recipes-common/lib_syscall_wrapper/libsyswrapper.bb +++ b/recipes-common/lib_syscall_wrapper/libsyswrapper.bb @@ -2,9 +2,13 @@ SUMMARY = "secure wrapper for system calls" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" + +PV = "1.3.3" +PR = "r1" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" S = "${WORKDIR}/git" DEPENDS += "rdk-logger" +SRCREV = "5143ba5b92f5dc77b436837d51f2f612d5846b7b" SRC_URI = "${CMF_GITHUB_ROOT}/libSyscallWrapper;${CMF_GITHUB_SRC_URI_SUFFIX};name=libsyswrapper" #EXTRA_OECONF += "--enable-testapp" CFLAGS:append = " -Wall -Werror" diff --git a/recipes-common/libunpriv/libunpriv.bb b/recipes-common/libunpriv/libunpriv.bb index 5cf84a347..ce53d7dc7 100644 --- a/recipes-common/libunpriv/libunpriv.bb +++ b/recipes-common/libunpriv/libunpriv.bb @@ -2,6 +2,10 @@ SUMMARY = "libcap wrapper " LICENSE = "Apache-2.0" DEPENDS = "libcap jsoncpp" S = "${WORKDIR}/git" +PV = "1.0.2" +PR = "r0" +PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" +SRCREV_rdk-libunpriv = "547d202d421ed83bd60b677b5d057cad3b7ae8ad" SRC_URI = "${CMF_GITHUB_ROOT}/rdk-libunpriv.git;${CMF_GITHUB_SRC_URI_SUFFIX};name=rdk-libunpriv" SRCREV_FORMAT = "rdk-libunpriv" diff --git a/recipes-common/rbus/rbus.bb b/recipes-common/rbus/rbus.bb index 11bc2fdc5..d3612a4dd 100644 --- a/recipes-common/rbus/rbus.bb +++ b/recipes-common/rbus/rbus.bb @@ -8,8 +8,8 @@ SRC_URI = "git://github.com/rdkcentral/rbus.git;branch=release" SRCREV = "2f82b00b264673a42a9c878a6d10b82a37cbdfab" SRCREV_FORMAT = "base" -PV ?= "2.9.0" -PR ?= "r0" +PV = "2.9.0" +PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" diff --git a/recipes-common/rdk-cert-config/rdkcertconfig.bb b/recipes-common/rdk-cert-config/rdkcertconfig.bb index ce538f945..91a0b71a7 100644 --- a/recipes-common/rdk-cert-config/rdkcertconfig.bb +++ b/recipes-common/rdk-cert-config/rdkcertconfig.bb @@ -3,12 +3,14 @@ SUMMARY = "A simple library for certificate selector/locator" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" +PV = "1.0.1" +PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -PV = "1.0" DEPENDS += " libsyswrapper " #code will be cloned from the following SRC_URI +SRCREV = "e0e35743f7e96ad0595ac25b11d829b766f7062b" SRC_URI = "${CMF_GITHUB_ROOT}/rdk-cert-config;${CMF_GITHUB_SRC_URI_SUFFIX}" S = "${WORKDIR}/git" diff --git a/recipes-common/rdkversion/rdkversion_1.0.bb b/recipes-common/rdkversion/rdkversion_1.0.bb index 7e7557c7c..dca33145c 100644 --- a/recipes-common/rdkversion/rdkversion_1.0.bb +++ b/recipes-common/rdkversion/rdkversion_1.0.bb @@ -4,10 +4,10 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -PV ?= "1.0.0" -PR ?= "r0" +PV = "1.0.0" +PR = "r0" -SRCREV ?= "d461bbd2fc8299f6e5056f488ff944e90142e9b6" +SRCREV_rdkversion = "d461bbd2fc8299f6e5056f488ff944e90142e9b6" SRCREV_FORMAT = "rdkversion" SRC_URI = "${CMF_GITHUB_ROOT}/rdkversion;${CMF_GITHUB_SRC_URI_SUFFIX};name=rdkversion" diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index a94ebdd3a..4f504700c 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -6,6 +6,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=bef3b9130aa5d626df3f7171f2dadfe2" PACKAGECONFIG ??= "rfctool" PACKAGECONFIG[rfctool] = "--enable-rfctool=yes" +PV = "1.1.9" +PR = "r1" + +SRCREV = "dca43e79aa59ebf1edebe4ae1470ea37f8795879" SRC_URI = "${CMF_GITHUB_ROOT}/rfc;${CMF_GITHUB_SRC_URI_SUFFIX};name=rfc" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" S = "${WORKDIR}/git" diff --git a/recipes-common/rtremote/rtremote_git.bb b/recipes-common/rtremote/rtremote_git.bb index 0cf47546a..2aadd4600 100644 --- a/recipes-common/rtremote/rtremote_git.bb +++ b/recipes-common/rtremote/rtremote_git.bb @@ -6,10 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=cfbe95dd83ee8f2ea75475ecc20723e5" DEPENDS = " util-linux rtcore " PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -PV ?= "2.0.0" -PR ?= "r0" - -PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" +PV = "2.0.0" +PR = "r3" S = "${WORKDIR}/git" diff --git a/recipes-common/systimemgr/systimemgr_git.bb b/recipes-common/systimemgr/systimemgr_git.bb index 63fe8e8d8..fa344f6fd 100755 --- a/recipes-common/systimemgr/systimemgr_git.bb +++ b/recipes-common/systimemgr/systimemgr_git.bb @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" DEPENDS = "systimemgrinetrface systimemgrfactory rdk-logger libsyswrapper wpeframework-clientlibraries telemetry" +SRCREV_systemtimemgr = "f7c52d3ebe5203134d7ecc242f86fbbd96d39c05" SRC_URI = "${CMF_GITHUB_ROOT}/systemtimemgr;${CMF_GITHUB_SRC_URI_SUFFIX};name=systemtimemgr" SRC_URI:append = " file://systimemgr.conf " @@ -14,7 +15,8 @@ SRC_URI:append = " file://secure.conf " PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRCREV_FORMAT = "systemtimemgr" -PV = "1.0" +PV = "1.4.0" +PR = "r0" CXXFLAGS += " -I${PKG_CONFIG_SYSROOT_DIR}/${includedir}/WPEFramework/powercontroller" LDFLAGS:append = " \ diff --git a/recipes-common/systimemgr/systimemgrfactory_git.bb b/recipes-common/systimemgr/systimemgrfactory_git.bb index 8232ed8fc..a107dacd5 100755 --- a/recipes-common/systimemgr/systimemgrfactory_git.bb +++ b/recipes-common/systimemgr/systimemgrfactory_git.bb @@ -8,13 +8,14 @@ LIC_FILES_CHKSUM = "file://../LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" DEPENDS = "systimemgrinetrface iarmbus jsonrpc virtual/mfrlib rdk-logger telemetry" +SRCREV_systemtimemgrfactory = "f7c52d3ebe5203134d7ecc242f86fbbd96d39c05" SRC_URI = "${CMF_GITHUB_ROOT}/systemtimemgr;${CMF_GITHUB_SRC_URI_SUFFIX};name=systemtimemgrfactory" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRCREV_FORMAT = "systemtimemgrfactory" -PV ?= "1.0.0" -PR ?= "r0" +PV = "1.4.0" +PR = "r0" ASNEEDED = "" diff --git a/recipes-common/systimemgr/systimemgrinetrface_git.bb b/recipes-common/systimemgr/systimemgrinetrface_git.bb index 57d611e94..8f09cfef4 100644 --- a/recipes-common/systimemgr/systimemgrinetrface_git.bb +++ b/recipes-common/systimemgr/systimemgrinetrface_git.bb @@ -6,6 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" +SRCREV_systemtimemgrifc = "f7c52d3ebe5203134d7ecc242f86fbbd96d39c05" SRC_URI = "${CMF_GITHUB_ROOT}/systemtimemgr;${CMF_GITHUB_SRC_URI_SUFFIX};name=systemtimemgrifc" @@ -15,7 +16,8 @@ PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRCREV_FORMAT = "systemtimemgrifc" -PV = "1.0" +PV = "1.4.0" +PR = "r0" inherit autotools pkgconfig ALLOW_EMPTY:${PN} = "1" diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index 0134e58a0..174fe9ca7 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -4,6 +4,7 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" +SRCREV = "2038d39088ae27fe2ed290438eb28b2e62582379" SRC_URI = "${CMF_GITHUB_ROOT}/telemetry;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -13,8 +14,8 @@ DEPENDS += "rdk-logger" RDEPENDS:${PN} += "curl cjson glib-2.0 rbus" -PV ?= "1.0.1" -PR ?= "r0" +PV = "1.7.3" +PR = "r0" S = "${WORKDIR}/git" diff --git a/recipes-common/utils/commonutilities_git.bb b/recipes-common/utils/commonutilities_git.bb index 25e48bd9c..fad1b2a8d 100644 --- a/recipes-common/utils/commonutilities_git.bb +++ b/recipes-common/utils/commonutilities_git.bb @@ -3,6 +3,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=24691c8ce48996ecd1102d29eab1216e" # To have a possibility to override SRC_URI later, we are introducing the following workaround: +SRCREV = "5c7dfc405cd34da3ab1a1121caf8733ebe35d879" SRC_URI = "${CMF_GITHUB_ROOT}/common_utilities;module=.;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -15,8 +16,8 @@ CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'debug_curl_cdl', ' -DCURL_DE CFLAGS:append = " -DRDK_LOGGER" -PV ?= "1.4.4" -PR ?= "r0" +PV = "1.4.4" +PR = "r0" S = "${WORKDIR}/git" diff --git a/recipes-common/webconfig-framework/webconfig-framework.bb b/recipes-common/webconfig-framework/webconfig-framework.bb index b5d22e463..51c933682 100644 --- a/recipes-common/webconfig-framework/webconfig-framework.bb +++ b/recipes-common/webconfig-framework/webconfig-framework.bb @@ -14,8 +14,8 @@ SRC_URI = "${CMF_GITHUB_ROOT}/WebconfigFramework;${CMF_GITHUB_SRC_URI_SUFFIX}" SRCREV_FORMAT = "WebconfigFramework" SRCREV = "9c7a05a78aefd1d5da1afe3cf050499888b93fb7" -PV ?= "1.0.0" -PR ?= "r0" +PV = "1.0.0" +PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" diff --git a/recipes-connectivity/bluetooth/bluetooth-core_git.bb b/recipes-connectivity/bluetooth/bluetooth-core_git.bb index a802ab804..011015c65 100644 --- a/recipes-connectivity/bluetooth/bluetooth-core_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-core_git.bb @@ -10,12 +10,12 @@ DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'gdbus_bluez5', 'glib-2.0-native', '', d)}" RDEPENDS:${PN} = "dbus ${BLUEZ} rdk-logger" -PV ?= "1.0.0" -PR ?= "r0" +PV = "1.0.6" +PR = "r2" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "1a38598ab61c2b1e2b238eb2444f2e74d34c176a" +SRCREV = "b3219f3a38978bb29527e9d8991a33c802aafdd1" SRCREV_FORMAT = "bluetooth-core" SRC_URI = "${CMF_GITHUB_ROOT}/bluetooth;${CMF_GITHUB_SRC_URI_SUFFIX}" diff --git a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb index afbe96111..aed50c5cb 100644 --- a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb @@ -4,10 +4,11 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -PV ?= "1.0.0" -PR ?= "r0" +PV = "1.0.6" +PR = "r2" SRCREV_FORMAT = "bluetooth-mgr" +SRCREV = "be44a6c91bdf9ed787f9951965dc98da38f93792" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/bluetooth_mgr;${CMF_GITHUB_SRC_URI_SUFFIX}" SRC_URI:append = " file://btmgr.conf" diff --git a/recipes-containers/dobby/dobby-thunderplugin.bb b/recipes-containers/dobby/dobby-thunderplugin.bb index 6abd444cd..2156a7230 100644 --- a/recipes-containers/dobby/dobby-thunderplugin.bb +++ b/recipes-containers/dobby/dobby-thunderplugin.bb @@ -27,5 +27,5 @@ FILES_SOLIBSDEV = "" FILES:${PN} += "${libdir}/plugins/dobby/*.so*" -PV ?= "1.0.0" -PR ?= "r0" +PV = "3.14.1" +PR = "r0" diff --git a/recipes-containers/dobby/dobby.bb b/recipes-containers/dobby/dobby.bb index 923b84bb9..c47dd3d94 100644 --- a/recipes-containers/dobby/dobby.bb +++ b/recipes-containers/dobby/dobby.bb @@ -104,5 +104,5 @@ FILES:${PN} += "${libexecdir}/DobbyInit" FILES:${PN} += "${libdir}/plugins/dobby/*.so*" FILES:${PN} += "${libdir}/libethanlog.so*" FILES:${PN} += "${libdir}/libocispec.so*" -PV ?= "1.0.0" -PR ?= "r0" +PV = "3.16.0" +PR = "r0" diff --git a/recipes-core/sysctl/rdksysctl.bb b/recipes-core/sysctl/rdksysctl.bb index 9b1365c52..2bd62719b 100644 --- a/recipes-core/sysctl/rdksysctl.bb +++ b/recipes-core/sysctl/rdksysctl.bb @@ -6,6 +6,8 @@ LIC_FILES_CHKSUM = "file://${THISDIR}/files/Apache-2.0;md5=3b83ef96387f14655fc85 SRC_URI = "file://50-sysctl.conf" SRC_URI += "file://98-sysctl-mw.conf" +PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" + S = "${WORKDIR}" do_install() { diff --git a/recipes-devtools/memcapture/memcapture_git.bb b/recipes-devtools/memcapture/memcapture_git.bb index 88840cb1e..ddde27a4c 100644 --- a/recipes-devtools/memcapture/memcapture_git.bb +++ b/recipes-devtools/memcapture/memcapture_git.bb @@ -5,6 +5,11 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=1b8525f92b462b86205ffaba159b4481" +PV = "1.0.0" +PR = "r0" +PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" + +SRCREV = "0cf90e07af97b70fb1f253ebd0f71edd5a9b8225" SRC_URI = "git://github.com/RDKCentral/MemCapture.git;branch=main;name=src;destsuffix=git" S = "${WORKDIR}/git" diff --git a/recipes-extended/memcr/memcr_git.bb b/recipes-extended/memcr/memcr_git.bb index 154026e44..be66fffb7 100644 --- a/recipes-extended/memcr/memcr_git.bb +++ b/recipes-extended/memcr/memcr_git.bb @@ -13,7 +13,8 @@ SRC_URI += " file://0001-RDK-54059-retry-ptrace-seize-on-EPERM.patch" INSANE_SKIP:${PN} += "ldflags" -PV = "1.0+git${SRCPV}" +PV = "1.0.2" +PR = "r0" # Code base from 22.07.2025 SRCREV = "f46af4008d19cb527d5cede22bf0a3d0c7a8ed02" diff --git a/recipes-extended/remotedebugger/remotedebugger.bb b/recipes-extended/remotedebugger/remotedebugger.bb index c363acd27..9534469c1 100644 --- a/recipes-extended/remotedebugger/remotedebugger.bb +++ b/recipes-extended/remotedebugger/remotedebugger.bb @@ -2,7 +2,10 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" +PV = "1.2.9" +PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" +SRCREV = "300d29e105f6a7244bff81fa0357dac914dd8913" SRC_URI = "${CMF_GITHUB_ROOT}/remote_debugger;${CMF_GITHUB_SRC_URI_SUFFIX};name=generic" SRCREV_FORMAT = "generic" diff --git a/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb b/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb index 7e40c629a..9866a232f 100644 --- a/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb +++ b/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb @@ -3,8 +3,8 @@ 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.30" -PR ?= "r0" +PV = "1.1.30" +PR = "r0" PATCHTOOL = "git" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" diff --git a/recipes-support/cpeabs/cpeabs_1.0.bb b/recipes-support/cpeabs/cpeabs_1.0.bb index 4845a8dce..6ee856e5a 100644 --- a/recipes-support/cpeabs/cpeabs_1.0.bb +++ b/recipes-support/cpeabs/cpeabs_1.0.bb @@ -4,6 +4,8 @@ SECTION = "libs" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSES/Apache-2.0.txt;md5=c846ebb396f8b174b10ded4771514fcc" +PV = "2.0.0" +PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" DEPENDS = "cjson msgpack-c rbus wdmp-c cimplog" diff --git a/recipes-support/rdmagent/rdmagent.bb b/recipes-support/rdmagent/rdmagent.bb index 7dbaae671..3a0c8e787 100644 --- a/recipes-support/rdmagent/rdmagent.bb +++ b/recipes-support/rdmagent/rdmagent.bb @@ -8,9 +8,14 @@ DEPENDS += "rbus" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=8700a1d105cac2a90d4f51290ac6e466" +PV = "2.1.3" +PR = "r0" +PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" + # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" +SRCREV = "a62743d21c4f582700151fb04a441cd889c97f3f" SRC_URI = "${CMF_GITHUB_ROOT}/rdm-agent;${CMF_GITHUB_SRC_URI_SUFFIX};name=rdmagent" SRCREV_FORMAT = "rdmagent" diff --git a/recipes-support/webcfg/webcfg_1.0.bb b/recipes-support/webcfg/webcfg_1.0.bb index 2dd801868..a26e2a143 100644 --- a/recipes-support/webcfg/webcfg_1.0.bb +++ b/recipes-support/webcfg/webcfg_1.0.bb @@ -4,6 +4,8 @@ SECTION = "libs" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" +PV = "1.1.0" +PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" DEPENDS = "cjson trower-base64 msgpack-c cimplog wdmp-c curl wrp-c" diff --git a/recipes-support/xmidt-agent/xmidt-agent_git.bb b/recipes-support/xmidt-agent/xmidt-agent_git.bb index 05f740c3f..7f09fcd35 100644 --- a/recipes-support/xmidt-agent/xmidt-agent_git.bb +++ b/recipes-support/xmidt-agent/xmidt-agent_git.bb @@ -2,6 +2,10 @@ DESCRIPTION = "The client agent for the Xmidt service." LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${THISDIR}/files/Apache-2.0;md5=3b83ef96387f14655fc854ddc3c6bd57" +PV = "1.0.0" +PR = "r0" +PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" + PKG_VERSION = "0.5.15" SRC_URI = "https://github.com/xmidt-org/xmidt-agent/releases/download/v${PKG_VERSION}/xmidt-agent_${PKG_VERSION}_rdk_armv7.ipk;name=xmidt-agent" From 08cc1b0ed8add220b4c8c387fd29caa00817ac85 Mon Sep 17 00:00:00 2001 From: svc_rdkgerrit02 Date: Mon, 22 Dec 2025 15:27:00 +0000 Subject: [PATCH 094/274] Adding changelog --- CHANGELOG.md | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2fa4312cc..8269ec1de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,43 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [1.14.0](https://github.com/rdkcentral/meta-rdk/compare/1.13.0...1.14.0) + +- RDKEMW-11201: Include meta-lts-mixin layer [`#422`](https://github.com/rdkcentral/meta-rdk/pull/422) +- RDKEMW-9060: Sync with RDKV to support new game controllers [`#311`](https://github.com/rdkcentral/meta-rdk/pull/311) +- RDKEMW-11201:Integrating VL and OSS into develop for X3 and A4k [`#416`](https://github.com/rdkcentral/meta-rdk/pull/416) +- RDKEMW-9298:Log files update [ Don't add merge ] [`#375`](https://github.com/rdkcentral/meta-rdk/pull/375) +- RDKEMW-9065: Update and rename validate_pr_desc.yml to validate_pr_title.yml [`#408`](https://github.com/rdkcentral/meta-rdk/pull/408) +- RDKEMW-10396: Update RDKE Dobby recipe with v3.16 release [`#336`](https://github.com/rdkcentral/meta-rdk/pull/336) +- Update middleware change request template with improved checklist items [`#411`](https://github.com/rdkcentral/meta-rdk/pull/411) +- Rebase [`#407`](https://github.com/rdkcentral/meta-rdk/pull/407) +- CMFSUPPORT-3454 : Add auto_pr_creation github workflow for broadband community manifests [`#395`](https://github.com/rdkcentral/meta-rdk/pull/395) +- RDKEMW-10596: Backmerge Release branch to develop for MW 8.4.2.0 Q4 Release [`#402`](https://github.com/rdkcentral/meta-rdk/pull/402) +- RDKEMW-10417 : Move common_utils recipe to meta-rdk layer [`#340`](https://github.com/rdkcentral/meta-rdk/pull/340) +- RDKEMW-10710 : Move breakpad recipe to meta-rdk layer [`#352`](https://github.com/rdkcentral/meta-rdk/pull/352) +- RDKEMW-10214 : Integrate CertSelector API for RDKE [`#338`](https://github.com/rdkcentral/meta-rdk/pull/338) +- Fix: Update middleware change request template with textarea-based DoD checklist [`#387`](https://github.com/rdkcentral/meta-rdk/pull/387) +- Fix: Update middleware change request template labels and add DoD guidance [`#385`](https://github.com/rdkcentral/meta-rdk/pull/385) +- Fix: Update middleware change request template labels to pass GitHub validation [`#383`](https://github.com/rdkcentral/meta-rdk/pull/383) +- Simplify DoD checklist in middleware change request template [`#380`](https://github.com/rdkcentral/meta-rdk/pull/380) +- Simplify DoD checklist in middleware change request template [`#379`](https://github.com/rdkcentral/meta-rdk/pull/379) +- Simplify status fields in middleware change request template [`#377`](https://github.com/rdkcentral/meta-rdk/pull/377) +- Simplify status dropdown in middleware change request template [`#374`](https://github.com/rdkcentral/meta-rdk/pull/374) +- Simplify middleware status dropdown [`#368`](https://github.com/rdkcentral/meta-rdk/pull/368) +- Add GitHub Issue Template with Definition of Done Checklist [`#363`](https://github.com/rdkcentral/meta-rdk/pull/363) +- RDK-59966 : Bring the required changes to build RDKB stack [`#331`](https://github.com/rdkcentral/meta-rdk/pull/331) +- RDKEMW-10241:Add new meta-layer for appmanagers (#341) [`#358`](https://github.com/rdkcentral/meta-rdk/pull/358) +- RDKEMW-10241:Add new meta-layer for appmanagers [`#341`](https://github.com/rdkcentral/meta-rdk/pull/341) +- CMFSUPPORT-3454 Banana Pi changes required for meta-rdk [`#339`](https://github.com/rdkcentral/meta-rdk/pull/339) +- Rebase [`#335`](https://github.com/rdkcentral/meta-rdk/pull/335) +- RDK-59966:Bring the required MW components fr RDKB stack [`9e6d2db`](https://github.com/rdkcentral/meta-rdk/commit/9e6d2db63deeb16b8b675aaf98f6476d7b7f56ad) +- RDKOSS-443:Bring the required changes to build RDKB stack [`5736273`](https://github.com/rdkcentral/meta-rdk/commit/573627391a3c1335e079311e2591bbf886cd2f53) +- CMFSUPPORT-3454 Add dsm recipe [`0c9cd64`](https://github.com/rdkcentral/meta-rdk/commit/0c9cd640f8246e569fc24264656389f3a8056485) + #### [1.13.0](https://github.com/rdkcentral/meta-rdk/compare/1.12.0...1.13.0) +> 28 November 2025 + - RDKEMW-8825 : App Not Killed by Dobby OOM at Max Memory Limit [`#285`](https://github.com/rdkcentral/meta-rdk/pull/285) - RDKEMW-6710 : Rdklogger L1 code coverage addition [`#326`](https://github.com/rdkcentral/meta-rdk/pull/326) - RDKEMW-9859 : Cleanup of xre-receiver code [`#324`](https://github.com/rdkcentral/meta-rdk/pull/324) @@ -18,9 +53,10 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - RDKEMW-3485: Add validate_pr_desc.ym; [`#301`](https://github.com/rdkcentral/meta-rdk/pull/301) - Revert "RDKEMW-8528: Remove logMilestone.sh installation from rdk-logger" [`#306`](https://github.com/rdkcentral/meta-rdk/pull/306) - RDKEMW-8528 : Remove logMilestone.sh installation from rdk-logger [`#304`](https://github.com/rdkcentral/meta-rdk/pull/304) +- Adding changelog [`a252dcb`](https://github.com/rdkcentral/meta-rdk/commit/a252dcb4894055510980e6398d95b645da8aa665) - Update memcapture_git.bb [`461823f`](https://github.com/rdkcentral/meta-rdk/commit/461823f13c2f5bb2a19911196ed8088c58c2b8e3) -#### [1.12.0](https://github.com/rdkcentral/meta-rdk/compare/1.11.0...1.12.0) +#### [1.12.0](https://github.com/rdkcentral/meta-rdk/compare/1.11.1...1.12.0) > 28 October 2025 @@ -38,6 +74,15 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Update dobby.inc [`9afb276`](https://github.com/rdkcentral/meta-rdk/commit/9afb2760a9e083870673f5dd67dbd08cfdf79d5d) - RDK-58045 : Upgrade rbus that contains low priority coverity fixes(#275) [`adfb54c`](https://github.com/rdkcentral/meta-rdk/commit/adfb54c7871456ddf224a86163a54e494c7868f7) +#### [1.11.1](https://github.com/rdkcentral/meta-rdk/compare/1.11.0...1.11.1) + +> 3 December 2025 + +- RDKEMW-9060: Sync with RDKV to support new game controllers [`#329`](https://github.com/rdkcentral/meta-rdk/pull/329) +- RDKEMW-8825 : App Not Killed by Dobby OOM at Max Memory Limit [`#333`](https://github.com/rdkcentral/meta-rdk/pull/333) +- Adding changelog [`5919e3d`](https://github.com/rdkcentral/meta-rdk/commit/5919e3dd3f61ef408d87b9d4463c7e8144c2cdae) +- Update auto_pr_creation_target_repo_caller.yml [`9ebc0d4`](https://github.com/rdkcentral/meta-rdk/commit/9ebc0d4528218c13f3de7a457d1d000db15068b7) + #### [1.11.0](https://github.com/rdkcentral/meta-rdk/compare/1.10.0...1.11.0) > 8 October 2025 From 668d81bf19812679c7df7307491c25ad5a26cc22 Mon Sep 17 00:00:00 2001 From: nhanasi Date: Mon, 22 Dec 2025 10:44:13 -0500 Subject: [PATCH 095/274] Update memcapture_git.bb --- recipes-devtools/memcapture/memcapture_git.bb | 3 --- 1 file changed, 3 deletions(-) diff --git a/recipes-devtools/memcapture/memcapture_git.bb b/recipes-devtools/memcapture/memcapture_git.bb index ddde27a4c..26be33884 100644 --- a/recipes-devtools/memcapture/memcapture_git.bb +++ b/recipes-devtools/memcapture/memcapture_git.bb @@ -30,6 +30,3 @@ do_install () { install -d ${D}${bindir} install -m 4755 ${B}/MemCapture ${D}${bindir} } - -FILES:${PN} += "${bindir}/MemCapture \ - " From 0987328b33cb6d7fe24a52d66354c0f7862e13ff Mon Sep 17 00:00:00 2001 From: nanimatta <84963246+nanimatta@users.noreply.github.com> Date: Mon, 22 Dec 2025 10:58:15 -0500 Subject: [PATCH 096/274] RDKEMW-11201: Include meta-lts-mixin layer --- conf/bblayers.conf.sample | 1 - 1 file changed, 1 deletion(-) diff --git a/conf/bblayers.conf.sample b/conf/bblayers.conf.sample index d96d6cbd1..81417f62d 100644 --- a/conf/bblayers.conf.sample +++ b/conf/bblayers.conf.sample @@ -50,4 +50,3 @@ BBLAYERS += "${@'${RDKROOT}/meta-rdk-broadband-cmf-poc' if os.path.isfile('${RDK BBLAYERS += "${@'${RDKROOT}/meta-rdk-cognitive/meta-rdk-cognitive' if os.path.isfile('${RDKROOT}/meta-rdk-cognitive/meta-rdk-cognitive/conf/layer.conf') else ''}" BBLAYERS += "${@'${RDKROOT}/meta-rdk-wan' if os.path.isfile('${RDKROOT}/meta-rdk-wan/conf/layer.conf') else ''}" BBLAYERS += "${@'${RDKROOT}/meta-rdk-iot' if os.path.isfile('${RDKROOT}/meta-rdk-iot/conf/layer.conf') else ''}" -BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_META_MIXIN') if d.getVar('MANIFEST_PATH_META_MIXIN') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_MIXIN') + '/conf/layer.conf') else ''}" From fba28905dc45a4e68fe201f01a9d841f8be442aa Mon Sep 17 00:00:00 2001 From: nanimatta <84963246+nanimatta@users.noreply.github.com> Date: Mon, 22 Dec 2025 10:59:28 -0500 Subject: [PATCH 097/274] Add meta mixin layer to bblayers configuration --- conf/template/bblayers.conf.sample | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/template/bblayers.conf.sample b/conf/template/bblayers.conf.sample index 0b9c3c239..4bfb37b22 100644 --- a/conf/template/bblayers.conf.sample +++ b/conf/template/bblayers.conf.sample @@ -72,3 +72,4 @@ BBLAYERS =+ "${@'${MANIFEST_PATH_PROFILE_CONFIG}' if os.path.isfile('${MANIFEST_ BBLAYERS =+ " \ ${@d.getVar('MANIFEST_PATH_REGION_CONFIG') if d.getVar('MANIFEST_PATH_REGION_CONFIG') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_REGION_CONFIG') + '/conf/layer.conf') else ''} \ " +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_META_MIXIN') if d.getVar('MANIFEST_PATH_META_MIXIN') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_MIXIN') + '/conf/layer.conf') else ''}" From 332c42dd920e330b09f4aefd269bc1701d0ae698 Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Mon, 29 Dec 2025 15:53:24 +0530 Subject: [PATCH 098/274] Update rdmagent.bb --- recipes-support/rdmagent/rdmagent.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-support/rdmagent/rdmagent.bb b/recipes-support/rdmagent/rdmagent.bb index 3a0c8e787..eb52ba5fc 100644 --- a/recipes-support/rdmagent/rdmagent.bb +++ b/recipes-support/rdmagent/rdmagent.bb @@ -15,7 +15,7 @@ PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "a62743d21c4f582700151fb04a441cd889c97f3f" +SRCREV = "a4df8fab27cbcb742b943384fca57d67b7587998" SRC_URI = "${CMF_GITHUB_ROOT}/rdm-agent;${CMF_GITHUB_SRC_URI_SUFFIX};name=rdmagent" SRCREV_FORMAT = "rdmagent" From 1931ada5c55fe32f183585e73570759ab3a27a6a Mon Sep 17 00:00:00 2001 From: nhanasi Date: Mon, 29 Dec 2025 15:20:39 -0500 Subject: [PATCH 099/274] Update rfc_git.bb --- recipes-common/rfc/rfc_git.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index 4f504700c..ae9c94803 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=bef3b9130aa5d626df3f7171f2dadfe2" PACKAGECONFIG ??= "rfctool" PACKAGECONFIG[rfctool] = "--enable-rfctool=yes" -PV = "1.1.9" -PR = "r1" +PV = "1.2.0" +PR = "r0" -SRCREV = "dca43e79aa59ebf1edebe4ae1470ea37f8795879" +SRCREV = "def7ab42db44b7365c470c102c9e36a2d19a49d3" SRC_URI = "${CMF_GITHUB_ROOT}/rfc;${CMF_GITHUB_SRC_URI_SUFFIX};name=rfc" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" S = "${WORKDIR}/git" From 27a08ab43108c2849801c6059e2795a5691188de Mon Sep 17 00:00:00 2001 From: nhanasi Date: Tue, 30 Dec 2025 09:19:10 -0500 Subject: [PATCH 100/274] Update rdmagent.bb --- recipes-support/rdmagent/rdmagent.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-support/rdmagent/rdmagent.bb b/recipes-support/rdmagent/rdmagent.bb index eb52ba5fc..3a0c8e787 100644 --- a/recipes-support/rdmagent/rdmagent.bb +++ b/recipes-support/rdmagent/rdmagent.bb @@ -15,7 +15,7 @@ PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "a4df8fab27cbcb742b943384fca57d67b7587998" +SRCREV = "a62743d21c4f582700151fb04a441cd889c97f3f" SRC_URI = "${CMF_GITHUB_ROOT}/rdm-agent;${CMF_GITHUB_SRC_URI_SUFFIX};name=rdmagent" SRCREV_FORMAT = "rdmagent" From 72b2cef18622ecbb45ac2a4d0580bc15b297bc25 Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Tue, 6 Jan 2026 15:58:40 +0530 Subject: [PATCH 101/274] Update rdmagent.bb --- recipes-support/rdmagent/rdmagent.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-support/rdmagent/rdmagent.bb b/recipes-support/rdmagent/rdmagent.bb index 3a0c8e787..ecf09383e 100644 --- a/recipes-support/rdmagent/rdmagent.bb +++ b/recipes-support/rdmagent/rdmagent.bb @@ -15,7 +15,7 @@ PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "a62743d21c4f582700151fb04a441cd889c97f3f" +SRCREV = "cbbb16a3437c23e4d0e99a9cc0aa0902c0b57dcc" SRC_URI = "${CMF_GITHUB_ROOT}/rdm-agent;${CMF_GITHUB_SRC_URI_SUFFIX};name=rdmagent" SRCREV_FORMAT = "rdmagent" From c10e24e168dfb7caa81dc613b1facbee8bb062d1 Mon Sep 17 00:00:00 2001 From: nhanasi Date: Wed, 7 Jan 2026 04:26:01 -0500 Subject: [PATCH 102/274] Update rfc_git.bb (#446) --- recipes-common/rfc/rfc_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index ae9c94803..f4b39f457 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -7,9 +7,9 @@ PACKAGECONFIG ??= "rfctool" PACKAGECONFIG[rfctool] = "--enable-rfctool=yes" PV = "1.2.0" -PR = "r0" +PR = "r1" -SRCREV = "def7ab42db44b7365c470c102c9e36a2d19a49d3" +SRCREV = "8fcb108d5d613988a0bcf7fb480a790d6a7a0cd3" SRC_URI = "${CMF_GITHUB_ROOT}/rfc;${CMF_GITHUB_SRC_URI_SUFFIX};name=rfc" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" S = "${WORKDIR}/git" From 55b0578f77bc52af018b98405d4319b85de5d66b Mon Sep 17 00:00:00 2001 From: nhanasi Date: Wed, 7 Jan 2026 12:23:51 -0500 Subject: [PATCH 103/274] Update rdmagent.bb --- recipes-support/rdmagent/rdmagent.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-support/rdmagent/rdmagent.bb b/recipes-support/rdmagent/rdmagent.bb index ecf09383e..3a0c8e787 100644 --- a/recipes-support/rdmagent/rdmagent.bb +++ b/recipes-support/rdmagent/rdmagent.bb @@ -15,7 +15,7 @@ PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "cbbb16a3437c23e4d0e99a9cc0aa0902c0b57dcc" +SRCREV = "a62743d21c4f582700151fb04a441cd889c97f3f" SRC_URI = "${CMF_GITHUB_ROOT}/rdm-agent;${CMF_GITHUB_SRC_URI_SUFFIX};name=rdmagent" SRCREV_FORMAT = "rdmagent" From 5714b35a0a1dfefbcc67c51dc04c608c436adf25 Mon Sep 17 00:00:00 2001 From: jackogorman10 <91594911+jackogorman10@users.noreply.github.com> Date: Thu, 8 Jan 2026 14:04:49 +0000 Subject: [PATCH 104/274] RDKEMW-11971: Update bluetooth components to latest for gaming changes (#433) * RDKEMW-11971: Update bluetooth components to latest for gaming changes * RDKEMW-12064: Default all products bt autoconnect feature to on in RDKE --------- Co-authored-by: DamianoBaroneSky <144350372+DamianoBaroneSky@users.noreply.github.com> Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> --- recipes-connectivity/bluetooth/bluetooth-core_git.bb | 4 ++-- recipes-connectivity/bluetooth/bluetooth-mgr_git.bb | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes-connectivity/bluetooth/bluetooth-core_git.bb b/recipes-connectivity/bluetooth/bluetooth-core_git.bb index 011015c65..7a9b07fc6 100644 --- a/recipes-connectivity/bluetooth/bluetooth-core_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-core_git.bb @@ -10,12 +10,12 @@ DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'gdbus_bluez5', 'glib-2.0-native', '', d)}" RDEPENDS:${PN} = "dbus ${BLUEZ} rdk-logger" -PV = "1.0.6" +PV = "1.0.7" PR = "r2" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "b3219f3a38978bb29527e9d8991a33c802aafdd1" +SRCREV = "c96f106c6ff6830235768a2d5f66593fbff59782" SRCREV_FORMAT = "bluetooth-core" SRC_URI = "${CMF_GITHUB_ROOT}/bluetooth;${CMF_GITHUB_SRC_URI_SUFFIX}" diff --git a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb index aed50c5cb..3cc4ef992 100644 --- a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb @@ -4,11 +4,11 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -PV = "1.0.6" +PV = "1.0.7" PR = "r2" SRCREV_FORMAT = "bluetooth-mgr" -SRCREV = "be44a6c91bdf9ed787f9951965dc98da38f93792" +SRCREV = "383a15bd21c2aa074061564916d85004a6280c4f" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/bluetooth_mgr;${CMF_GITHUB_SRC_URI_SUFFIX}" SRC_URI:append = " file://btmgr.conf" @@ -85,8 +85,8 @@ 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)}" +# Autoconnect feature will always be enabled +ENABLE_AUTO_CONNECT = "--enable-autoconnectfeature=yes" EXTRA_OECONF += " ${ENABLE_AUTO_CONNECT} " EXTRA_OECONF:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-systemd-notify', '', d)}" From f302c98b36c2a5e41b98fbbd800df9f2a11b1367 Mon Sep 17 00:00:00 2001 From: nhanasi Date: Thu, 8 Jan 2026 14:37:56 -0500 Subject: [PATCH 105/274] Update rdmagent.bb --- recipes-support/rdmagent/rdmagent.bb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes-support/rdmagent/rdmagent.bb b/recipes-support/rdmagent/rdmagent.bb index 3a0c8e787..2393d01aa 100644 --- a/recipes-support/rdmagent/rdmagent.bb +++ b/recipes-support/rdmagent/rdmagent.bb @@ -48,8 +48,11 @@ DEPENDS += "libsyswrapper" EXTRA_OECONF:append = " --enable-iarmbusSupport=yes --enable-t2api=yes" +EXTRA_OEMAKE += "LIBS='-lsafec'" + DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " ", d)}" -CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --cflags libsafec`', ' -DSAFEC_DUMMY_API', d)}" +CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --cflags libsafec`', '-fPIC', d)}" +CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', '', ' -DSAFEC_DUMMY_API', d)}" LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --libs libsafec`', '', d)}" DEPENDS:append = " iarmmgrs iarmbus" From 08d9e73e751fee0adcb7ef29823e2b87ae4a3c79 Mon Sep 17 00:00:00 2001 From: nhanasi Date: Wed, 14 Jan 2026 11:16:15 -0500 Subject: [PATCH 106/274] Update rfc_git.bb (#461) --- recipes-common/rfc/rfc_git.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index f4b39f457..6f34e4dea 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=bef3b9130aa5d626df3f7171f2dadfe2" PACKAGECONFIG ??= "rfctool" PACKAGECONFIG[rfctool] = "--enable-rfctool=yes" -PV = "1.2.0" -PR = "r1" +PV = "1.2.1" +PR = "r0" -SRCREV = "8fcb108d5d613988a0bcf7fb480a790d6a7a0cd3" +SRCREV = "5c94e13903e76ded4b0780ca5b3c0e358362b489" SRC_URI = "${CMF_GITHUB_ROOT}/rfc;${CMF_GITHUB_SRC_URI_SUFFIX};name=rfc" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" S = "${WORKDIR}/git" From 07b5accc78f577502b715164b797af1ad4823505 Mon Sep 17 00:00:00 2001 From: mselva006c Date: Sat, 20 Dec 2025 04:30:39 +0000 Subject: [PATCH 107/274] RDKOSS-578: Include meta-clang needed for secclient-rs Reason for change: The clang compiler is required for the secclient-rs module. This commit integrates the meta-clang recipe, which provides compiler version 1.72.0. Signed-off-by: mselva006c --- conf/template/bblayers.conf.sample | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/template/bblayers.conf.sample b/conf/template/bblayers.conf.sample index 4bfb37b22..1dbce6f12 100644 --- a/conf/template/bblayers.conf.sample +++ b/conf/template/bblayers.conf.sample @@ -73,3 +73,4 @@ BBLAYERS =+ " \ ${@d.getVar('MANIFEST_PATH_REGION_CONFIG') if d.getVar('MANIFEST_PATH_REGION_CONFIG') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_REGION_CONFIG') + '/conf/layer.conf') else ''} \ " BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_META_MIXIN') if d.getVar('MANIFEST_PATH_META_MIXIN') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_MIXIN') + '/conf/layer.conf') else ''}" +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_META_CLANG') if d.getVar('MANIFEST_PATH_META_CLANG') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_CLANG') + '/conf/layer.conf') else ''}" From 0011f78c8391f450933c6e9973d21729ada488b8 Mon Sep 17 00:00:00 2001 From: Karunakaran A <48997923+karuna2git@users.noreply.github.com> Date: Thu, 15 Jan 2026 20:21:10 -0500 Subject: [PATCH 108/274] RDKEMW-10792: Use syslog supported version of RDKLogger (#462) * RDKEMW-10792: Use syslog supported version of RDKLogger RDKEMW-10792: Use syslog supported version of RDKLogger Reason for change: 1. Added support for syslog 2. Added support for systemd_journal 3. Added explicit support for file capture 4. Added different formatting capability 5. Added Dynamic re-configuration of format, output handler 6. Added milestone log location 7. Added `comcast_dated` format 8. Added legacy MACRO Risks:Medium Priority:P1 Signed-off-by: Karunakaran A --- recipes-common/rdk-logger/rdk-logger_git.bb | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/recipes-common/rdk-logger/rdk-logger_git.bb b/recipes-common/rdk-logger/rdk-logger_git.bb index 360a77764..bbc41f3b0 100644 --- a/recipes-common/rdk-logger/rdk-logger_git.bb +++ b/recipes-common/rdk-logger/rdk-logger_git.bb @@ -6,24 +6,21 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" SRC_URI = "${CMF_GITHUB_ROOT}/rdk_logger;protocol=https;branch=main" S = "${WORKDIR}/git" -SRCREV = "ed3a3f71b8db836449bde6b7c9dc60438fedf30e" -PV = "2.4.0" +SRCREV = "eacd6915758e48b62fbb011d94f1b0ffe67ec4ef" +PV = "3.0.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" - DEPENDS = "log4c glib-2.0" DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " ", d)}" -#Milestone Support -EXTRA_OECONF += " --enable-milestone" PROVIDES = "getClockUptime" +#Milestone Support CFLAGS:append = " -DLOGMILESTONE" -inherit autotools pkgconfig coverity pkgconfig +inherit autotools pkgconfig coverity CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --cflags libsafec`', '-fPIC', d)}" - CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', '', ' -DSAFEC_DUMMY_API', d)}" LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --libs libsafec`', '', d)}" From ea0d85ccbe44c6b692204111e0649f0a9390519b Mon Sep 17 00:00:00 2001 From: nhanasi Date: Sun, 18 Jan 2026 23:35:55 -0500 Subject: [PATCH 109/274] RDK-60393: Memcapture as a downloadable app (#465) --- recipes-support/rdmagent/rdmagent.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-support/rdmagent/rdmagent.bb b/recipes-support/rdmagent/rdmagent.bb index 2393d01aa..3098b1706 100644 --- a/recipes-support/rdmagent/rdmagent.bb +++ b/recipes-support/rdmagent/rdmagent.bb @@ -9,13 +9,13 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=8700a1d105cac2a90d4f51290ac6e466" PV = "2.1.3" -PR = "r0" +PR = "r1" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "a62743d21c4f582700151fb04a441cd889c97f3f" +SRCREV = "18f68fc271daa1259b22a0707ff73765ae96da0a" SRC_URI = "${CMF_GITHUB_ROOT}/rdm-agent;${CMF_GITHUB_SRC_URI_SUFFIX};name=rdmagent" SRCREV_FORMAT = "rdmagent" From 6b7cb30ccf33295542413e31431a6e79f9ddaf61 Mon Sep 17 00:00:00 2001 From: Sriram Giridharan <42592383+Rocksta818@users.noreply.github.com> Date: Tue, 20 Jan 2026 06:52:05 -0800 Subject: [PATCH 110/274] Added new support branch format --- .github/workflows/auto_pr_creation_target_repo_caller.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/auto_pr_creation_target_repo_caller.yml b/.github/workflows/auto_pr_creation_target_repo_caller.yml index 12066dcc9..e6c21a327 100644 --- a/.github/workflows/auto_pr_creation_target_repo_caller.yml +++ b/.github/workflows/auto_pr_creation_target_repo_caller.yml @@ -7,6 +7,7 @@ on: - develop - support/dunfell - 'support/*.*.*' + - 'support/*.*.*.*' jobs: call_auto_pr_workflow: From 7876b757564521fa1ea23bb4a8774fe630769aef Mon Sep 17 00:00:00 2001 From: Shibu Kakkoth Vayalambron Date: Wed, 21 Jan 2026 03:49:53 -0800 Subject: [PATCH 111/274] RDKEMW-12201: Telemery 1.7.4 version integration (#470) --- recipes-common/telemetry/telemetry_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index 174fe9ca7..9299a9bef 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -4,7 +4,7 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -SRCREV = "2038d39088ae27fe2ed290438eb28b2e62582379" +SRCREV = "b4171d7741714e1d003abf83c9b4763f7911dbea" SRC_URI = "${CMF_GITHUB_ROOT}/telemetry;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -14,7 +14,7 @@ DEPENDS += "rdk-logger" RDEPENDS:${PN} += "curl cjson glib-2.0 rbus" -PV = "1.7.3" +PV = "1.7.4" PR = "r0" S = "${WORKDIR}/git" From 99a8a7713176144f4e90ffc0f01a5064b3f61ddc Mon Sep 17 00:00:00 2001 From: DamianoBaroneSky <144350372+DamianoBaroneSky@users.noreply.github.com> Date: Tue, 27 Jan 2026 13:54:44 +0000 Subject: [PATCH 112/274] RDKEMW-12659:Update bluetooth components to latest for gaming changes 1.0.8 (#475) --- recipes-connectivity/bluetooth/bluetooth-core_git.bb | 4 ++-- recipes-connectivity/bluetooth/bluetooth-mgr_git.bb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes-connectivity/bluetooth/bluetooth-core_git.bb b/recipes-connectivity/bluetooth/bluetooth-core_git.bb index 7a9b07fc6..e7d34d3eb 100644 --- a/recipes-connectivity/bluetooth/bluetooth-core_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-core_git.bb @@ -10,12 +10,12 @@ DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'gdbus_bluez5', 'glib-2.0-native', '', d)}" RDEPENDS:${PN} = "dbus ${BLUEZ} rdk-logger" -PV = "1.0.7" +PV = "1.0.8" PR = "r2" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "c96f106c6ff6830235768a2d5f66593fbff59782" +SRCREV = "e41d0bb5fede75a1dcec133382a1eb890dfa25ac" SRCREV_FORMAT = "bluetooth-core" SRC_URI = "${CMF_GITHUB_ROOT}/bluetooth;${CMF_GITHUB_SRC_URI_SUFFIX}" diff --git a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb index 3cc4ef992..fc75dc240 100644 --- a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb @@ -4,11 +4,11 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -PV = "1.0.7" +PV = "1.0.8" PR = "r2" SRCREV_FORMAT = "bluetooth-mgr" -SRCREV = "383a15bd21c2aa074061564916d85004a6280c4f" +SRCREV = "a3dc2dd172884a0606355c0c6b65a31edc13a816" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/bluetooth_mgr;${CMF_GITHUB_SRC_URI_SUFFIX}" SRC_URI:append = " file://btmgr.conf" From 6a645e19cb3435267cb0f8f3932f51e40003b1de Mon Sep 17 00:00:00 2001 From: maniselva006c Date: Wed, 28 Jan 2026 10:58:58 -0500 Subject: [PATCH 113/274] Revert "RDKEMW-12842: Include meta-clang needed for secclient-rs" (#493) --- conf/template/bblayers.conf.sample | 1 - 1 file changed, 1 deletion(-) diff --git a/conf/template/bblayers.conf.sample b/conf/template/bblayers.conf.sample index 1dbce6f12..4bfb37b22 100644 --- a/conf/template/bblayers.conf.sample +++ b/conf/template/bblayers.conf.sample @@ -73,4 +73,3 @@ BBLAYERS =+ " \ ${@d.getVar('MANIFEST_PATH_REGION_CONFIG') if d.getVar('MANIFEST_PATH_REGION_CONFIG') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_REGION_CONFIG') + '/conf/layer.conf') else ''} \ " BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_META_MIXIN') if d.getVar('MANIFEST_PATH_META_MIXIN') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_MIXIN') + '/conf/layer.conf') else ''}" -BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_META_CLANG') if d.getVar('MANIFEST_PATH_META_CLANG') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_CLANG') + '/conf/layer.conf') else ''}" From 85e423f171c16ac5785c6de9df03a9dd62256655 Mon Sep 17 00:00:00 2001 From: svc_rdkgerrit02 Date: Wed, 28 Jan 2026 18:10:24 +0000 Subject: [PATCH 114/274] Adding changelog --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8269ec1de..3f4e63539 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,36 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [1.15.0](https://github.com/rdkcentral/meta-rdk/compare/1.14.1...1.15.0) + +- RDKEMW-10792: Use syslog supported version of RDKLogger [`#462`](https://github.com/rdkcentral/meta-rdk/pull/462) +- Update rfc_git.bb [`#461`](https://github.com/rdkcentral/meta-rdk/pull/461) +- RDK-60393 : Add CertSelector Flag for RDKE [`#453`](https://github.com/rdkcentral/meta-rdk/pull/453) +- RDKEMW-11621: Backmerge Release branch into Develop for MW 8.4.4.0 Release [`#443`](https://github.com/rdkcentral/meta-rdk/pull/443) +- RDKEMW-11971: Update bluetooth components to latest for gaming changes [`#433`](https://github.com/rdkcentral/meta-rdk/pull/433) +- RDK-60130: Enable RDM Support on RDKE Builds [`#430`](https://github.com/rdkcentral/meta-rdk/pull/430) +- Update rfc_git.bb (#446) [`#449`](https://github.com/rdkcentral/meta-rdk/pull/449) +- Update rfc_git.bb [`#446`](https://github.com/rdkcentral/meta-rdk/pull/446) +- rebase [`#441`](https://github.com/rdkcentral/meta-rdk/pull/441) +- RDKEMW-11615 : RFC Release 1.2.0 Updates to MW [`#440`](https://github.com/rdkcentral/meta-rdk/pull/440) +- rebase [`#438`](https://github.com/rdkcentral/meta-rdk/pull/438) +- RDKEMW-11201: Include meta-lts-mixin layer [`#431`](https://github.com/rdkcentral/meta-rdk/pull/431) +- RDKEMW-10656: Move SRCREV, PV, PR to individual recipes [`#400`](https://github.com/rdkcentral/meta-rdk/pull/400) +- Update rdmagent.bb [`f302c98`](https://github.com/rdkcentral/meta-rdk/commit/f302c98b36c2a5e41b98fbbd800df9f2a11b1367) +- Update memcapture_git.bb [`668d81b`](https://github.com/rdkcentral/meta-rdk/commit/668d81bf19812679c7df7307491c25ad5a26cc22) +- Update rdmagent.bb [`55b0578`](https://github.com/rdkcentral/meta-rdk/commit/55b0578f77bc52af018b98405d4319b85de5d66b) + +#### [1.14.1](https://github.com/rdkcentral/meta-rdk/compare/1.14.0...1.14.1) + +> 13 January 2026 + +- RDKEMW-12064: Default all products bt autoconnect feature to on in RDKE [`#439`](https://github.com/rdkcentral/meta-rdk/pull/439) +- Adding changelog [`ec482c5`](https://github.com/rdkcentral/meta-rdk/commit/ec482c587972ec49d5d6c57439072b1bd297efcb) + #### [1.14.0](https://github.com/rdkcentral/meta-rdk/compare/1.13.0...1.14.0) +> 22 December 2025 + - RDKEMW-11201: Include meta-lts-mixin layer [`#422`](https://github.com/rdkcentral/meta-rdk/pull/422) - RDKEMW-9060: Sync with RDKV to support new game controllers [`#311`](https://github.com/rdkcentral/meta-rdk/pull/311) - RDKEMW-11201:Integrating VL and OSS into develop for X3 and A4k [`#416`](https://github.com/rdkcentral/meta-rdk/pull/416) From 77b249d5344321d2383d4f32f09c9b918efeea78 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Fri, 30 Jan 2026 10:41:49 +0530 Subject: [PATCH 115/274] RDK-57502 : Migrate Operation Support Log Upload Related Scripts To C (#481) --- recipes-common/dcmd/dcmd.bb | 26 +++++++++++++++---- recipes-common/utils/commonutilities_git.bb | 14 +++++++--- .../remotedebugger/remotedebugger.bb | 4 +-- 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/recipes-common/dcmd/dcmd.bb b/recipes-common/dcmd/dcmd.bb index b95f096ef..eb5b00d5c 100644 --- a/recipes-common/dcmd/dcmd.bb +++ b/recipes-common/dcmd/dcmd.bb @@ -5,15 +5,16 @@ DESCRIPTION = "dcmd" SECTION = "dcmd" DEPENDS += "rbus" +DEPENDS += "commonutilities" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=2441d6cdabdc0f370be5cd8a746eb647" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "03974134e21b316d4053de6574df14b3a423c8d6" +SRCREV = "fe481721a205019871267cc69564b0befd47cc86" SRC_URI = "${CMF_GITHUB_ROOT}/dcm-agent;${CMF_GITHUB_SRC_URI_SUFFIX}" -PV = "1.2.0" +PV = "2.0.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -35,17 +36,32 @@ ASNEEDED = "" CFLAGS:append = " -std=c11 -fPIC -D_GNU_SOURCE -Wall -Werror" +# added for certselector +EXTRA_OECONF:append = " --enable-t2api=yes --enable-iarmevent" LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'enable_maintenance_manager', '-lIARMBus', '', d)}" - DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'enable_maintenance_manager', 'iarmmgrs iarmbus', '', d)}" CFLAGS:append += "${@bb.utils.contains('DISTRO_FEATURES', 'enable_maintenance_manager', '-DHAS_MAINTENANCE_MANAGER', '', d)}" do_install:append () { - + install -d ${D}${bindir} install -d ${D}${systemd_unitdir}/system install -m 0644 ${S}/dcmd.service ${D}${systemd_unitdir}/system + install -d ${D}${includedir} + install -m 0644 ${S}/uploadstblogs/include/*.h ${D}${includedir} } -SYSTEMD_SERVICE:${PN} += "dcmd.service" +inherit breakpad-wrapper +DEPENDS += "breakpad breakpad-wrapper" +BREAKPAD_BIN:append = "logupload" + +PACKAGECONFIG:append = " breakpad" +PACKAGECONFIG[breakpad] = "--enable-breakpad,,breakpad," +LDFLAGS += "-lbreakpadwrapper" +CXXFLAGS += "-DINCLUDE_BREAKPAD" + + +# Add any extra packaging if needed +FILES_${PN} += "${bindir}/logupload" +SYSTEMD_SERVICE:${PN} += "dcmd.service" diff --git a/recipes-common/utils/commonutilities_git.bb b/recipes-common/utils/commonutilities_git.bb index fad1b2a8d..07571bc8e 100644 --- a/recipes-common/utils/commonutilities_git.bb +++ b/recipes-common/utils/commonutilities_git.bb @@ -3,20 +3,28 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=24691c8ce48996ecd1102d29eab1216e" # To have a possibility to override SRC_URI later, we are introducing the following workaround: -SRCREV = "5c7dfc405cd34da3ab1a1121caf8733ebe35d879" +SRCREV = "7f22cb07a1ed27cec888d0db143bc13e817f407c" SRC_URI = "${CMF_GITHUB_ROOT}/common_utilities;module=.;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -DEPENDS +=" cjson curl rdk-logger" +DEPENDS +=" cjson curl rdk-logger rdkcertconfig" +#RDEPENDS:{PN} += " rfc" #uncomment the following line to turn on debugging #CFLAGS:append = " -DCURL_DEBUG" # or enable this distro feature CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'debug_curl_cdl', ' -DCURL_DEBUG', '', d)}" +DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " ", d)}" +CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --cflags libsafec`', '-fPIC', d)}" +CFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', '', ' -DSAFEC_DUMMY_API', d)}" +LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' `pkg-config --libs libsafec`', '', d)}" + +LDFLAGS:append = " -lsafec -lsecure_wrapper" + CFLAGS:append = " -DRDK_LOGGER" -PV = "1.4.4" +PV = "1.5.0" PR = "r0" S = "${WORKDIR}/git" diff --git a/recipes-extended/remotedebugger/remotedebugger.bb b/recipes-extended/remotedebugger/remotedebugger.bb index 9534469c1..a6352b678 100644 --- a/recipes-extended/remotedebugger/remotedebugger.bb +++ b/recipes-extended/remotedebugger/remotedebugger.bb @@ -5,7 +5,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/files:" PV = "1.2.9" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "300d29e105f6a7244bff81fa0357dac914dd8913" +SRCREV = "c613c0bd537704af56f7fdbf4a68a52edda1a64c" SRC_URI = "${CMF_GITHUB_ROOT}/remote_debugger;${CMF_GITHUB_SRC_URI_SUFFIX};name=generic" SRCREV_FORMAT = "generic" @@ -16,7 +16,7 @@ CFLAGS += " -Wall -Werror" inherit autotools pkgconfig coverity systemd syslog-ng-config-gen breakpad-logmapper -DEPENDS = "cjson rdk-logger trower-base64 msgpack-c webconfig-framework rbus libsyswrapper" +DEPENDS = "cjson rdk-logger trower-base64 msgpack-c webconfig-framework rbus libsyswrapper dcmd" DEPENDS:append:client = " iarmbus iarmmgrs" RDEPENDS:${PN}:append = " bash" RDEPENDS:${PN}:remove_morty = "bash" From 10fb0f02af9b5bf1a44b066c7beed0d2154d9b12 Mon Sep 17 00:00:00 2001 From: Karthick Swaminathan <85346280+ks734@users.noreply.github.com> Date: Mon, 2 Feb 2026 15:57:25 +0530 Subject: [PATCH 116/274] Update dobby.inc --- recipes-containers/dobby/dobby.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index f53a889ba..8807d95cc 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,4 +1,4 @@ -SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.16" +SRC_URI = "gitsm://github.com/ks734/Dobby;protocol=https;branch=RDKEMW-10995" PV = "3.16.0+git${SRCPV}" -SRCREV = "4c2accd3147fad18599427ead28ded0c112ad241" +SRCREV = "c796b85f5c043d4b856f9d8c948fb6b152d0f930" From 35a25dd77ef014cabdcbfaa11f00440c6888571e Mon Sep 17 00:00:00 2001 From: Karthick Swaminathan <85346280+ks734@users.noreply.github.com> Date: Tue, 3 Feb 2026 15:46:11 +0530 Subject: [PATCH 117/274] Update dobby.inc --- recipes-containers/dobby/dobby.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index 8807d95cc..dd182cd89 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,4 +1,4 @@ -SRC_URI = "gitsm://github.com/ks734/Dobby;protocol=https;branch=RDKEMW-10995" +SRC_URI = "gitsm://github.com/ks734/Dobby;protocol=https;branch=topic/RDKEMW-10995" PV = "3.16.0+git${SRCPV}" -SRCREV = "c796b85f5c043d4b856f9d8c948fb6b152d0f930" +SRCREV = "e100580926cd14757b2492ab4cd86c6ff8a3db18" From 99f7d62a5a494b8154b5d8b6e35fca7947e20b58 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Wed, 4 Feb 2026 14:07:12 +0530 Subject: [PATCH 118/274] RDK-57502 : Migrate Operation Support Log Upload Related Scripts To C (#519) --- recipes-common/dcmd/dcmd.bb | 4 ++-- recipes-common/utils/commonutilities_git.bb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes-common/dcmd/dcmd.bb b/recipes-common/dcmd/dcmd.bb index eb5b00d5c..af4a97d7a 100644 --- a/recipes-common/dcmd/dcmd.bb +++ b/recipes-common/dcmd/dcmd.bb @@ -12,9 +12,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2441d6cdabdc0f370be5cd8a746eb647" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "fe481721a205019871267cc69564b0befd47cc86" +SRCREV = "835a632f9bbde3e6b406d9d4bc7afdfbc2e96edc" SRC_URI = "${CMF_GITHUB_ROOT}/dcm-agent;${CMF_GITHUB_SRC_URI_SUFFIX}" -PV = "2.0.0" +PV = "2.0.1" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" diff --git a/recipes-common/utils/commonutilities_git.bb b/recipes-common/utils/commonutilities_git.bb index 07571bc8e..ec9ce7196 100644 --- a/recipes-common/utils/commonutilities_git.bb +++ b/recipes-common/utils/commonutilities_git.bb @@ -3,7 +3,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=24691c8ce48996ecd1102d29eab1216e" # To have a possibility to override SRC_URI later, we are introducing the following workaround: -SRCREV = "7f22cb07a1ed27cec888d0db143bc13e817f407c" +SRCREV = "48a8eeff0b236f5cbfe0cdcd8c8defc3d7a524c0" SRC_URI = "${CMF_GITHUB_ROOT}/common_utilities;module=.;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -24,7 +24,7 @@ LDFLAGS:append = " -lsafec -lsecure_wrapper" CFLAGS:append = " -DRDK_LOGGER" -PV = "1.5.0" +PV = "1.5.1" PR = "r0" S = "${WORKDIR}/git" From 595555b15de4dffe16d735db075c389248c35d00 Mon Sep 17 00:00:00 2001 From: Deepthi C Shetty <115452109+dshett549@users.noreply.github.com> Date: Wed, 4 Feb 2026 20:01:58 +0530 Subject: [PATCH 119/274] RDK-60607: Upgrade RBUS to 2.11.0 (#513) Reason for change: Upgrade RBUS to 2.11.0 which has Coverity Fixes for rtMessage/rbus Test Procedure: Tested and verified Priority: P1 Risks: Medium --- recipes-common/rbus/rbus.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rbus/rbus.bb b/recipes-common/rbus/rbus.bb index d3612a4dd..aec81ed13 100644 --- a/recipes-common/rbus/rbus.bb +++ b/recipes-common/rbus/rbus.bb @@ -5,10 +5,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ed63516ecab9f06e324238dd2b259549" SRC_URI = "git://github.com/rdkcentral/rbus.git;branch=release" -SRCREV = "2f82b00b264673a42a9c878a6d10b82a37cbdfab" +SRCREV = "45f5d1e40d2596b50634f89a2037aaaedb1291d0" SRCREV_FORMAT = "base" -PV = "2.9.0" +PV = "2.11.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From bcc0daeba7069e3dee27c2f599719a50401e8f50 Mon Sep 17 00:00:00 2001 From: maniselva006c Date: Wed, 4 Feb 2026 13:26:36 -0500 Subject: [PATCH 120/274] RDKEMW-12842: Include meta-clang needed for secclient-rs (#494) Reason for change: The clang compiler is required for the secclient-rs module. This commit integrates the meta-clang recipe, which provides compiler version 1.72.0. Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> --- conf/template/bblayers.conf.sample | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/template/bblayers.conf.sample b/conf/template/bblayers.conf.sample index 4bfb37b22..1dbce6f12 100644 --- a/conf/template/bblayers.conf.sample +++ b/conf/template/bblayers.conf.sample @@ -73,3 +73,4 @@ BBLAYERS =+ " \ ${@d.getVar('MANIFEST_PATH_REGION_CONFIG') if d.getVar('MANIFEST_PATH_REGION_CONFIG') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_REGION_CONFIG') + '/conf/layer.conf') else ''} \ " BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_META_MIXIN') if d.getVar('MANIFEST_PATH_META_MIXIN') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_MIXIN') + '/conf/layer.conf') else ''}" +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_META_CLANG') if d.getVar('MANIFEST_PATH_META_CLANG') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_CLANG') + '/conf/layer.conf') else ''}" From 17fc53864025712feef8cabf122295b86c116a4c Mon Sep 17 00:00:00 2001 From: Gomathi Shankar Date: Thu, 5 Feb 2026 12:58:34 +0530 Subject: [PATCH 121/274] RDK-59955: Migrate Upload Dumps Functionality from Shell Script to C [develop] (#517) --- recipes-common/crashupload/crashupload_git.bb | 68 ++++++++++++------- 1 file changed, 44 insertions(+), 24 deletions(-) diff --git a/recipes-common/crashupload/crashupload_git.bb b/recipes-common/crashupload/crashupload_git.bb index af7425996..991849b17 100644 --- a/recipes-common/crashupload/crashupload_git.bb +++ b/recipes-common/crashupload/crashupload_git.bb @@ -1,61 +1,81 @@ -SUMMARY = "Crashupload application" +SUMMARY = "Crash Upload Utility for RDK Platforms" SECTION = "console/utils" LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -PV = "1.0.7" +PV = "2.0.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -# To have a possibility to override SRC_URI later, we are introducing the following workaround: -CRASHUPLOAD_SRC_URI ?= "${RDK_GENERIC_ROOT_GIT}/crashupload/generic;module=.;protocol=${RDK_GIT_PROTOCOL};branch=${RDK_GIT_BRANCH}" -SRCREV = "8e7e22d2cb988ea58b9ba9d85b8b0812c6dc77d2" -SRC_URI = "${CMF_GITHUB_ROOT}/crashupload;${CMF_GITHUB_SRC_URI_SUFFIX};module=." -S = "${WORKDIR}/git" +SRC_URI = "${CMF_GITHUB_ROOT}/${BPN}.git;nobranch=1;protocol=${CMF_GIT_PROTOCOL}" +SRCREV = "e4b80deef60735bfa3ed3cfe2766554c97a91e0b" + +S = "${WORKDIR}/git/c_sourcecode" DEPENDS = "glib-2.0 libsyswrapper" export LINK = "${LD}" -CFLAGS += " \ - -I=${libdir}/glib-2.0/include \ - -I=${includedir}/glib-2.0 \ - " +CFLAGS:append = " \ + -I=${libdir}/glib-2.0/include \ + -I=${includedir}/glib-2.0 \ + -DRFC_API_ENABLED \ + -DT2_EVENT_ENABLED \ + -DRDK_LOGGER \ + -DUSE_EXTENDED_LOGGER_INIT \ + " export GLIBS = "-lglib-2.0 -lz" export USE_DBUS = "y" -LDFLAGS += "-Wl,-O1" +LDFLAGS:append = " -Wl,-O1" + +inherit autotools systemd coverity pkgconfig -inherit coverity -inherit systemd +DEPENDS:append:client = " \ + openssl \ + libarchive \ + rdk-logger \ + commonutilities \ + rfc \ + telemetry \ + " do_install() { install -d ${D}${base_libdir}/rdk install -d ${D}${sysconfdir} ${D}${sysconfdir}/rfcdefaults - install -m 0755 ${S}/uploadDumps.sh ${D}${base_libdir}/rdk + install -m 0755 ${WORKDIR}/git/uploadDumps.sh ${D}${base_libdir}/rdk + install -m 0755 ${WORKDIR}/git/runDumpUpload.sh ${D}${base_libdir}/rdk +} + +do_install:append:client() { + install -d ${D}${bindir} + install -m 0755 ${B}/src/crashupload ${D}${bindir}/crashupload } do_install:append:broadband() { use_sysv="${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'false', 'true', d)}" $use_sysv || install -d ${D}${systemd_unitdir}/system - $use_sysv || install -m 0644 ${S}/coredump-upload.service ${D}${systemd_unitdir}/system/ - $use_sysv || install -m 0644 ${S}/coredump-upload.path ${D}${systemd_unitdir}/system/ - $use_sysv || install -m 0644 ${S}/minidump-on-bootup-upload.service ${D}${systemd_unitdir}/system/ - $use_sysv || install -m 0644 ${S}/minidump-on-bootup-upload.timer ${D}${systemd_unitdir}/system/ + $use_sysv || install -m 0644 ${WORKDIR}/git/coredump-upload.service ${D}${systemd_unitdir}/system/ + $use_sysv || install -m 0644 ${WORKDIR}/git/coredump-upload.path ${D}${systemd_unitdir}/system/ + $use_sysv || install -m 0644 ${WORKDIR}/git/minidump-on-bootup-upload.service ${D}${systemd_unitdir}/system/ + $use_sysv || install -m 0644 ${WORKDIR}/git/minidump-on-bootup-upload.timer ${D}${systemd_unitdir}/system/ install -d ${D}${sysconfdir} - install -m 0755 ${S}/uploadDumpsUtils.sh ${D}${base_libdir}/rdk + install -m 0755 ${WORKDIR}/git/uploadDumpsUtils.sh ${D}${base_libdir}/rdk } SYSTEMD_SERVICE:${PN}:append:broadband = " coredump-upload.service \ coredump-upload.path \ minidump-on-bootup-upload.service \ minidump-on-bootup-upload.timer \ -" -RDEPENDS:${PN} += "busybox" + " + +RDEPENDS:${PN} += "busybox commonutilities" PACKAGE_BEFORE_PN += "${PN}-conf" -FILES:${PN} += "${base_libdir}/rdk/uploadDumps.sh" +FILES:${PN}:append:client = " ${bindir}/crashupload" +FILES:${PN}:append = " ${base_libdir}/rdk/uploadDumps.sh" +FILES:${PN}:append = " ${base_libdir}/rdk/runDumpUpload.sh" FILES:${PN}:append:broadband = " ${base_libdir}/rdk/uploadDumpsUtils.sh" From 68aafa7e7029f13524eb1e8af554e485dab3c799 Mon Sep 17 00:00:00 2001 From: Yogeswaran K <166126056+yogeswaransky@users.noreply.github.com> Date: Sat, 7 Feb 2026 09:44:13 +0530 Subject: [PATCH 122/274] RDK-60312: Telemetry Release 1.8.0 (#533) --- recipes-common/telemetry/telemetry_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index 9299a9bef..b211b65ca 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -4,7 +4,7 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -SRCREV = "b4171d7741714e1d003abf83c9b4763f7911dbea" +SRCREV = "5660e9c1811f366837dffb529f93d052c2613857" SRC_URI = "${CMF_GITHUB_ROOT}/telemetry;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -14,7 +14,7 @@ DEPENDS += "rdk-logger" RDEPENDS:${PN} += "curl cjson glib-2.0 rbus" -PV = "1.7.4" +PV = "1.8.0" PR = "r0" S = "${WORKDIR}/git" From f8c3c550f7087f78962287d79bfc178c8c8e6a2a Mon Sep 17 00:00:00 2001 From: nhanasi Date: Mon, 9 Feb 2026 15:22:47 -0500 Subject: [PATCH 123/274] Update rfc_git.bb (#534) Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> --- recipes-common/rfc/rfc_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index 6f34e4dea..7cfec90f9 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -7,9 +7,9 @@ PACKAGECONFIG ??= "rfctool" PACKAGECONFIG[rfctool] = "--enable-rfctool=yes" PV = "1.2.1" -PR = "r0" +PR = "r1" -SRCREV = "5c94e13903e76ded4b0780ca5b3c0e358362b489" +SRCREV = "904a9167f2cbe87dc34d342e32f5ca16b177432c" SRC_URI = "${CMF_GITHUB_ROOT}/rfc;${CMF_GITHUB_SRC_URI_SUFFIX};name=rfc" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" S = "${WORKDIR}/git" From db05fe2328cfc1f9f2811862ff7bcadbbc34f77b Mon Sep 17 00:00:00 2001 From: mkadinti <101405874+mkadinti@users.noreply.github.com> Date: Tue, 10 Feb 2026 15:55:35 +0530 Subject: [PATCH 124/274] RDK-60065:Implement Firmware Download & Install API for Event-Driven Firmware Updates (#512) --- recipes-common/utils/commonutilities_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/utils/commonutilities_git.bb b/recipes-common/utils/commonutilities_git.bb index ec9ce7196..100d55019 100644 --- a/recipes-common/utils/commonutilities_git.bb +++ b/recipes-common/utils/commonutilities_git.bb @@ -3,7 +3,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=24691c8ce48996ecd1102d29eab1216e" # To have a possibility to override SRC_URI later, we are introducing the following workaround: -SRCREV = "48a8eeff0b236f5cbfe0cdcd8c8defc3d7a524c0" +SRCREV = "aea4d385f7358ea3d6d5952a985577101db52ddc" SRC_URI = "${CMF_GITHUB_ROOT}/common_utilities;module=.;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -25,7 +25,7 @@ LDFLAGS:append = " -lsafec -lsecure_wrapper" CFLAGS:append = " -DRDK_LOGGER" PV = "1.5.1" -PR = "r0" +PR = "r1" S = "${WORKDIR}/git" From d765e20220e2ec0c16e3a5c09976223573e84f01 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Wed, 11 Feb 2026 07:14:17 +0530 Subject: [PATCH 125/274] Update SRCREV to new commit hash --- recipes-common/dcmd/dcmd.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-common/dcmd/dcmd.bb b/recipes-common/dcmd/dcmd.bb index af4a97d7a..641bc1ef2 100644 --- a/recipes-common/dcmd/dcmd.bb +++ b/recipes-common/dcmd/dcmd.bb @@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2441d6cdabdc0f370be5cd8a746eb647" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "835a632f9bbde3e6b406d9d4bc7afdfbc2e96edc" +SRCREV = "17315e005519fa0100d6a43081429c5d53198ca3" SRC_URI = "${CMF_GITHUB_ROOT}/dcm-agent;${CMF_GITHUB_SRC_URI_SUFFIX}" PV = "2.0.1" PR = "r0" From 0e8569dfe68ab82c03b56bc2002e6b125d103f16 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Wed, 11 Feb 2026 07:15:06 +0530 Subject: [PATCH 126/274] Update SRCREV to new commit hash --- recipes-common/dcmd/dcmd.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-common/dcmd/dcmd.bb b/recipes-common/dcmd/dcmd.bb index 641bc1ef2..ba7655537 100644 --- a/recipes-common/dcmd/dcmd.bb +++ b/recipes-common/dcmd/dcmd.bb @@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2441d6cdabdc0f370be5cd8a746eb647" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "17315e005519fa0100d6a43081429c5d53198ca3" +SRCREV = "f6aea5510ad231635c19b5b46ca7e41751f6fb25" SRC_URI = "${CMF_GITHUB_ROOT}/dcm-agent;${CMF_GITHUB_SRC_URI_SUFFIX}" PV = "2.0.1" PR = "r0" From c7fce5ab11f06cb812d9801bb9621bb322492e57 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Wed, 11 Feb 2026 07:29:41 +0530 Subject: [PATCH 127/274] Update dcmd.bb --- recipes-common/dcmd/dcmd.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-common/dcmd/dcmd.bb b/recipes-common/dcmd/dcmd.bb index ba7655537..5d2c72bf9 100644 --- a/recipes-common/dcmd/dcmd.bb +++ b/recipes-common/dcmd/dcmd.bb @@ -14,7 +14,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}:" SRCREV = "f6aea5510ad231635c19b5b46ca7e41751f6fb25" SRC_URI = "${CMF_GITHUB_ROOT}/dcm-agent;${CMF_GITHUB_SRC_URI_SUFFIX}" -PV = "2.0.1" +PV = "2.0.2" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From 7fef63de3648fc123d7c892de0494dbe27a65888 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Wed, 11 Feb 2026 12:57:35 +0530 Subject: [PATCH 128/274] Update dcmd.bb --- recipes-common/dcmd/dcmd.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-common/dcmd/dcmd.bb b/recipes-common/dcmd/dcmd.bb index 5d2c72bf9..61b9aebf9 100644 --- a/recipes-common/dcmd/dcmd.bb +++ b/recipes-common/dcmd/dcmd.bb @@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2441d6cdabdc0f370be5cd8a746eb647" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "f6aea5510ad231635c19b5b46ca7e41751f6fb25" +SRCREV = "63819676192423a1c3a94d7f41360b83e6a5d80d" SRC_URI = "${CMF_GITHUB_ROOT}/dcm-agent;${CMF_GITHUB_SRC_URI_SUFFIX}" PV = "2.0.2" PR = "r0" From d6c1ba3b7c54705cbd4fce90f530277a776bfa8b Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Wed, 11 Feb 2026 16:42:30 +0530 Subject: [PATCH 129/274] Update dcmd.bb --- recipes-common/dcmd/dcmd.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/dcmd/dcmd.bb b/recipes-common/dcmd/dcmd.bb index 61b9aebf9..607320857 100644 --- a/recipes-common/dcmd/dcmd.bb +++ b/recipes-common/dcmd/dcmd.bb @@ -12,10 +12,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2441d6cdabdc0f370be5cd8a746eb647" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "63819676192423a1c3a94d7f41360b83e6a5d80d" +SRCREV = "6097556a8c5139fee1ea660a57afed9fb8a7cf2c" SRC_URI = "${CMF_GITHUB_ROOT}/dcm-agent;${CMF_GITHUB_SRC_URI_SUFFIX}" PV = "2.0.2" -PR = "r0" +PR = "r1" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From df1e216ff3046b042af8444875ec232bac031437 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Thu, 12 Feb 2026 14:14:51 +0530 Subject: [PATCH 130/274] Update dcmd.bb (#546) --- recipes-common/dcmd/dcmd.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-common/dcmd/dcmd.bb b/recipes-common/dcmd/dcmd.bb index 607320857..60ab36dd0 100644 --- a/recipes-common/dcmd/dcmd.bb +++ b/recipes-common/dcmd/dcmd.bb @@ -12,10 +12,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2441d6cdabdc0f370be5cd8a746eb647" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "6097556a8c5139fee1ea660a57afed9fb8a7cf2c" +SRCREV = "86c47550324d871f804446459dbb0a30814d5a2a" SRC_URI = "${CMF_GITHUB_ROOT}/dcm-agent;${CMF_GITHUB_SRC_URI_SUFFIX}" -PV = "2.0.2" -PR = "r1" +PV = "2.0.3" +PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From 57bf9826c1b05d9421bfb557a8d3a8de34ca3644 Mon Sep 17 00:00:00 2001 From: B-Larsen Date: Thu, 12 Feb 2026 10:38:31 -0500 Subject: [PATCH 131/274] RDKEMW-13838: Dobby 3.16.1 release --- recipes-containers/dobby/dobby.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index dd182cd89..d831f0a17 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,4 +1,4 @@ -SRC_URI = "gitsm://github.com/ks734/Dobby;protocol=https;branch=topic/RDKEMW-10995" +SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.16" -PV = "3.16.0+git${SRCPV}" -SRCREV = "e100580926cd14757b2492ab4cd86c6ff8a3db18" +PV = "3.16.1+git${SRCPV}" +SRCREV = "d54ef816b97ddc8dcd72d4c4ff485f486500e361" From efcd7d387d0d11595c11e9acb9a18b1c8c88d3e9 Mon Sep 17 00:00:00 2001 From: B-Larsen <145688157+B-Larsen@users.noreply.github.com> Date: Fri, 13 Feb 2026 13:51:46 -0500 Subject: [PATCH 132/274] RDKEMW-13682: Update memcr rev with FD close fix (#558) Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> --- recipes-extended/memcr/memcr_git.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-extended/memcr/memcr_git.bb b/recipes-extended/memcr/memcr_git.bb index be66fffb7..1f674ba50 100644 --- a/recipes-extended/memcr/memcr_git.bb +++ b/recipes-extended/memcr/memcr_git.bb @@ -13,10 +13,10 @@ SRC_URI += " file://0001-RDK-54059-retry-ptrace-seize-on-EPERM.patch" INSANE_SKIP:${PN} += "ldflags" -PV = "1.0.2" +PV = "1.0.3" PR = "r0" -# Code base from 22.07.2025 -SRCREV = "f46af4008d19cb527d5cede22bf0a3d0c7a8ed02" +# Code base from 18.08.2025 +SRCREV = "e58cf09b092b5e269acb5e8a3aa311b6d748bfe0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From 0cb4d7cdd725c3f28025729bf857d8bef674ef28 Mon Sep 17 00:00:00 2001 From: ssitar583 Date: Tue, 17 Feb 2026 20:34:33 +0530 Subject: [PATCH 133/274] RDKEMW-14095: Extend the allowed JIRA buckets list in commit messages (#572) --- .github/workflows/validate_pr_title.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/validate_pr_title.yml b/.github/workflows/validate_pr_title.yml index 474e313be..c2192f2f2 100644 --- a/.github/workflows/validate_pr_title.yml +++ b/.github/workflows/validate_pr_title.yml @@ -18,7 +18,7 @@ jobs: PR_BODY: ${{ github.event.pull_request.body }} run: | # Define valid ticket IDs - VALID_TICKET_IDS=("RDKEMW" "RDKEVD" "IMMUI" "RDK") + VALID_TICKET_IDS=("RDKEMW" "RDKEVD" "IMMUI" "RDK" "RDKMVE" "RDKDEV") # Function to validate ticket format and ID validate_ticket() { From 165707e54d62576c307c221e86237505b334d295 Mon Sep 17 00:00:00 2001 From: Gomathi Shankar Date: Fri, 20 Feb 2026 08:52:08 +0530 Subject: [PATCH 134/274] RDKEMW-13417 : Update SRCREV for crashupload v2.0.1 (#529) --- recipes-common/crashupload/crashupload_git.bb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes-common/crashupload/crashupload_git.bb b/recipes-common/crashupload/crashupload_git.bb index 991849b17..ce9501da6 100644 --- a/recipes-common/crashupload/crashupload_git.bb +++ b/recipes-common/crashupload/crashupload_git.bb @@ -4,12 +4,12 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -PV = "2.0.0" +PV = "2.0.1" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/${BPN}.git;nobranch=1;protocol=${CMF_GIT_PROTOCOL}" -SRCREV = "e4b80deef60735bfa3ed3cfe2766554c97a91e0b" +SRCREV = "820884c9942ac5a0b7baaafcfea73733e6c517f1" S = "${WORKDIR}/git/c_sourcecode" @@ -24,6 +24,7 @@ CFLAGS:append = " \ -DT2_EVENT_ENABLED \ -DRDK_LOGGER \ -DUSE_EXTENDED_LOGGER_INIT \ + -DRBUS_API_ENABLED \ " export GLIBS = "-lglib-2.0 -lz" From 450df3b811697071943c284d4df2c8113739ed8c Mon Sep 17 00:00:00 2001 From: natrajmuthusamy <52849136+natrajmuthusamy@users.noreply.github.com> Date: Tue, 24 Feb 2026 16:31:33 +0530 Subject: [PATCH 135/274] RDKEMW-4941 : bcm bb/bbappend analysis for bluetooth-mgr (#566) * RDKEMW-4941 : bcm bb/bbappend analysis for bluetooth-mgr. Reason for change: Included new distro feature btr_bcm_pcm_sink for Broadcom specific PCM sink support Priority: P1 Test Procedure: Follow the steps provided in description. Risks: High Signed-off-by:Natraj Muthusamy * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb --------- Co-authored-by: nmuthu523 Co-authored-by: DamianoBaroneSky <144350372+DamianoBaroneSky@users.noreply.github.com> --- recipes-connectivity/bluetooth/bluetooth-mgr_git.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb index fc75dc240..d47be2511 100644 --- a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb @@ -27,6 +27,9 @@ EXTRA_OECONF = " ${ENABLE_GST1}" ENABLE_SAFEC = "--enable-safec=${@bb.utils.contains('DISTRO_FEATURES', 'safec','yes', 'no', d)}" EXTRA_OECONF += " ${ENABLE_SAFEC}" +ENABLE_BRCM_BUILD = "--enable-brcm-build=${@bb.utils.contains('DISTRO_FEATURES', 'btr_bcm_pcm_sink','yes', 'no', d)}" +EXTRA_OECONF += " ${ENABLE_BRCM_BUILD}" + # RPC-IARM Must be Enabled for Video Platforms only; Also iarmbus is dependency for Video Platforms DEPENDS:append:client = " iarmbus ${@bb.utils.contains('DISTRO_FEATURES', 'ENABLE_NETWORKMANAGER', '', 'netsrvmgr', d)}" DEPENDS:append:hybrid = " iarmbus" From bb60c3a7a560a1c876ece35a026d05576fb53544 Mon Sep 17 00:00:00 2001 From: Karunakaran A <48997923+karuna2git@users.noreply.github.com> Date: Wed, 25 Feb 2026 10:06:37 -0500 Subject: [PATCH 136/274] RDKEMW-14300 : Pull RDKLogger latest to get all features of v3.1.0 (#601) RDKEMW-14300 : Update RDKLogger to fetch the latest features of v3.1.0 Reason for change: 1. Removed Log split & truncation 2. Configured default buffer size to be 0 as same as Previous Releases 3. Added new log formats as TID & TS_TIDs 4. Added testApp to measure CPU 5. Updated default logging to console instead of recently changes syslog 6. Added unit test cases to verify the new formats 7. Added unified log function to handle all the log formats 8. Moved the log4c init to rdklogger init --- recipes-common/rdk-logger/rdk-logger_git.bb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/recipes-common/rdk-logger/rdk-logger_git.bb b/recipes-common/rdk-logger/rdk-logger_git.bb index bbc41f3b0..12f8fd3ba 100644 --- a/recipes-common/rdk-logger/rdk-logger_git.bb +++ b/recipes-common/rdk-logger/rdk-logger_git.bb @@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" SRC_URI = "${CMF_GITHUB_ROOT}/rdk_logger;protocol=https;branch=main" S = "${WORKDIR}/git" -SRCREV = "eacd6915758e48b62fbb011d94f1b0ffe67ec4ef" -PV = "3.0.0" +SRCREV = "6dc321d7a5890ef947402532a990ebfb91839f2b" +PV = "3.1.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -30,7 +30,5 @@ do_install:append () { } FILES:${PN} += "${base_libdir}/rdk/logMilestone.sh \ - /rdkLogMileStone \ - /rdklogctrl \ ${base_libdir} \ ${base_libdir}/rdk" From 2df7308a8f9296227afd6a64ea92fa9070fe5461 Mon Sep 17 00:00:00 2001 From: svc_rdkgerrit02 Date: Wed, 25 Feb 2026 16:26:35 +0000 Subject: [PATCH 137/274] Adding changelog --- CHANGELOG.md | 51 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f4e63539..86b281a61 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,34 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). -#### [1.15.0](https://github.com/rdkcentral/meta-rdk/compare/1.14.1...1.15.0) +#### [1.16.0](https://github.com/rdkcentral/meta-rdk/compare/1.15.0...1.16.0) + +- RDKEMW-13682: Update memcr rev with FD close fix [`#558`](https://github.com/rdkcentral/meta-rdk/pull/558) +- RDKEMW-13838: Dobby 3.16.1 Release Integration [`#557`](https://github.com/rdkcentral/meta-rdk/pull/557) +- Update dcmd.bb [`#546`](https://github.com/rdkcentral/meta-rdk/pull/546) +- RDK-59919 : [RDKE] Port Ops Support Upload Scripts to Source code [`#541`](https://github.com/rdkcentral/meta-rdk/pull/541) +- RDK-60065:Implement Firmware Download & Install API for Event-Driven Firmware Updates [`#512`](https://github.com/rdkcentral/meta-rdk/pull/512) +- Update rfc_git.bb [`#534`](https://github.com/rdkcentral/meta-rdk/pull/534) +- RDK-60312: Telemetry Release 1.8.0 [`#533`](https://github.com/rdkcentral/meta-rdk/pull/533) +- RDK-59955: Migrate Upload Dumps Functionality from Shell Script to C [develop] [`#517`](https://github.com/rdkcentral/meta-rdk/pull/517) +- RDKEMW-12842: Include meta-clang needed for secclient-rs [`#494`](https://github.com/rdkcentral/meta-rdk/pull/494) +- RDK-60607: Upgrade RBUS to 2.11.0 [`#513`](https://github.com/rdkcentral/meta-rdk/pull/513) +- RDK-57502 : Migrate Operation Support Log Upload Related Scripts To C [`#519`](https://github.com/rdkcentral/meta-rdk/pull/519) +- RDKEMW-12613: Backmerge release branch to 'develop' for MW 8.5.1.0 Release [`#500`](https://github.com/rdkcentral/meta-rdk/pull/500) +- RDK-57502 : Migrate Operation Support Log Upload Related Scripts To C [`#481`](https://github.com/rdkcentral/meta-rdk/pull/481) +- Rebase [`#501`](https://github.com/rdkcentral/meta-rdk/pull/501) +- Revert "RDKEMW-12842: Include meta-clang needed for secclient-rs" [`#493`](https://github.com/rdkcentral/meta-rdk/pull/493) +- RDKEMW-12842: Include meta-clang needed for secclient-rs [`#424`](https://github.com/rdkcentral/meta-rdk/pull/424) +- RDKEMW-12659:Update bluetooth components to latest for gaming changes 1.0.8 [`#475`](https://github.com/rdkcentral/meta-rdk/pull/475) +- RDKEMW-12201: Telemery 1.7.4 version integration [`#470`](https://github.com/rdkcentral/meta-rdk/pull/470) +- RDK-60393: Memcapture as a downloadable app [`#465`](https://github.com/rdkcentral/meta-rdk/pull/465) +- RDKEMW-13838: Dobby 3.16.1 release [`57bf982`](https://github.com/rdkcentral/meta-rdk/commit/57bf9826c1b05d9421bfb557a8d3a8de34ca3644) +- Update dobby.inc [`35a25dd`](https://github.com/rdkcentral/meta-rdk/commit/35a25dd77ef014cabdcbfaa11f00440c6888571e) +- Update dobby.inc [`10fb0f0`](https://github.com/rdkcentral/meta-rdk/commit/10fb0f02af9b5bf1a44b066c7beed0d2154d9b12) + +#### [1.15.0](https://github.com/rdkcentral/meta-rdk/compare/1.14.2...1.15.0) + +> 28 January 2026 - RDKEMW-10792: Use syslog supported version of RDKLogger [`#462`](https://github.com/rdkcentral/meta-rdk/pull/462) - Update rfc_git.bb [`#461`](https://github.com/rdkcentral/meta-rdk/pull/461) @@ -19,9 +46,19 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - rebase [`#438`](https://github.com/rdkcentral/meta-rdk/pull/438) - RDKEMW-11201: Include meta-lts-mixin layer [`#431`](https://github.com/rdkcentral/meta-rdk/pull/431) - RDKEMW-10656: Move SRCREV, PV, PR to individual recipes [`#400`](https://github.com/rdkcentral/meta-rdk/pull/400) +- Adding changelog [`85e423f`](https://github.com/rdkcentral/meta-rdk/commit/85e423f171c16ac5785c6de9df03a9dd62256655) - Update rdmagent.bb [`f302c98`](https://github.com/rdkcentral/meta-rdk/commit/f302c98b36c2a5e41b98fbbd800df9f2a11b1367) - Update memcapture_git.bb [`668d81b`](https://github.com/rdkcentral/meta-rdk/commit/668d81bf19812679c7df7307491c25ad5a26cc22) -- Update rdmagent.bb [`55b0578`](https://github.com/rdkcentral/meta-rdk/commit/55b0578f77bc52af018b98405d4319b85de5d66b) + +#### [1.14.2](https://github.com/rdkcentral/meta-rdk/compare/1.14.1...1.14.2) + +> 16 February 2026 + +- RDKEMW-13837, RDKEMW-13672, RDKEMW-10995: Update Dobby to v3.16.1 [`#544`](https://github.com/rdkcentral/meta-rdk/pull/544) +- RDKEMW-13681: Update memcr rev with FD close fix [`#537`](https://github.com/rdkcentral/meta-rdk/pull/537) +- Adding changelog [`28c80b6`](https://github.com/rdkcentral/meta-rdk/commit/28c80b60a3d7b3a75e6c480fe4783d4b69b8f487) +- RDKEMW-13837: Update Dobby to v3.16.1 [`54fe1e2`](https://github.com/rdkcentral/meta-rdk/commit/54fe1e2f2bb6db9bca1634fc4ceb968424c87af3) +- Added new support branch format [`07f2b45`](https://github.com/rdkcentral/meta-rdk/commit/07f2b454b9eef66e4e5e4799e7ab4b19c041cbb0) #### [1.14.1](https://github.com/rdkcentral/meta-rdk/compare/1.14.0...1.14.1) @@ -84,7 +121,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Adding changelog [`a252dcb`](https://github.com/rdkcentral/meta-rdk/commit/a252dcb4894055510980e6398d95b645da8aa665) - Update memcapture_git.bb [`461823f`](https://github.com/rdkcentral/meta-rdk/commit/461823f13c2f5bb2a19911196ed8088c58c2b8e3) -#### [1.12.0](https://github.com/rdkcentral/meta-rdk/compare/1.11.1...1.12.0) +#### [1.12.0](https://github.com/rdkcentral/meta-rdk/compare/1.11.2...1.12.0) > 28 October 2025 @@ -102,6 +139,14 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Update dobby.inc [`9afb276`](https://github.com/rdkcentral/meta-rdk/commit/9afb2760a9e083870673f5dd67dbd08cfdf79d5d) - RDK-58045 : Upgrade rbus that contains low priority coverity fixes(#275) [`adfb54c`](https://github.com/rdkcentral/meta-rdk/commit/adfb54c7871456ddf224a86163a54e494c7868f7) +#### [1.11.2](https://github.com/rdkcentral/meta-rdk/compare/1.11.1...1.11.2) + +> 17 February 2026 + +- RDKEMW-13782 : Telemetry upload issue [`#550`](https://github.com/rdkcentral/meta-rdk/pull/550) +- Adding changelog [`c708818`](https://github.com/rdkcentral/meta-rdk/commit/c708818ef45baf203b2a108630d2eeb2ddd57407) +- Update telemetry_git.bb [`eeaf687`](https://github.com/rdkcentral/meta-rdk/commit/eeaf687a750ff69b745ecf749d3369c9574ba976) + #### [1.11.1](https://github.com/rdkcentral/meta-rdk/compare/1.11.0...1.11.1) > 3 December 2025 From 146a690b27a6fc6566e58eb6f86b93edfeda4895 Mon Sep 17 00:00:00 2001 From: tabbas651 Date: Mon, 2 Mar 2026 22:26:47 +0000 Subject: [PATCH 138/274] RDKEMW-14121 : Added Mediatek Platform support in Memcapture Code Base Reason for change: Added forked version git hash id for testing Test Procedure: please refer the ticket comments Risks: Medium --- recipes-devtools/memcapture/memcapture_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-devtools/memcapture/memcapture_git.bb b/recipes-devtools/memcapture/memcapture_git.bb index 26be33884..be5fe49be 100644 --- a/recipes-devtools/memcapture/memcapture_git.bb +++ b/recipes-devtools/memcapture/memcapture_git.bb @@ -9,8 +9,8 @@ PV = "1.0.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "0cf90e07af97b70fb1f253ebd0f71edd5a9b8225" -SRC_URI = "git://github.com/RDKCentral/MemCapture.git;branch=main;name=src;destsuffix=git" +SRCREV = "b796f1532d1863748e4bbe71c9feaada3f5cac50" +SRC_URI = "git://github.com/tabbas651/MemCapture.git;branch=main;name=src;destsuffix=git" S = "${WORKDIR}/git" B = "${WORKDIR}/build" From 05077efeedbbe544f4568096e0099e0a73ec203e Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Tue, 3 Mar 2026 19:05:30 +0530 Subject: [PATCH 139/274] RDK-59974 : Migrate rebootNow script to C - Implementation (#564) --- .../reboot-manager/reboot-manager.bb | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 recipes-support/reboot-manager/reboot-manager.bb diff --git a/recipes-support/reboot-manager/reboot-manager.bb b/recipes-support/reboot-manager/reboot-manager.bb new file mode 100644 index 000000000..964e51c04 --- /dev/null +++ b/recipes-support/reboot-manager/reboot-manager.bb @@ -0,0 +1,48 @@ +# +# Recipe for reboot-manager: Installs a binary utility to perform system reboots +# and log the reasons for those reboots, supporting diagnostics +# and telemetry integration. +# + +DESCRIPTION = "reboot-manager: Binary Utility to initiate system reboots and log detailed reboot reasons, aiding diagnostics and telemetry" +SECTION = "reboot-manager" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +FILESEXTRAPATHS:prepend := "${THISDIR}:" + +PV = "1.0.0" +PR = "r0" +PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" + +SRC_URI = "${CMF_GITHUB_ROOT}/reboot-manager;${CMF_GITHUB_SRC_URI_SUFFIX};name=reboot-manager" +SRCREV_reboot-manager = "0b0a0f0dd3536f008f21ae237a3c405c5d3c5e89" + +S = "${WORKDIR}/git" + +inherit autotools coverity systemd syslog-ng-config-gen logrotate_config +LOGROTATE_NAME="reboot_reason" +LOGROTATE_LOGNAME_reboot_reason="rebootreason.log" +#HDD_ENABLE +LOGROTATE_SIZE_reboot_reason="1572864" +LOGROTATE_ROTATION_reboot_reason="3" +#HDD_DISABLE +LOGROTATE_SIZE_MEM_reboot_reason="1572864" +LOGROTATE_ROTATION_MEM_reboot_reason="3" + +DEPENDS += "commonutilities telemetry rbus" +RDEPENDS:${PN}:append = " bash" + +CFLAGS:append = " -std=c11 -fPIC -D_GNU_SOURCE -Wall -Werror " +EXTRA_OECONF:append = " --enable-t2api=yes" + +# generating minidumps symbols +inherit breakpad-wrapper +BREAKPAD_BIN:append = " rebootnow" +PACKAGECONFIG:append = " breakpad" +PACKAGECONFIG[breakpad] = "--enable-breakpad,,breakpad," + +LDFLAGS += "-lbreakpadwrapper -lpthread -lstdc++" +CXXFLAGS += "-DINCLUDE_BREAKPAD" + +FILES:${PN} += "${bindir}/rebootnow" From 8c05c22f0b36efd0f1938d26b8f33886e3bc14d8 Mon Sep 17 00:00:00 2001 From: rwarier <84991591+rwarier@users.noreply.github.com> Date: Tue, 3 Mar 2026 14:50:35 -0600 Subject: [PATCH 140/274] CPESP-7964 : Tch Xi6 initial bringup (#467) --- conf/template/bblayers.conf.sample | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/template/bblayers.conf.sample b/conf/template/bblayers.conf.sample index 1dbce6f12..b991b7f9a 100644 --- a/conf/template/bblayers.conf.sample +++ b/conf/template/bblayers.conf.sample @@ -26,6 +26,7 @@ BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_OSS_EXT') if d.getVar('MANIFEST_PATH_OSS # Common layers: optional BBLAYERS =+ " ${@d.getVar('MANIFEST_PATH_IMAGE_SUPPORT') if d.getVar('MANIFEST_PATH_IMAGE_SUPPORT') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_IMAGE_SUPPORT') + '/conf/layer.conf') else ''}" +BBLAYERS =+ " ${@d.getVar('MANIFEST_PATH_VENDOR_IMAGE_PACKAGER') if d.getVar('MANIFEST_PATH_VENDOR_IMAGE_PACKAGER') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_VENDOR_IMAGE_PACKAGER') + '/conf/layer.conf') else ''}" # Release layers: generic BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_OSS_RELEASE') if d.getVar('MANIFEST_PATH_OSS_RELEASE') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_OSS_RELEASE') + '/conf/layer.conf') else ''}" From f00828a204bf512531bb4ac0ba69f1a0fb6f492e Mon Sep 17 00:00:00 2001 From: Deepthi C Shetty <115452109+dshett549@users.noreply.github.com> Date: Wed, 4 Mar 2026 05:04:42 +0530 Subject: [PATCH 141/274] RDK-60607: Coverity fix for rtMessage (#597) * RDK-60607: Coverity fix for rtMessage Reason for change: Fix coverity issues Priority: P1 Signed-off-by: Deepthi Co-authored-by: Karunakaran A <48997923+karuna2git@users.noreply.github.com> --- recipes-common/rbus/rbus.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rbus/rbus.bb b/recipes-common/rbus/rbus.bb index aec81ed13..b11915115 100644 --- a/recipes-common/rbus/rbus.bb +++ b/recipes-common/rbus/rbus.bb @@ -5,10 +5,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ed63516ecab9f06e324238dd2b259549" SRC_URI = "git://github.com/rdkcentral/rbus.git;branch=release" -SRCREV = "45f5d1e40d2596b50634f89a2037aaaedb1291d0" +SRCREV = "3e344546469f2ac2daf4314ff6acc7ca718580f6" SRCREV_FORMAT = "base" -PV = "2.11.0" +PV = "2.12.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From 974c37886063014dd8a9d9c6cb60c7320441092e Mon Sep 17 00:00:00 2001 From: Yogeswaran K <166126056+yogeswaransky@users.noreply.github.com> Date: Wed, 4 Mar 2026 08:34:42 +0530 Subject: [PATCH 142/274] RDK-60312: Telemetry Release 1.8.1 (#624) Co-authored-by: Deva --- recipes-common/telemetry/telemetry_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index b211b65ca..fae0ef564 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -4,7 +4,7 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -SRCREV = "5660e9c1811f366837dffb529f93d052c2613857" +SRCREV = "80657f19eb3c29f4837de13e45ec5a969f946b01" SRC_URI = "${CMF_GITHUB_ROOT}/telemetry;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -14,7 +14,7 @@ DEPENDS += "rdk-logger" RDEPENDS:${PN} += "curl cjson glib-2.0 rbus" -PV = "1.8.0" +PV = "1.8.1" PR = "r0" S = "${WORKDIR}/git" From 7e69238383866f7b04d0a0a02056537ad25902b1 Mon Sep 17 00:00:00 2001 From: tabbas651 Date: Thu, 5 Mar 2026 17:03:35 +0000 Subject: [PATCH 143/274] Resolved the Mediatek Build Error --- recipes-devtools/memcapture/memcapture_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-devtools/memcapture/memcapture_git.bb b/recipes-devtools/memcapture/memcapture_git.bb index be5fe49be..d63a08d78 100644 --- a/recipes-devtools/memcapture/memcapture_git.bb +++ b/recipes-devtools/memcapture/memcapture_git.bb @@ -9,7 +9,7 @@ PV = "1.0.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "b796f1532d1863748e4bbe71c9feaada3f5cac50" +SRCREV = "0f959929d2ced006660d44f848ba1ac04222cda9" SRC_URI = "git://github.com/tabbas651/MemCapture.git;branch=main;name=src;destsuffix=git" S = "${WORKDIR}/git" From 2528ca40c342849725ed5f27bb702420fb390fed Mon Sep 17 00:00:00 2001 From: ANANTHMARIMUTHU <49443026+ANANTHMARIMUTHU@users.noreply.github.com> Date: Fri, 6 Mar 2026 19:54:44 +0530 Subject: [PATCH 144/274] RDK-60621 : Data Collection Through T2 Events For Components Logging To btmgrlog.txt (#621) * Update bluetooth-core_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-core_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-core_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-core_git.bb * Update bluetooth-core_git.bb * Update bluetooth-core_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-core_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-core_git.bb * Update bluetooth-core_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-core_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-core_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-core_git.bb * Update bluetooth-core_git.bb * Update bluetooth-core_git.bb * Update bluetooth-core_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-core_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-core_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-core_git.bb * Update bluetooth-core_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-core_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-mgr_git.bb * Update bluetooth-core_git.bb * Update bluetooth-core_git.bb * Update bluetooth-mgr_git.bb --- recipes-connectivity/bluetooth/bluetooth-core_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-connectivity/bluetooth/bluetooth-core_git.bb b/recipes-connectivity/bluetooth/bluetooth-core_git.bb index e7d34d3eb..44e4ec0af 100644 --- a/recipes-connectivity/bluetooth/bluetooth-core_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-core_git.bb @@ -5,11 +5,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" BLUEZ ?= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5', 'bluez4', d), '', d)}" -DEPENDS = "dbus ${BLUEZ} rdk-logger" +DEPENDS = "dbus ${BLUEZ} rdk-logger telemetry" DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " ", d)}" DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'gdbus_bluez5', 'glib-2.0-native', '', d)}" -RDEPENDS:${PN} = "dbus ${BLUEZ} rdk-logger" +RDEPENDS:${PN} = "dbus ${BLUEZ} rdk-logger telemetry" PV = "1.0.8" PR = "r2" From d25c2c55f37af6e9af2d7ac2410a66f239a5e78b Mon Sep 17 00:00:00 2001 From: MonekaLakshmi <101797473+MonekaLakshmi@users.noreply.github.com> Date: Sat, 7 Mar 2026 14:08:34 +0530 Subject: [PATCH 145/274] RDKEMW-14005: Fix Coverity issues (#571) --- recipes-common/lib_syscall_wrapper/libsyswrapper.bb | 2 +- recipes-common/libunpriv/libunpriv.bb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/lib_syscall_wrapper/libsyswrapper.bb b/recipes-common/lib_syscall_wrapper/libsyswrapper.bb index 7c24d9749..dbf8e871b 100644 --- a/recipes-common/lib_syscall_wrapper/libsyswrapper.bb +++ b/recipes-common/lib_syscall_wrapper/libsyswrapper.bb @@ -8,7 +8,7 @@ PR = "r1" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" S = "${WORKDIR}/git" DEPENDS += "rdk-logger" -SRCREV = "5143ba5b92f5dc77b436837d51f2f612d5846b7b" +SRCREV = "69fab9ab4403b7cda68af1d6a095b2cf5749c84f" SRC_URI = "${CMF_GITHUB_ROOT}/libSyscallWrapper;${CMF_GITHUB_SRC_URI_SUFFIX};name=libsyswrapper" #EXTRA_OECONF += "--enable-testapp" CFLAGS:append = " -Wall -Werror" diff --git a/recipes-common/libunpriv/libunpriv.bb b/recipes-common/libunpriv/libunpriv.bb index ce53d7dc7..d76dec7ae 100644 --- a/recipes-common/libunpriv/libunpriv.bb +++ b/recipes-common/libunpriv/libunpriv.bb @@ -5,7 +5,7 @@ S = "${WORKDIR}/git" PV = "1.0.2" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV_rdk-libunpriv = "547d202d421ed83bd60b677b5d057cad3b7ae8ad" +SRCREV_rdk-libunpriv = "2e6c30c88823b7ff9cebde4d7f4d978118510da0" SRC_URI = "${CMF_GITHUB_ROOT}/rdk-libunpriv.git;${CMF_GITHUB_SRC_URI_SUFFIX};name=rdk-libunpriv" SRCREV_FORMAT = "rdk-libunpriv" From 1f8842fb39588a696c17477f40608e15272da64b Mon Sep 17 00:00:00 2001 From: Karthick Swaminathan <85346280+ks734@users.noreply.github.com> Date: Mon, 9 Mar 2026 19:01:15 +0530 Subject: [PATCH 146/274] RDKEMW-15175: Update Dobby to v3.16.2 --- recipes-containers/dobby/dobby.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index d831f0a17..a28326384 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,4 +1,4 @@ SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.16" -PV = "3.16.1+git${SRCPV}" -SRCREV = "d54ef816b97ddc8dcd72d4c4ff485f486500e361" +PV = "3.16.2+git${SRCPV}" +SRCREV = "cab42b60db3afd64da58e3547137f939cac010ba" From 65d2dcf796ff099a6173e0b3cc891db2220713a0 Mon Sep 17 00:00:00 2001 From: Karthick Swaminathan <85346280+ks734@users.noreply.github.com> Date: Mon, 9 Mar 2026 19:14:12 +0530 Subject: [PATCH 147/274] RDKEMW-15175: Update Dobby to v3.16.2 --- recipes-containers/dobby/dobby.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index a28326384..d7ff6e9bc 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,4 +1,4 @@ -SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.16" +SRC_URI = "gitsm://github.com/ks734/Dobby;protocol=https;branch=topic/RDKEMW-12359" PV = "3.16.2+git${SRCPV}" SRCREV = "cab42b60db3afd64da58e3547137f939cac010ba" From 1fb98a644742489b43e357c37d4b21ea082df6a0 Mon Sep 17 00:00:00 2001 From: mkadinti <101405874+mkadinti@users.noreply.github.com> Date: Tue, 10 Mar 2026 10:12:19 +0530 Subject: [PATCH 148/274] Update commonutilities_git.bb (#634) --- recipes-common/utils/commonutilities_git.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-common/utils/commonutilities_git.bb b/recipes-common/utils/commonutilities_git.bb index 100d55019..bd4bb4051 100644 --- a/recipes-common/utils/commonutilities_git.bb +++ b/recipes-common/utils/commonutilities_git.bb @@ -3,7 +3,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=24691c8ce48996ecd1102d29eab1216e" # To have a possibility to override SRC_URI later, we are introducing the following workaround: -SRCREV = "aea4d385f7358ea3d6d5952a985577101db52ddc" +SRCREV = "b75c844bf0da6c856dc98f3c13a8e3c8910fc96f" SRC_URI = "${CMF_GITHUB_ROOT}/common_utilities;module=.;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -24,8 +24,8 @@ LDFLAGS:append = " -lsafec -lsecure_wrapper" CFLAGS:append = " -DRDK_LOGGER" -PV = "1.5.1" -PR = "r1" +PV = "1.5.3" +PR = "r0" S = "${WORKDIR}/git" From f88bb071444d7440095c20e7771b97ebd4c6b3c1 Mon Sep 17 00:00:00 2001 From: "Barone, Damiano (Senior Software Developer - Sky - Guest)" Date: Fri, 27 Feb 2026 17:47:16 +0000 Subject: [PATCH 149/274] RDKEMW-14752: Update bluetooth components to latest 1.0.9 --- recipes-connectivity/bluetooth/bluetooth-core_git.bb | 4 ++-- recipes-connectivity/bluetooth/bluetooth-mgr_git.bb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes-connectivity/bluetooth/bluetooth-core_git.bb b/recipes-connectivity/bluetooth/bluetooth-core_git.bb index 44e4ec0af..e659e58f3 100644 --- a/recipes-connectivity/bluetooth/bluetooth-core_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-core_git.bb @@ -10,12 +10,12 @@ DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'gdbus_bluez5', 'glib-2.0-native', '', d)}" RDEPENDS:${PN} = "dbus ${BLUEZ} rdk-logger telemetry" -PV = "1.0.8" +PV = "1.0.9" PR = "r2" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "e41d0bb5fede75a1dcec133382a1eb890dfa25ac" +SRCREV = "f324dbbf9d0372e6a7c0bb5f10edfb4f22ea67ab" SRCREV_FORMAT = "bluetooth-core" SRC_URI = "${CMF_GITHUB_ROOT}/bluetooth;${CMF_GITHUB_SRC_URI_SUFFIX}" diff --git a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb index d47be2511..361b14cf0 100644 --- a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb @@ -4,11 +4,11 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -PV = "1.0.8" +PV = "1.0.9" PR = "r2" SRCREV_FORMAT = "bluetooth-mgr" -SRCREV = "a3dc2dd172884a0606355c0c6b65a31edc13a816" +SRCREV = "45d87db9bbebacd5cfb6faf3c8a805fb6cbf6134" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/bluetooth_mgr;${CMF_GITHUB_SRC_URI_SUFFIX}" SRC_URI:append = " file://btmgr.conf" From 9db063fa1663f5011b07abcac8dc2580278c1f92 Mon Sep 17 00:00:00 2001 From: Gurdal Oruklu Date: Mon, 9 Mar 2026 20:04:35 +0000 Subject: [PATCH 150/274] RDKEMW-15176: added dobby patch for increased swap limit for containers Change-Id: Ie81f3292f451e48577ee30acecc96d7e623c9ed8 Signed-off-by: Gurdal Oruklu --- recipes-containers/dobby/dobby.bb | 1 + ...creased-swap-limit-for-the-container.patch | 63 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 recipes-containers/dobby/files/0001-RDKEMW-15176-increased-swap-limit-for-the-container.patch diff --git a/recipes-containers/dobby/dobby.bb b/recipes-containers/dobby/dobby.bb index c47dd3d94..b6b8ddcb3 100644 --- a/recipes-containers/dobby/dobby.bb +++ b/recipes-containers/dobby/dobby.bb @@ -8,6 +8,7 @@ SRC_URI:append = " file://Fix_compile_gcc11.patch \ file://Add_config_header_kirkstone.patch \ file://dobby.generic.json \ file://dobby_start_after_apparmor.patch \ + file://0001-RDKEMW-15176-increased-swap-limit-for-the-container.patch \ " PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" diff --git a/recipes-containers/dobby/files/0001-RDKEMW-15176-increased-swap-limit-for-the-container.patch b/recipes-containers/dobby/files/0001-RDKEMW-15176-increased-swap-limit-for-the-container.patch new file mode 100644 index 000000000..b59efd36c --- /dev/null +++ b/recipes-containers/dobby/files/0001-RDKEMW-15176-increased-swap-limit-for-the-container.patch @@ -0,0 +1,63 @@ +From cc93063fc74c867ad07d69975191b70399d77e7e Mon Sep 17 00:00:00 2001 +From: Gurdal Oruklu +Date: Mon, 9 Mar 2026 20:00:35 +0000 +Subject: [PATCH] RDKEMW-15176: increased swap limit for the container + +--- + bundle/lib/source/DobbySpecConfig.cpp | 5 +++++ + .../lib/source/templates/OciConfigJson1.0.2-dobby.template | 2 +- + .../lib/source/templates/OciConfigJsonVM1.0.2-dobby.template | 2 +- + 3 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/bundle/lib/source/DobbySpecConfig.cpp b/bundle/lib/source/DobbySpecConfig.cpp +index 326d428a..d339dfd9 100644 +--- a/bundle/lib/source/DobbySpecConfig.cpp ++++ b/bundle/lib/source/DobbySpecConfig.cpp +@@ -62,6 +62,10 @@ static const ctemplate::StaticTemplateString USERNS_DISABLED = + + static const ctemplate::StaticTemplateString MEM_LIMIT = + STS_INIT(MEM_LIMIT, "MEM_LIMIT"); ++static const ctemplate::StaticTemplateString MEM_SWAP_LIMIT = ++ STS_INIT(MEM_SWAP_LIMIT, "MEM_SWAP_LIMIT"); ++ ++static constexpr unsigned MEM_SWAP_LIMIT_EXTRA_BYTES = 200u * 1024u * 1024u; + + static const ctemplate::StaticTemplateString CPU_SHARES_ENABLED = + STS_INIT(CPU_SHARES_ENABLED, "CPU_SHARES_ENABLED"); +@@ -1274,6 +1278,7 @@ bool DobbySpecConfig::processMemLimit(const Json::Value& value, + } + + dictionary->SetIntValue(MEM_LIMIT, memLimit); ++ dictionary->SetIntValue(MEM_SWAP_LIMIT, memLimit + MEM_SWAP_LIMIT_EXTRA_BYTES); + + return true; + } +diff --git a/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template b/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template +index 6cbdabd4..6b9dd85f 100644 +--- a/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template ++++ b/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template +@@ -328,7 +328,7 @@ static const char* ociJsonTemplate = R"JSON( + ], + "memory": { + "limit": {{MEM_LIMIT}}, +- "swap": {{MEM_LIMIT}}, ++ "swap": {{MEM_SWAP_LIMIT}}, + "swappiness": 60 + }, + "cpu": { +diff --git a/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template b/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template +index 21fe91d3..1dc6eb3b 100644 +--- a/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template ++++ b/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template +@@ -339,7 +339,7 @@ static const char* ociJsonTemplate = R"JSON( + ], + "memory": { + "limit": {{MEM_LIMIT}}, +- "swap": {{MEM_LIMIT}}, ++ "swap": {{MEM_SWAP_LIMIT}}, + "swappiness": 60 + }, + "cpu": { +-- +2.34.1 + From b050da524d0435bab03320b686f201bf3bf9fe28 Mon Sep 17 00:00:00 2001 From: Karthick Swaminathan <85346280+ks734@users.noreply.github.com> Date: Wed, 11 Mar 2026 12:05:51 +0530 Subject: [PATCH 151/274] RDKEMW-15166: Update Dobby to v3.16.2 --- recipes-containers/dobby/dobby.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index d7ff6e9bc..fdce5dafc 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,4 +1,4 @@ -SRC_URI = "gitsm://github.com/ks734/Dobby;protocol=https;branch=topic/RDKEMW-12359" +SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.16" PV = "3.16.2+git${SRCPV}" -SRCREV = "cab42b60db3afd64da58e3547137f939cac010ba" +SRCREV = "73dfcbbd5e73268385b53d61b24cd2c811946953" From 71ac0e17cec73a5060d1a7a07086d84ef6de3dd9 Mon Sep 17 00:00:00 2001 From: ks734 Date: Wed, 11 Mar 2026 08:46:54 +0000 Subject: [PATCH 152/274] RDKEMW-15175: Fix copilot comments --- recipes-containers/dobby/dobby-thunderplugin.bb | 2 -- recipes-containers/dobby/dobby.bb | 2 -- recipes-containers/dobby/dobby.inc | 3 ++- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/recipes-containers/dobby/dobby-thunderplugin.bb b/recipes-containers/dobby/dobby-thunderplugin.bb index 2156a7230..ba22da1cb 100644 --- a/recipes-containers/dobby/dobby-thunderplugin.bb +++ b/recipes-containers/dobby/dobby-thunderplugin.bb @@ -27,5 +27,3 @@ FILES_SOLIBSDEV = "" FILES:${PN} += "${libdir}/plugins/dobby/*.so*" -PV = "3.14.1" -PR = "r0" diff --git a/recipes-containers/dobby/dobby.bb b/recipes-containers/dobby/dobby.bb index c47dd3d94..edf6a927f 100644 --- a/recipes-containers/dobby/dobby.bb +++ b/recipes-containers/dobby/dobby.bb @@ -104,5 +104,3 @@ FILES:${PN} += "${libexecdir}/DobbyInit" FILES:${PN} += "${libdir}/plugins/dobby/*.so*" FILES:${PN} += "${libdir}/libethanlog.so*" FILES:${PN} += "${libdir}/libocispec.so*" -PV = "3.16.0" -PR = "r0" diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index fdce5dafc..34505f45a 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,4 +1,5 @@ SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.16" -PV = "3.16.2+git${SRCPV}" +PV = "3.16.2" +PR = "r0" SRCREV = "73dfcbbd5e73268385b53d61b24cd2c811946953" From 9f34139da2a9c2abcb11f874da977cf584caef89 Mon Sep 17 00:00:00 2001 From: sindhu-krishnan <102755514+sindhu-krishnan@users.noreply.github.com> Date: Thu, 12 Mar 2026 15:27:42 +0530 Subject: [PATCH 153/274] RDKEMW-14726 : Implement Chrony runtime selection for Time Sync (#632) --- conf/distro/rdk.conf | 1 + recipes-common/systimemgr/systimemgr_git.bb | 4 +- recipes-support/chrony/chrony_%.bbappend | 62 +++++ .../chrony/files/chrony-conf-update.sh | 235 ++++++++++++++++++ .../chrony/files/chrony-sync-notify.service | 12 + .../chrony/files/chrony-sync-notify.sh | 79 ++++++ .../chrony/files/chrony-tracking.service | 11 + .../chrony/files/chrony-tracking.timer | 10 + recipes-support/chrony/files/chrony.conf | 26 ++ .../chrony/files/chrony_tracking.sh | 10 + recipes-support/chrony/files/chronyd.service | 18 ++ recipes-support/chrony/files/rdk_chrony.conf | 1 + 12 files changed, 467 insertions(+), 2 deletions(-) create mode 100644 recipes-support/chrony/chrony_%.bbappend create mode 100644 recipes-support/chrony/files/chrony-conf-update.sh create mode 100644 recipes-support/chrony/files/chrony-sync-notify.service create mode 100644 recipes-support/chrony/files/chrony-sync-notify.sh create mode 100644 recipes-support/chrony/files/chrony-tracking.service create mode 100644 recipes-support/chrony/files/chrony-tracking.timer create mode 100644 recipes-support/chrony/files/chrony.conf create mode 100644 recipes-support/chrony/files/chrony_tracking.sh create mode 100644 recipes-support/chrony/files/chronyd.service create mode 100644 recipes-support/chrony/files/rdk_chrony.conf diff --git a/conf/distro/rdk.conf b/conf/distro/rdk.conf index 966b36d16..10b277838 100755 --- a/conf/distro/rdk.conf +++ b/conf/distro/rdk.conf @@ -241,6 +241,7 @@ VOLATILE_BINDS:append = "/var/volatile/asound.conf /etc/asound.conf\n" VOLATILE_BINDS:append = "/var/volatile/resolv.dnsmasq /etc/resolv.dnsmasq\n" VOLATILE_BINDS:append = "/var/volatile/hosts /etc/hosts\n" VOLATILE_BINDS:append = "/var/volatile/hostname /etc/hostname\n" +VOLATILE_BINDS:append = "/var/volatile/rdk_chrony.conf /etc/rdk_chrony.conf\n" VOLATILE_BINDS:append = "/var/volatile/dhcp_static_hosts /etc/dhcp_static_hosts\n" VOLATILE_BINDS:append = "/var/volatile/cron /var/spool/cron\n" VOLATILE_BINDS:append:hybrid = "/tmp/snmpd.conf /etc/snmp/snmpd.conf\n" diff --git a/recipes-common/systimemgr/systimemgr_git.bb b/recipes-common/systimemgr/systimemgr_git.bb index fa344f6fd..fcc9f8723 100755 --- a/recipes-common/systimemgr/systimemgr_git.bb +++ b/recipes-common/systimemgr/systimemgr_git.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" DEPENDS = "systimemgrinetrface systimemgrfactory rdk-logger libsyswrapper wpeframework-clientlibraries telemetry" -SRCREV_systemtimemgr = "f7c52d3ebe5203134d7ecc242f86fbbd96d39c05" +SRCREV_systemtimemgr = "8ee691e928fe927e05a07f9e1c10bf6a0ecf089d" SRC_URI = "${CMF_GITHUB_ROOT}/systemtimemgr;${CMF_GITHUB_SRC_URI_SUFFIX};name=systemtimemgr" SRC_URI:append = " file://systimemgr.conf " @@ -15,7 +15,7 @@ SRC_URI:append = " file://secure.conf " PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRCREV_FORMAT = "systemtimemgr" -PV = "1.4.0" +PV = "1.5.0" PR = "r0" CXXFLAGS += " -I${PKG_CONFIG_SYSROOT_DIR}/${includedir}/WPEFramework/powercontroller" diff --git a/recipes-support/chrony/chrony_%.bbappend b/recipes-support/chrony/chrony_%.bbappend new file mode 100644 index 000000000..5e637665a --- /dev/null +++ b/recipes-support/chrony/chrony_%.bbappend @@ -0,0 +1,62 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +RDEPENDS:${PN} += "bash" + +SRC_URI += "file://chrony.conf \ + file://chronyd.service \ + file://rdk_chrony.conf \ + file://chrony-sync-notify.sh \ + file://chrony-sync-notify.service \ + file://chrony-conf-update.sh \ + file://chrony-tracking.timer \ + file://chrony-tracking.service \ + file://chrony_tracking.sh \ + " +PACKAGECONFIG:remove = "editline" + +do_install:append() { + # Binaries + install -m 0755 ${S}/chronyc ${D}${sbindir} + install -d ${D}${base_libdir}/rdk + + #config File + rm -rf ${D}${sysconfdir}/chrony.conf + install -m 0644 ${WORKDIR}/chrony.conf ${D}${sysconfdir}/ + install -m 0644 ${WORKDIR}/rdk_chrony.conf ${D}${sysconfdir}/ + install -m 0755 ${WORKDIR}/chrony-sync-notify.sh ${D}${base_libdir}/rdk + install -m 0755 ${WORKDIR}/chrony-conf-update.sh ${D}${base_libdir}/rdk + install -m 0755 ${WORKDIR}/chrony_tracking.sh ${D}${base_libdir}/rdk + + + # service to start chrony + rm -rf ${D}${systemd_unitdir}/system/chronyd.service + install -m 0644 ${WORKDIR}/chronyd.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/chrony-sync-notify.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/chrony-tracking.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/chrony-tracking.timer ${D}${systemd_unitdir}/system/ + +} + + +FILES:${PN} += "${sbindir}/chronyc" +FILES:${PN} += "${base_libdir}/rdk/chrony-sync-notify.sh" +CONFFILES:${PN} += "${sysconfdir}/chrony.conf" +CONFFILES:${PN} += "${sysconfdir}/rdk_chrony.conf" +FILES:${PN} += "${base_libdir}/rdk/chrony-conf-update.sh" +FILES:${PN} += "${base_libdir}/rdk/chrony_tracking.sh" +FILES:${PN} += "${systemd_unitdir}/system/chrony-tracking.service" +FILES:${PN} += "${systemd_unitdir}/system/chrony-tracking.timer" +FILES:${PN} += "${systemd_unitdir}/system/chronyd.service" +FILES:${PN} += "${systemd_unitdir}/system/chrony-sync-notify.service" + +SYSTEMD_SERVICE:${PN} += "chronyd.service" +SYSTEMD_SERVICE:${PN} += "chrony-sync-notify.service" +SYSTEMD_SERVICE:${PN} += "chrony-tracking.timer" + + +inherit syslog-ng-config-gen +SYSLOG-NG_FILTER = "chronyd" +SYSLOG-NG_SERVICE_chronyd = "chronyd.service" +SYSLOG-NG_DESTINATION_chronyd = "chrony.log" +SYSLOG-NG_LOGRATE_chronyd = "low" + diff --git a/recipes-support/chrony/files/chrony-conf-update.sh b/recipes-support/chrony/files/chrony-conf-update.sh new file mode 100644 index 000000000..86efd7214 --- /dev/null +++ b/recipes-support/chrony/files/chrony-conf-update.sh @@ -0,0 +1,235 @@ +#!/bin/bash +############################################################################## +# If not stated otherwise in this file or this component's LICENSE file the +# following copyright and licenses apply: +# +# Copyright 2020 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################## +# Purpose : To generate the chrony configuration file (/etc/rdk_chrony.conf) +# Scope : RDK Devices +# Usage : Invoke by systemd service as part of chrony integration + + +LOG_FILE="/opt/logs/chrony.log" +attempts=1 +max_attempts=5 +CHRONY_CONF=/etc/rdk_chrony.conf +DEFAULT_MINPOLL="10" +DEFAULT_MAXPOLL="12" + +if [ -f /etc/env_setup.sh ]; then + . /etc/env_setup.sh +fi + +#create directory if not already available +/bin/mkdir -p /var/lib/chrony + +#Log framework to print timestamp and source script name +ntpLog() +{ + echo "`/bin/timestamp` : $0: $*" >> "$LOG_FILE" +} + +# ----------------------------------------------------------------------------- +# Set system time based on LKG value or build time, if neither is available, log error +# ----------------------------------------------------------------------------- +CLOCK_FILE="/opt/secure/clock.txt" +VERSION_FILE="/version.txt" + +if [ -f "$CLOCK_FILE" ]; then + TIME_VAL=$(cat "$CLOCK_FILE") + if [[ "$TIME_VAL" =~ ^[0-9]+$ ]]; then + HUMAN_DATE=$(date -d "@$TIME_VAL") + ntpLog "Setting system time to LKG: $HUMAN_DATE (epoch $TIME_VAL)" + date -s "@$TIME_VAL" + else + ntpLog "Invalid time value in $CLOCK_FILE" + fi +elif [ -f "$VERSION_FILE" ]; then + BUILD_TIME=$(grep '^BUILD_TIME=' "$VERSION_FILE" | cut -d= -f2- | tr -d '"') + if [ -n "$BUILD_TIME" ]; then + ntpLog "Setting system time to build time: $BUILD_TIME" + date -s "$BUILD_TIME" + else + ntpLog "BUILD_TIME not found in $VERSION_FILE" + fi +else + ntpLog "Neither $CLOCK_FILE nor $VERSION_FILE found" +fi + +# ----------------------------------------------------------------------------- +# Fetch NTP server hostnames and poll intervals using property scripts +# ----------------------------------------------------------------------------- +get_ntp_hosts() { +if [ -f /lib/rdk/getPartnerProperty.sh ]; then + hostName=`/lib/rdk/getPartnerProperty.sh ntpHost` + hostName2=`/lib/rdk/getPartnerProperty.sh ntpHost2` + hostName3=`/lib/rdk/getPartnerProperty.sh ntpHost3` + hostName4=`/lib/rdk/getPartnerProperty.sh ntpHost4` + hostName5=`/lib/rdk/getPartnerProperty.sh ntpHost5` + + minPoll=`/lib/rdk/getPartnerProperty.sh NTPMinpoll` + maxPoll=`/lib/rdk/getPartnerProperty.sh NTPMaxpoll` + + # Fetch directives for each NTP server (optional, fallback to server) + directive1=$( /lib/rdk/getPartnerProperty.sh NTPServer1Directive ) + directive2=$( /lib/rdk/getPartnerProperty.sh NTPServer2Directive ) + directive3=$( /lib/rdk/getPartnerProperty.sh NTPServer3Directive ) + directive4=$( /lib/rdk/getPartnerProperty.sh NTPServer4Directive ) + directive5=$( /lib/rdk/getPartnerProperty.sh NTPServer5Directive ) + + maxstep=`/lib/rdk/getPartnerProperty.sh NTPMaxstep` + +fi +} + +# Fallback: Fetch NTP hosts from bootstrap.ini if property script returns nothing +get_ntp_hosts_from_bootstrap() { + BOOTSTRAP="/opt/secure/RFC/bootstrap.ini" + + if [ ! -f "$BOOTSTRAP" ]; then + ntpLog "bootstrap.ini not found at $BOOTSTRAP" + return 1 + fi + + # Helper to fetch key=value from bootstrap.ini (first match) + get_bs_val() { + key="$1" + # Escape regex metacharacters in key so it is matched literally + escaped_key=$(printf '%s\n' "$key" | sed 's/[][\\.^$*]/\\&/g') + # Extract RHS after '=' and trim whitespace + grep -m1 -E "^[[:space:]]*$escaped_key=" "$BOOTSTRAP" 2>/dev/null | \ + cut -d'=' -f2- | sed 's/^[[:space:]]*//; s/[[:space:]]*$//' + } + + bs1="$(get_bs_val 'Device.Time.NTPServer1')" + bs2="$(get_bs_val 'Device.Time.NTPServer2')" + bs3="$(get_bs_val 'Device.Time.NTPServer3')" + bs4="$(get_bs_val 'Device.Time.NTPServer4')" + bs5="$(get_bs_val 'Device.Time.NTPServer5')" + + # Only fill missing values (don’t override TR-181 values if present) + [ -z "$hostName" ] && hostName="$bs1" + [ -z "$hostName2" ] && hostName2="$bs2" + [ -z "$hostName3" ] && hostName3="$bs3" + [ -z "$hostName4" ] && hostName4="$bs4" + [ -z "$hostName5" ] && hostName5="$bs5" + + return 0 +} + + +ntpLog "Retrieve NTP Server URL from /lib/rdk/getPartnerProperty.sh..." +while [ "$attempts" -le "$max_attempts" ]; do + + ntpLog "Attempt $attempts/$max_attempts to retrieve NTP server URL(s)..." + get_ntp_hosts + + if [ "$hostName" ] || [ "$hostName2" ] || [ "$hostName3" ] || [ "$hostName4" ] || [ "$hostName5" ]; then + break + fi + + # If this is the last attempt, try bootstrap as fallback and then break + if [ $attempts -eq $max_attempts ]; then + ntpLog "TR-181 returned empty NTP server list; falling back to /opt/secure/RFC/bootstrap.ini..." + get_ntp_hosts_from_bootstrap + break + fi + + sleep 3 + attempts=$((attempts + 1)) + +done + +# Use default polling intervals if not configured +# Validate that minPoll is not greater than maxPoll +[ -z "$minPoll" ] && minPoll="$DEFAULT_MINPOLL" +[ -z "$maxPoll" ] && maxPoll="$DEFAULT_MAXPOLL" + +if [ "$minPoll" -gt "$maxPoll" ]; then + ntpLog "ERROR: minPoll ($minPoll) is greater than maxPoll ($maxPoll), resetting both to defaults ($DEFAULT_MINPOLL/$DEFAULT_MAXPOLL)" + minPoll="$DEFAULT_MINPOLL" + maxPoll="$DEFAULT_MAXPOLL" +fi +ntpLog "Minpoll:$minPoll MaxPoll:$maxPoll" + +hosts=("$hostName" "$hostName2" "$hostName3" "$hostName4" "$hostName5") +directives=("$directive1" "$directive2" "$directive3" "$directive4" "$directive5") +ntpLog "NTP Server URL for the partner:${hosts[*]}" + +conf_written=0 +> "$CHRONY_CONF" + +# Add makestep directive to chrony config to control threshold/step correction +if [ -n "$maxstep" ]; then + if echo "$maxstep" | grep -Eq '^[0-9]+(\.[0-9]+)?,[0-9]+$'; then + stepval="${maxstep%%,*}" + stepcount="${maxstep##*,}" + echo "makestep $stepval $stepcount" >> "$CHRONY_CONF" + ntpLog "Added makestep $stepval $stepcount to $CHRONY_CONF" + else + echo "makestep 1.0 3" >> "$CHRONY_CONF" + ntpLog "NTPMaxstep value '$maxstep' is invalid, using default makestep 1.0 3 in $CHRONY_CONF" + fi +else + echo "makestep 1.0 3" >> "$CHRONY_CONF" + ntpLog "NTPMaxstep is not set, using default makestep 1.0 3 in $CHRONY_CONF" +fi + +# Add NTP servers ("server" or "pool" directive) to the configuration file + +for i in $(seq 0 4); do + host="${hosts[$i]}" + directive="${directives[$i]}" + if [ -n "$host" ]; then + # use directive if set, else default to server + [ -z "$directive" ] && directive="server" + + # Only allow server or pool, default to server otherwise + if [ "$directive" != "server" ] && [ "$directive" != "pool" ]; then + directive="server" + fi + + if [ "$directive" = "pool" ]; then + printf "%s %s iburst minpoll %s maxpoll %s maxsources 4\n" "$directive" "$host" "$minPoll" "$maxPoll" >> "$CHRONY_CONF" + else + printf "%s %s iburst minpoll %s maxpoll %s\n" "$directive" "$host" "$minPoll" "$maxPoll" >> "$CHRONY_CONF" + fi + conf_written=1 + fi +done + +# Remove duplicate NTP server entries, preserving only unique definitions + +TMP_FILE="/tmp/rdk_chrony.deduped" +awk ' +/^(server|pool)[ \t]+/ { + if (!seen[$0]++) print + next +} +{ print } +' "$CHRONY_CONF" > "$TMP_FILE" +cat "$TMP_FILE" > "$CHRONY_CONF" +rm -f "$TMP_FILE" + +# Fallback: If no valid NTP hosts found, use Google's public time server +if [ "$conf_written" -eq 0 ]; then + printf "server time.google.com iburst minpoll %s maxpoll %s\n" "$minPoll" "$maxPoll" >> "$CHRONY_CONF" + ntpLog "No valid NTP servers found, using fallback: time.google.com" +fi + +ntpLog "Successfully updated $CHRONY_CONF" + +exit 0 diff --git a/recipes-support/chrony/files/chrony-sync-notify.service b/recipes-support/chrony/files/chrony-sync-notify.service new file mode 100644 index 000000000..12d944059 --- /dev/null +++ b/recipes-support/chrony/files/chrony-sync-notify.service @@ -0,0 +1,12 @@ +[Unit] +Description=Notify when Chrony time sync is completed +Documentation=man:chronyc(1) +After=chronyd.service +ConditionPathExists=/opt/secure/RFC/chrony/chronyd_enabled + +[Service] +Type=simple +ExecStart=/lib/rdk/chrony-sync-notify.sh + +[Install] +WantedBy=chronyd.service diff --git a/recipes-support/chrony/files/chrony-sync-notify.sh b/recipes-support/chrony/files/chrony-sync-notify.sh new file mode 100644 index 000000000..32de42cef --- /dev/null +++ b/recipes-support/chrony/files/chrony-sync-notify.sh @@ -0,0 +1,79 @@ +#!/bin/sh +############################################################################## +# If not stated otherwise in this file or this component's LICENSE file the +# following copyright and licenses apply: +# +# Copyright 2020 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################## +# Purpose : To Notify First synchronisation of chrony +# Scope : RDK Devices +# Usage : Invoke by systemd service as part of chrony integration + +LOG_FILE=/opt/logs/chrony.log +NTP_DIR="/tmp/systimemgr" +NTP_FILE="$NTP_DIR/ntp" +CLOCK_EVENT="/tmp/clock-event" +SYSTEMD_DIR="/var/lib/systemd/" +SYSTEMD_CLOCK="$SYSTEMD_DIR/clock" + +log() { + echo "$1" >> "$LOG_FILE" +} + +is_synced() { + chronyc tracking 2>/dev/null | grep -q "Leap status *: Normal" +} + + +# Wait for sync only if not already synced +#This command will wait until chrony reports that the system clock is synchronized +if is_synced; then + log "Chrony already synchronised" + exit 0 #TBD - Don't log milestones whenever chronyd started + else + log "Waiting for Chrony synchronisation..." + chronyc waitsync 0 0 0 0.1 || { + log "waitsync failed" + exit 1 + } +fi + +if [ ! -f "$CLOCK_EVENT" ]; then +touch "$CLOCK_EVENT" && log "Created $CLOCK_EVENT" +fi + +# Create required directory +if [ ! -d "$NTP_DIR" ]; then + log "Creating $NTP_DIR" + mkdir -p "$NTP_DIR" +fi + +# Create flag files +if [ ! -f "$NTP_FILE" ]; then +touch "$NTP_FILE" && log "Created $NTP_FILE" +fi + +if [ ! -d "$SYSTEMD_DIR" ]; then + log "Creating $SYSTEMD_DIR" + mkdir -p "$SYSTEMD_DIR" +fi + +if [ ! -f "$SYSTEMD_CLOCK" ]; then +touch "$SYSTEMD_CLOCK" && log "Created $SYSTEMD_CLOCK" +fi + +echo "Synchronized" > /tmp/ntp_status + +exit 0 diff --git a/recipes-support/chrony/files/chrony-tracking.service b/recipes-support/chrony/files/chrony-tracking.service new file mode 100644 index 000000000..aa7829a52 --- /dev/null +++ b/recipes-support/chrony/files/chrony-tracking.service @@ -0,0 +1,11 @@ +[Unit] +Description=Chrony telemetry data collection service +After=chronyd.service +ConditionPathExists=/opt/secure/RFC/chrony/chronyd_enabled + +[Service] +Type=oneshot +ExecStart=/lib/rdk/chrony_tracking.sh + +[Install] +WantedBy=multi-user.target diff --git a/recipes-support/chrony/files/chrony-tracking.timer b/recipes-support/chrony/files/chrony-tracking.timer new file mode 100644 index 000000000..6947464e6 --- /dev/null +++ b/recipes-support/chrony/files/chrony-tracking.timer @@ -0,0 +1,10 @@ +[Unit] +Description=Run chrony telemetry collection every 15 minutes + +[Timer] +OnBootSec=120s +OnUnitActiveSec=15min +Unit=chrony-tracking.service + +[Install] +WantedBy=multi-user.target diff --git a/recipes-support/chrony/files/chrony.conf b/recipes-support/chrony/files/chrony.conf new file mode 100644 index 000000000..5b6e925dc --- /dev/null +++ b/recipes-support/chrony/files/chrony.conf @@ -0,0 +1,26 @@ +#Configuration values in this file are defaults and typically do not change. +#Server configurations are added at runtime as it may change based on the partner. + +# The next option causes a message to be written to syslog when chronyd +# has to correct an error above 0.5 seconds (you can use any amount you +# like). +logchange 0.5 + + +# Step the system clock instead of slewing it if the adjustment is larger than +# one second, but only in the first three clock updates. +# makestep 1.0 3 (added based on RFC config in runtime config) + + +# Record the rate at which the system clock gains/losses time. +driftfile /var/lib/chrony/drift + +# This directive can be used +# to enable a mode in which the RTC is periodically set to the system +# time, with no tracking of its drift. +rtcsync + +# Stop bad estimates upsetting machine clock. +maxupdateskew 100.0 + +include /etc/rdk_chrony.conf diff --git a/recipes-support/chrony/files/chrony_tracking.sh b/recipes-support/chrony/files/chrony_tracking.sh new file mode 100644 index 000000000..36135ba9f --- /dev/null +++ b/recipes-support/chrony/files/chrony_tracking.sh @@ -0,0 +1,10 @@ +#!/bin/sh +LOGFILE="/opt/logs/chrony.log" + +timestamp=$(date "+%Y-%m-%d %H:%M:%S") + +{ +echo "$timestamp chrony telemetry:" +chronyc tracking +echo "" +} >> "$LOGFILE" diff --git a/recipes-support/chrony/files/chronyd.service b/recipes-support/chrony/files/chronyd.service new file mode 100644 index 000000000..5df009272 --- /dev/null +++ b/recipes-support/chrony/files/chronyd.service @@ -0,0 +1,18 @@ +[Unit] +Description=NTP client/server +Documentation=man:chronyd(8) man:chrony.conf(5) +Wants=nvram.service tr69hostif.service network-up.target +After=nvram.service tr69hostif.service network-up.target +ConditionPathExists=/opt/secure/RFC/chrony/chronyd_enabled +ConditionCapability=CAP_SYS_TIME + +[Service] +Type=forking +Restart=always +PIDFile=/run/chrony/chronyd.pid +ExecStartPre=/lib/rdk/chrony-conf-update.sh +ExecStart=/usr/sbin/chronyd +ExecStartPost=/lib/rdk/logMilestone.sh "NTP_CLIENT_STARTED" + +[Install] +WantedBy=network-up.target diff --git a/recipes-support/chrony/files/rdk_chrony.conf b/recipes-support/chrony/files/rdk_chrony.conf new file mode 100644 index 000000000..ecd10f7b6 --- /dev/null +++ b/recipes-support/chrony/files/rdk_chrony.conf @@ -0,0 +1 @@ +# Configuration values in this file may change dynamically via TR-181 parameters. From ee67c6c98e09dee33b661dd698d3278765d4c2a7 Mon Sep 17 00:00:00 2001 From: PriyaDharshini_Kathiravan Date: Tue, 17 Mar 2026 14:47:49 +0000 Subject: [PATCH 154/274] RDKEMW-15233: Integrate 0.0.1 release for reboot-manager Signed-off-by: PriyaDharshini_Kathiravan --- recipes-support/reboot-manager/reboot-manager.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-support/reboot-manager/reboot-manager.bb b/recipes-support/reboot-manager/reboot-manager.bb index 964e51c04..578edb6af 100644 --- a/recipes-support/reboot-manager/reboot-manager.bb +++ b/recipes-support/reboot-manager/reboot-manager.bb @@ -11,12 +11,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" FILESEXTRAPATHS:prepend := "${THISDIR}:" -PV = "1.0.0" +PV = "0.0.1" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/reboot-manager;${CMF_GITHUB_SRC_URI_SUFFIX};name=reboot-manager" -SRCREV_reboot-manager = "0b0a0f0dd3536f008f21ae237a3c405c5d3c5e89" +SRCREV_reboot-manager = "1ec3ee37480f93b1d7654ff2b6a55e93b4326c1d" S = "${WORKDIR}/git" From cfad84d45490fa208e45e281b932ec723e37e548 Mon Sep 17 00:00:00 2001 From: nhanasi Date: Thu, 19 Mar 2026 16:29:31 -0400 Subject: [PATCH 155/274] RDKEMW-15263: command injection via /lib/rdk/getRFC.sh (#672) * Update rfc_git.bb * RDKEMW-15263: command injection via /lib/rdk/getRFC.sh --------- Co-authored-by: Saranya2421 --- recipes-common/rfc/rfc_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index 7cfec90f9..86a98313f 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=bef3b9130aa5d626df3f7171f2dadfe2" PACKAGECONFIG ??= "rfctool" PACKAGECONFIG[rfctool] = "--enable-rfctool=yes" -PV = "1.2.1" -PR = "r1" +PV = "1.2.3" +PR = "r0" SRCREV = "904a9167f2cbe87dc34d342e32f5ca16b177432c" SRC_URI = "${CMF_GITHUB_ROOT}/rfc;${CMF_GITHUB_SRC_URI_SUFFIX};name=rfc" From a91a9b5d7ca6831715c9316d0b83da18d5c1b851 Mon Sep 17 00:00:00 2001 From: sindhu-krishnan <102755514+sindhu-krishnan@users.noreply.github.com> Date: Fri, 20 Mar 2026 17:43:36 +0530 Subject: [PATCH 156/274] Update systimemgr_git.bb --- recipes-common/systimemgr/systimemgr_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/systimemgr/systimemgr_git.bb b/recipes-common/systimemgr/systimemgr_git.bb index fcc9f8723..b3aef2586 100755 --- a/recipes-common/systimemgr/systimemgr_git.bb +++ b/recipes-common/systimemgr/systimemgr_git.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" DEPENDS = "systimemgrinetrface systimemgrfactory rdk-logger libsyswrapper wpeframework-clientlibraries telemetry" -SRCREV_systemtimemgr = "8ee691e928fe927e05a07f9e1c10bf6a0ecf089d" +SRCREV_systemtimemgr = "519f014d1bbfcf2ecc135e25c29676bee022a327" SRC_URI = "${CMF_GITHUB_ROOT}/systemtimemgr;${CMF_GITHUB_SRC_URI_SUFFIX};name=systemtimemgr" SRC_URI:append = " file://systimemgr.conf " @@ -15,7 +15,7 @@ SRC_URI:append = " file://secure.conf " PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRCREV_FORMAT = "systemtimemgr" -PV = "1.5.0" +PV = "1.5.1" PR = "r0" CXXFLAGS += " -I${PKG_CONFIG_SYSROOT_DIR}/${includedir}/WPEFramework/powercontroller" From 154ecaeeeec841835d44f33f37c3e5e3b24f364b Mon Sep 17 00:00:00 2001 From: sindhu-krishnan <102755514+sindhu-krishnan@users.noreply.github.com> Date: Fri, 20 Mar 2026 17:50:03 +0530 Subject: [PATCH 157/274] Update chrony-sync-notify.sh --- .../chrony/files/chrony-sync-notify.sh | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/recipes-support/chrony/files/chrony-sync-notify.sh b/recipes-support/chrony/files/chrony-sync-notify.sh index 32de42cef..8a40faab5 100644 --- a/recipes-support/chrony/files/chrony-sync-notify.sh +++ b/recipes-support/chrony/files/chrony-sync-notify.sh @@ -29,9 +29,10 @@ SYSTEMD_DIR="/var/lib/systemd/" SYSTEMD_CLOCK="$SYSTEMD_DIR/clock" log() { - echo "$1" >> "$LOG_FILE" + echo "$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ") chronyd-sync-notify[$$]: $1" >> "$LOG_FILE" } + is_synced() { chronyc tracking 2>/dev/null | grep -q "Leap status *: Normal" } @@ -54,17 +55,6 @@ if [ ! -f "$CLOCK_EVENT" ]; then touch "$CLOCK_EVENT" && log "Created $CLOCK_EVENT" fi -# Create required directory -if [ ! -d "$NTP_DIR" ]; then - log "Creating $NTP_DIR" - mkdir -p "$NTP_DIR" -fi - -# Create flag files -if [ ! -f "$NTP_FILE" ]; then -touch "$NTP_FILE" && log "Created $NTP_FILE" -fi - if [ ! -d "$SYSTEMD_DIR" ]; then log "Creating $SYSTEMD_DIR" mkdir -p "$SYSTEMD_DIR" @@ -76,4 +66,16 @@ fi echo "Synchronized" > /tmp/ntp_status +if [ -d "$NTP_DIR" ]; then + if touch "$NTP_FILE" && chmod 644 "$NTP_FILE"; then + log "Created $NTP_FILE" + else + log "Failed to create or set permissions on $NTP_FILE" + exit 1 + fi +else + log "Directory $NTP_DIR does not exist; cannot create $NTP_FILE" + exit 1 +fi + exit 0 From af210ef8ed1401d19ec19b48ccdf2d9fcef14265 Mon Sep 17 00:00:00 2001 From: sindhu-krishnan <102755514+sindhu-krishnan@users.noreply.github.com> Date: Sun, 22 Mar 2026 21:29:45 +0530 Subject: [PATCH 158/274] Apply suggestion from @Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- recipes-support/chrony/files/chrony-sync-notify.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-support/chrony/files/chrony-sync-notify.sh b/recipes-support/chrony/files/chrony-sync-notify.sh index 8a40faab5..0383f4756 100644 --- a/recipes-support/chrony/files/chrony-sync-notify.sh +++ b/recipes-support/chrony/files/chrony-sync-notify.sh @@ -66,7 +66,7 @@ fi echo "Synchronized" > /tmp/ntp_status -if [ -d "$NTP_DIR" ]; then +if [ -d "$NTP_DIR" ]; then if touch "$NTP_FILE" && chmod 644 "$NTP_FILE"; then log "Created $NTP_FILE" else From 74b78273f21b5adc29abebc705eca65cff1e99c5 Mon Sep 17 00:00:00 2001 From: sindhu-krishnan <102755514+sindhu-krishnan@users.noreply.github.com> Date: Mon, 23 Mar 2026 14:45:05 +0530 Subject: [PATCH 159/274] RDKEMW-15664 : handle deepsleep in chrony (#671) --- recipes-common/systimemgr/systimemgr_git.bb | 4 +-- .../chrony/files/chrony-sync-notify.sh | 26 ++++++++++--------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/recipes-common/systimemgr/systimemgr_git.bb b/recipes-common/systimemgr/systimemgr_git.bb index fcc9f8723..b3aef2586 100755 --- a/recipes-common/systimemgr/systimemgr_git.bb +++ b/recipes-common/systimemgr/systimemgr_git.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" DEPENDS = "systimemgrinetrface systimemgrfactory rdk-logger libsyswrapper wpeframework-clientlibraries telemetry" -SRCREV_systemtimemgr = "8ee691e928fe927e05a07f9e1c10bf6a0ecf089d" +SRCREV_systemtimemgr = "519f014d1bbfcf2ecc135e25c29676bee022a327" SRC_URI = "${CMF_GITHUB_ROOT}/systemtimemgr;${CMF_GITHUB_SRC_URI_SUFFIX};name=systemtimemgr" SRC_URI:append = " file://systimemgr.conf " @@ -15,7 +15,7 @@ SRC_URI:append = " file://secure.conf " PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRCREV_FORMAT = "systemtimemgr" -PV = "1.5.0" +PV = "1.5.1" PR = "r0" CXXFLAGS += " -I${PKG_CONFIG_SYSROOT_DIR}/${includedir}/WPEFramework/powercontroller" diff --git a/recipes-support/chrony/files/chrony-sync-notify.sh b/recipes-support/chrony/files/chrony-sync-notify.sh index 32de42cef..8a40faab5 100644 --- a/recipes-support/chrony/files/chrony-sync-notify.sh +++ b/recipes-support/chrony/files/chrony-sync-notify.sh @@ -29,9 +29,10 @@ SYSTEMD_DIR="/var/lib/systemd/" SYSTEMD_CLOCK="$SYSTEMD_DIR/clock" log() { - echo "$1" >> "$LOG_FILE" + echo "$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ") chronyd-sync-notify[$$]: $1" >> "$LOG_FILE" } + is_synced() { chronyc tracking 2>/dev/null | grep -q "Leap status *: Normal" } @@ -54,17 +55,6 @@ if [ ! -f "$CLOCK_EVENT" ]; then touch "$CLOCK_EVENT" && log "Created $CLOCK_EVENT" fi -# Create required directory -if [ ! -d "$NTP_DIR" ]; then - log "Creating $NTP_DIR" - mkdir -p "$NTP_DIR" -fi - -# Create flag files -if [ ! -f "$NTP_FILE" ]; then -touch "$NTP_FILE" && log "Created $NTP_FILE" -fi - if [ ! -d "$SYSTEMD_DIR" ]; then log "Creating $SYSTEMD_DIR" mkdir -p "$SYSTEMD_DIR" @@ -76,4 +66,16 @@ fi echo "Synchronized" > /tmp/ntp_status +if [ -d "$NTP_DIR" ]; then + if touch "$NTP_FILE" && chmod 644 "$NTP_FILE"; then + log "Created $NTP_FILE" + else + log "Failed to create or set permissions on $NTP_FILE" + exit 1 + fi +else + log "Directory $NTP_DIR does not exist; cannot create $NTP_FILE" + exit 1 +fi + exit 0 From 802d3fb87ea8ae5213fe4f29fd9fc040b2d1ac6a Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Tue, 24 Mar 2026 11:27:28 +0530 Subject: [PATCH 160/274] RDKEMW-15467 : do_populate_sdk task fails for MW test image with reboot-manager-dev (#662) --- recipes-support/reboot-manager/reboot-manager.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-support/reboot-manager/reboot-manager.bb b/recipes-support/reboot-manager/reboot-manager.bb index 578edb6af..d88bbd300 100644 --- a/recipes-support/reboot-manager/reboot-manager.bb +++ b/recipes-support/reboot-manager/reboot-manager.bb @@ -11,12 +11,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" FILESEXTRAPATHS:prepend := "${THISDIR}:" -PV = "0.0.1" +PV = "0.0.3" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/reboot-manager;${CMF_GITHUB_SRC_URI_SUFFIX};name=reboot-manager" -SRCREV_reboot-manager = "1ec3ee37480f93b1d7654ff2b6a55e93b4326c1d" +SRCREV_reboot-manager = "f2a9156357672dee4e57773ed934ce9a83ab22e0" S = "${WORKDIR}/git" From a1b4e6c89169ef8dd08d74969f908171a7ad6025 Mon Sep 17 00:00:00 2001 From: madhubabutt <114217841+madhubabutt@users.noreply.github.com> Date: Tue, 24 Mar 2026 17:09:29 +0530 Subject: [PATCH 161/274] RDK-60307 [RRD] RDK Coverity Defect Resolution for Device Management (#585) Co-authored-by: mtirum011 --- recipes-extended/remotedebugger/remotedebugger.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-extended/remotedebugger/remotedebugger.bb b/recipes-extended/remotedebugger/remotedebugger.bb index a6352b678..855050dc7 100644 --- a/recipes-extended/remotedebugger/remotedebugger.bb +++ b/recipes-extended/remotedebugger/remotedebugger.bb @@ -2,14 +2,14 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" -PV = "1.2.9" +PV = "1.3.2" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "c613c0bd537704af56f7fdbf4a68a52edda1a64c" +SRCREV = "8f793e69b6b2b91a27c6a8148014207788503efa" SRC_URI = "${CMF_GITHUB_ROOT}/remote_debugger;${CMF_GITHUB_SRC_URI_SUFFIX};name=generic" SRCREV_FORMAT = "generic" -# Release version - 1.3.1 +# Release version - 1.3.2 S = "${WORKDIR}/git" CFLAGS += " -Wall -Werror" From 7693d3262d910bc296294dd9ad04df5db31e7cc6 Mon Sep 17 00:00:00 2001 From: "Barone, Damiano (Senior Software Developer - Sky - Guest)" Date: Tue, 24 Mar 2026 14:35:07 +0000 Subject: [PATCH 162/274] RDKEMW-15944: Update bluetooth components to latest for gaming changes 1.0.10 --- recipes-connectivity/bluetooth/bluetooth-core_git.bb | 4 ++-- recipes-connectivity/bluetooth/bluetooth-mgr_git.bb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes-connectivity/bluetooth/bluetooth-core_git.bb b/recipes-connectivity/bluetooth/bluetooth-core_git.bb index e659e58f3..e8ce3ddd4 100644 --- a/recipes-connectivity/bluetooth/bluetooth-core_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-core_git.bb @@ -10,12 +10,12 @@ DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'gdbus_bluez5', 'glib-2.0-native', '', d)}" RDEPENDS:${PN} = "dbus ${BLUEZ} rdk-logger telemetry" -PV = "1.0.9" +PV = "1.0.10" PR = "r2" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "f324dbbf9d0372e6a7c0bb5f10edfb4f22ea67ab" +SRCREV = "081ba11075e6101fcaef90d3d1b5028ed10515fc" SRCREV_FORMAT = "bluetooth-core" SRC_URI = "${CMF_GITHUB_ROOT}/bluetooth;${CMF_GITHUB_SRC_URI_SUFFIX}" diff --git a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb index 361b14cf0..1492dbfa0 100644 --- a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb @@ -4,11 +4,11 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -PV = "1.0.9" +PV = "1.0.10" PR = "r2" SRCREV_FORMAT = "bluetooth-mgr" -SRCREV = "45d87db9bbebacd5cfb6faf3c8a805fb6cbf6134" +SRCREV = "e05efec1f91a2134b3f91198f61c76ba3c4f9fd6" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/bluetooth_mgr;${CMF_GITHUB_SRC_URI_SUFFIX}" SRC_URI:append = " file://btmgr.conf" From f6a5e8a4d2e3bef8e536787963d7fc71b7e18292 Mon Sep 17 00:00:00 2001 From: nhanasi Date: Tue, 24 Mar 2026 11:08:58 -0400 Subject: [PATCH 163/274] Revert "RDKEMW-15263: command injection via /lib/rdk/getRFC.sh (#672)" This reverts commit cfad84d45490fa208e45e281b932ec723e37e548. --- recipes-common/rfc/rfc_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index 86a98313f..7cfec90f9 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=bef3b9130aa5d626df3f7171f2dadfe2" PACKAGECONFIG ??= "rfctool" PACKAGECONFIG[rfctool] = "--enable-rfctool=yes" -PV = "1.2.3" -PR = "r0" +PV = "1.2.1" +PR = "r1" SRCREV = "904a9167f2cbe87dc34d342e32f5ca16b177432c" SRC_URI = "${CMF_GITHUB_ROOT}/rfc;${CMF_GITHUB_SRC_URI_SUFFIX};name=rfc" From fddf930653ad063107830e3999227fa5e5d00a7c Mon Sep 17 00:00:00 2001 From: tabbas651 Date: Tue, 24 Mar 2026 16:27:46 +0000 Subject: [PATCH 164/274] Update the GeyGPUmemory changes --- recipes-devtools/memcapture/memcapture_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-devtools/memcapture/memcapture_git.bb b/recipes-devtools/memcapture/memcapture_git.bb index d63a08d78..0c43c09d3 100644 --- a/recipes-devtools/memcapture/memcapture_git.bb +++ b/recipes-devtools/memcapture/memcapture_git.bb @@ -9,7 +9,7 @@ PV = "1.0.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "0f959929d2ced006660d44f848ba1ac04222cda9" +SRCREV = "19e569a6eb71cee22389275a328d8141fc21fea1" SRC_URI = "git://github.com/tabbas651/MemCapture.git;branch=main;name=src;destsuffix=git" S = "${WORKDIR}/git" From b40bf74866adbd032bb5546e57bb43a346435c5d Mon Sep 17 00:00:00 2001 From: PriyaDharshini_Kathiravan Date: Tue, 24 Mar 2026 16:53:23 +0000 Subject: [PATCH 165/274] RDKEMW-15233: Integrate Telemetry Release 1.8.5 Signed-off-by: PriyaDharshini_Kathiravan --- recipes-common/telemetry/telemetry_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index fae0ef564..acd8e96c1 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -4,7 +4,7 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -SRCREV = "80657f19eb3c29f4837de13e45ec5a969f946b01" +SRCREV = "6ec93e1ec9d22bb2e14a2f771b648464f08a71ef" SRC_URI = "${CMF_GITHUB_ROOT}/telemetry;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -14,7 +14,7 @@ DEPENDS += "rdk-logger" RDEPENDS:${PN} += "curl cjson glib-2.0 rbus" -PV = "1.8.1" +PV = "1.8.5" PR = "r0" S = "${WORKDIR}/git" From 3791201d99b6056fab288fab4a51cf8248ea4652 Mon Sep 17 00:00:00 2001 From: nhanasi Date: Tue, 24 Mar 2026 15:12:21 -0400 Subject: [PATCH 166/274] Update rfc_git.bb (#570) Co-authored-by: Vismal S Kumar --- recipes-common/rfc/rfc_git.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index 7cfec90f9..9483842ca 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=bef3b9130aa5d626df3f7171f2dadfe2" PACKAGECONFIG ??= "rfctool" PACKAGECONFIG[rfctool] = "--enable-rfctool=yes" -PV = "1.2.1" -PR = "r1" +PV = "1.2.2" +PR = "r0" -SRCREV = "904a9167f2cbe87dc34d342e32f5ca16b177432c" +SRCREV = "75608f82bb7fcfcb76ffd510460ac1c6e2829d22" SRC_URI = "${CMF_GITHUB_ROOT}/rfc;${CMF_GITHUB_SRC_URI_SUFFIX};name=rfc" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" S = "${WORKDIR}/git" From f05aff324de93f7f8ee270663299128a0d34e9b4 Mon Sep 17 00:00:00 2001 From: plaksh002c-public Date: Tue, 24 Mar 2026 19:52:04 -0400 Subject: [PATCH 167/274] RDKEMW-15233: Integrate 0.0.1 release for reboot-manager --- recipes-support/reboot-manager/reboot-manager.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-support/reboot-manager/reboot-manager.bb b/recipes-support/reboot-manager/reboot-manager.bb index 964e51c04..578edb6af 100644 --- a/recipes-support/reboot-manager/reboot-manager.bb +++ b/recipes-support/reboot-manager/reboot-manager.bb @@ -11,12 +11,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" FILESEXTRAPATHS:prepend := "${THISDIR}:" -PV = "1.0.0" +PV = "0.0.1" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/reboot-manager;${CMF_GITHUB_SRC_URI_SUFFIX};name=reboot-manager" -SRCREV_reboot-manager = "0b0a0f0dd3536f008f21ae237a3c405c5d3c5e89" +SRCREV_reboot-manager = "1ec3ee37480f93b1d7654ff2b6a55e93b4326c1d" S = "${WORKDIR}/git" From 93a34ad0cbfc6f1fecaf646e91aa629ac122e6bf Mon Sep 17 00:00:00 2001 From: plaksh002c-public Date: Tue, 24 Mar 2026 19:57:50 -0400 Subject: [PATCH 168/274] RDKEMW-15233: Integrate Telemetry Release 1.8.5 --- recipes-common/telemetry/telemetry_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index fae0ef564..acd8e96c1 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -4,7 +4,7 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -SRCREV = "80657f19eb3c29f4837de13e45ec5a969f946b01" +SRCREV = "6ec93e1ec9d22bb2e14a2f771b648464f08a71ef" SRC_URI = "${CMF_GITHUB_ROOT}/telemetry;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -14,7 +14,7 @@ DEPENDS += "rdk-logger" RDEPENDS:${PN} += "curl cjson glib-2.0 rbus" -PV = "1.8.1" +PV = "1.8.5" PR = "r0" S = "${WORKDIR}/git" From 1ba2ee686b0006bc0ae3ce4a865f5320fb6e93e5 Mon Sep 17 00:00:00 2001 From: tabbas651 <74683978+tabbas651@users.noreply.github.com> Date: Thu, 26 Mar 2026 16:22:26 -0400 Subject: [PATCH 169/274] Update memcapture_git.bb --- recipes-devtools/memcapture/memcapture_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-devtools/memcapture/memcapture_git.bb b/recipes-devtools/memcapture/memcapture_git.bb index 0c43c09d3..c4817c8bc 100644 --- a/recipes-devtools/memcapture/memcapture_git.bb +++ b/recipes-devtools/memcapture/memcapture_git.bb @@ -5,11 +5,11 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=1b8525f92b462b86205ffaba159b4481" -PV = "1.0.0" +PV = "2.0.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "19e569a6eb71cee22389275a328d8141fc21fea1" +SRCREV = "7a35fcd0508f4d9d9e0e392c8ed9ce24759e2479" SRC_URI = "git://github.com/tabbas651/MemCapture.git;branch=main;name=src;destsuffix=git" S = "${WORKDIR}/git" From 4e4daf55d771eb0c438e86c456aba73e7c243af7 Mon Sep 17 00:00:00 2001 From: tabbas651 <74683978+tabbas651@users.noreply.github.com> Date: Thu, 26 Mar 2026 16:22:56 -0400 Subject: [PATCH 170/274] Update memcapture_git.bb --- recipes-devtools/memcapture/memcapture_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-devtools/memcapture/memcapture_git.bb b/recipes-devtools/memcapture/memcapture_git.bb index c4817c8bc..64ef22646 100644 --- a/recipes-devtools/memcapture/memcapture_git.bb +++ b/recipes-devtools/memcapture/memcapture_git.bb @@ -10,7 +10,7 @@ PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRCREV = "7a35fcd0508f4d9d9e0e392c8ed9ce24759e2479" -SRC_URI = "git://github.com/tabbas651/MemCapture.git;branch=main;name=src;destsuffix=git" +SRC_URI = "git://github.com/rdkcentral/MemCapture.git;branch=main;name=src;destsuffix=git" S = "${WORKDIR}/git" B = "${WORKDIR}/build" From b45401a0e786a47d35a4755425325c78d141b275 Mon Sep 17 00:00:00 2001 From: tabbas651 <74683978+tabbas651@users.noreply.github.com> Date: Thu, 26 Mar 2026 16:23:13 -0400 Subject: [PATCH 171/274] Update memcapture_git.bb --- recipes-devtools/memcapture/memcapture_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-devtools/memcapture/memcapture_git.bb b/recipes-devtools/memcapture/memcapture_git.bb index 64ef22646..2ed0a7386 100644 --- a/recipes-devtools/memcapture/memcapture_git.bb +++ b/recipes-devtools/memcapture/memcapture_git.bb @@ -10,7 +10,7 @@ PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRCREV = "7a35fcd0508f4d9d9e0e392c8ed9ce24759e2479" -SRC_URI = "git://github.com/rdkcentral/MemCapture.git;branch=main;name=src;destsuffix=git" +SRC_URI = "git://github.com/RDKCentral/MemCapture.git;branch=main;name=src;destsuffix=git" S = "${WORKDIR}/git" B = "${WORKDIR}/build" From 10d3a10070734094f260f1ae0c103db453bbaa67 Mon Sep 17 00:00:00 2001 From: Gene Gallagher <129112619+egalla204@users.noreply.github.com> Date: Mon, 30 Mar 2026 15:29:46 -0400 Subject: [PATCH 172/274] Merge pull request #679 from rdkcentral/feature/RDKEMW-15815_stop_ctrlm_before_bluez-r8530 RDKEMW-15815: [8.5.3.0] stop ctrlm-main service before bluez for graceful reboot --- recipes-support/reboot-manager/reboot-manager.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-support/reboot-manager/reboot-manager.bb b/recipes-support/reboot-manager/reboot-manager.bb index 578edb6af..a1c55a236 100644 --- a/recipes-support/reboot-manager/reboot-manager.bb +++ b/recipes-support/reboot-manager/reboot-manager.bb @@ -11,12 +11,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" FILESEXTRAPATHS:prepend := "${THISDIR}:" -PV = "0.0.1" +PV = "1.0.0v1" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/reboot-manager;${CMF_GITHUB_SRC_URI_SUFFIX};name=reboot-manager" -SRCREV_reboot-manager = "1ec3ee37480f93b1d7654ff2b6a55e93b4326c1d" +SRCREV_reboot-manager = "b8987f5c21ceebeeb178916246f8421394e7faf6" S = "${WORKDIR}/git" From e2e1175f73e119f07c16262ca4489b3dcaf50431 Mon Sep 17 00:00:00 2001 From: rosemarybennyy Date: Tue, 31 Mar 2026 10:34:39 +0530 Subject: [PATCH 173/274] RDK-60558 : RDK Coverity Defect Resolution for RDM Agent (#710) --- recipes-support/rdmagent/rdmagent.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-support/rdmagent/rdmagent.bb b/recipes-support/rdmagent/rdmagent.bb index 3098b1706..7f2877ccd 100644 --- a/recipes-support/rdmagent/rdmagent.bb +++ b/recipes-support/rdmagent/rdmagent.bb @@ -8,14 +8,14 @@ DEPENDS += "rbus" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=8700a1d105cac2a90d4f51290ac6e466" -PV = "2.1.3" -PR = "r1" +PV = "2.2.1" +PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "18f68fc271daa1259b22a0707ff73765ae96da0a" +SRCREV = "88275f47091685af624e51f076c84fc03dfe8bda" SRC_URI = "${CMF_GITHUB_ROOT}/rdm-agent;${CMF_GITHUB_SRC_URI_SUFFIX};name=rdmagent" SRCREV_FORMAT = "rdmagent" From 0e4786293a2929cf42902a48508353796014ba08 Mon Sep 17 00:00:00 2001 From: nhanasi Date: Tue, 31 Mar 2026 21:19:35 -0400 Subject: [PATCH 174/274] RDK-61009: Port Log Backup Scripts to Source code (#712) --- recipes-common/dcmd/dcmd.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/dcmd/dcmd.bb b/recipes-common/dcmd/dcmd.bb index 60ab36dd0..1b434dcde 100644 --- a/recipes-common/dcmd/dcmd.bb +++ b/recipes-common/dcmd/dcmd.bb @@ -12,9 +12,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2441d6cdabdc0f370be5cd8a746eb647" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "86c47550324d871f804446459dbb0a30814d5a2a" +SRCREV = "10721084f1b5d32d0bf64cefa8f103eab7b02ad8" SRC_URI = "${CMF_GITHUB_ROOT}/dcm-agent;${CMF_GITHUB_SRC_URI_SUFFIX}" -PV = "2.0.3" +PV = "2.1.1" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From 0223e6ade3d304692dda880403cb24d044a3a37c Mon Sep 17 00:00:00 2001 From: Arjun-DR <90032581+Arjun-DR@users.noreply.github.com> Date: Wed, 1 Apr 2026 10:30:33 +0530 Subject: [PATCH 175/274] RDKEMW-16410: Enable rm_work in middleware (#718) --- conf/distro/include/rm_work.inc | 17 +++++++++++++++++ conf/distro/rdk.conf | 1 + 2 files changed, 18 insertions(+) create mode 100644 conf/distro/include/rm_work.inc diff --git a/conf/distro/include/rm_work.inc b/conf/distro/include/rm_work.inc new file mode 100644 index 000000000..b32490349 --- /dev/null +++ b/conf/distro/include/rm_work.inc @@ -0,0 +1,17 @@ +# Enable the rm_work class so the build system automatically removes per-recipe work directories once they are no longer needed (typically after the recipe has successfully produced packages). + +# Key Risk / Developer Impact : Enabling rm_work can delete recipe work directories that developers sometimes use for: +# - editing sources directly under ${TMPDIR}/work/... +# - manual debugging of build output +# - post-failure investigation using intermediate artifacts + +# Risk: If developers modify/build source code directly in a recipe's work directory, those changes can be lost when rm_work cleans that recipe. + +# Mitigation / Exclusions : Exclude selected recipes from cleanup using RM_WORK_EXCLUDE in local.conf (e.g., recipes actively being developed/debugged): +# example: RM_WORK_EXCLUDE += "busybox glibc" + +# This allows active development/debug recipes to retain their work directories while the rest of the build benefits from cleanup. +INHERIT += "rm_work" + +# Excluding rm_work for middleware-test-image and rdk-fullstack-image as some oem tasks might need the full stack image's packages after do_rootfs. +RM_WORK_EXCLUDE += "${MLPREFIX}middleware-test-image ${MLPREFIX}rdk-fullstack-image" diff --git a/conf/distro/rdk.conf b/conf/distro/rdk.conf index 10b277838..adb074472 100755 --- a/conf/distro/rdk.conf +++ b/conf/distro/rdk.conf @@ -258,6 +258,7 @@ VOLATILE_BINDS:append = "/tmp/stunnel.conf /etc/stunnel.conf\n" XZ_COMPRESSION_LEVEL ?= "-e -M 50% -9" include include/rdk-external-src.inc +include include/rm_work.inc DISTRO_FEATURES:append = " netflix_wayland_client" #DISTRO_FEATURES:append = " netflix_essos_client" From af2d08728840e379021a8b32b6b3854f0bae7598 Mon Sep 17 00:00:00 2001 From: Arjun-DR <90032581+Arjun-DR@users.noreply.github.com> Date: Wed, 1 Apr 2026 14:42:57 +0530 Subject: [PATCH 176/274] RDKEMW-16478:Middleware Builds fail to upload IPKS Reason for change: Build Scripts use opkg-make-index to generate packages.gz to upload the ipks. Since it is missing, it fails to upload ipks. --- conf/distro/include/rm_work.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conf/distro/include/rm_work.inc b/conf/distro/include/rm_work.inc index b32490349..27803e6d6 100644 --- a/conf/distro/include/rm_work.inc +++ b/conf/distro/include/rm_work.inc @@ -15,3 +15,6 @@ INHERIT += "rm_work" # Excluding rm_work for middleware-test-image and rdk-fullstack-image as some oem tasks might need the full stack image's packages after do_rootfs. RM_WORK_EXCLUDE += "${MLPREFIX}middleware-test-image ${MLPREFIX}rdk-fullstack-image" + +# Excluding rm_work for opkg-utils-native as build scripts use "opkg-make-index" to upload the packages. +RM_WORK_EXCLUDE += " opkg-utils-native" From c86a0bfdd9ad14ce44ae8c7139583e890f1e1a42 Mon Sep 17 00:00:00 2001 From: madhubabutt <114217841+madhubabutt@users.noreply.github.com> Date: Wed, 1 Apr 2026 20:28:09 +0530 Subject: [PATCH 177/274] RDKEMW-12450 : Move platform components to github (#686) --- .../sys_mon_tools/sys-resource_git.bb | 32 ------------------- .../packagegroup-rdk-mediaserver.bb | 1 - 2 files changed, 33 deletions(-) delete mode 100644 recipes-common/sys_mon_tools/sys-resource_git.bb diff --git a/recipes-common/sys_mon_tools/sys-resource_git.bb b/recipes-common/sys_mon_tools/sys-resource_git.bb deleted file mode 100644 index f5eaaa9f6..000000000 --- a/recipes-common/sys_mon_tools/sys-resource_git.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "Sys mon tool - SYS RESOURCE recipe" - -DESCRIPTION = "Sys mon tool - SYS RESOURCE recipe" - -SECTION = "console/utils" - -include sys_mon_tools.inc - -SYSMONTOOL_NAME = "sys_resource" - - -export USE_SYS_RESOURCE_MLT="y" -export USE_IDLE_MLT="y" -export USE_MPEMEDIATUNE_MLT="n" -export USE_SYS_RESOURCE_MON="y" -export USE_SYSRES_PLATFORM="LINUX" - -PACKAGECONFIG = "sys-resource-mlt analyze-idle-mlt mlt-bt" -PACKAGECONFIG[sys-resource-mlt] = "--enable-sys-resource-mlt,,," -PACKAGECONFIG[analyze-idle-mlt] = "--enable-analyze-idle-mlt,,," -PACKAGECONFIG[lnk-mlt] = "--enable-lnk-mlt,,," -PACKAGECONFIG[file-wdr] = "--enable-file-wdr,,," -PACKAGECONFIG[cmas-cp] = "--enable-cmas-cp,,," -PACKAGECONFIG[cmas-it] = "--enable-cmas-it,,," -PACKAGECONFIG[mlt-bt] = "--enable-mlt-bt,,," -PACKAGECONFIG[cmat-sstats] = "--enable-cmat-sstats,,," - -CFLAGS:append:broadband = " -DRDK_BROADBAND" -CXXFLAGS:append:broadband = " -DRDK_BROADBAND" - - -inherit autotools pkgconfig coverity diff --git a/recipes-core/packagegroups/packagegroup-rdk-mediaserver.bb b/recipes-core/packagegroups/packagegroup-rdk-mediaserver.bb index 0d8e194cc..fe0d30df9 100644 --- a/recipes-core/packagegroups/packagegroup-rdk-mediaserver.bb +++ b/recipes-core/packagegroups/packagegroup-rdk-mediaserver.bb @@ -17,7 +17,6 @@ RDEPENDS:packagegroup-rdk-generic-mediaserver = "\ hdparm \ dibbler-client \ procps \ - sys-utils \ xfsprogs \ ntp \ power-state-monitor \ From 4197a4f47e7c0d731ffd931bd510f95de65bc5b9 Mon Sep 17 00:00:00 2001 From: tabbas651 <74683978+tabbas651@users.noreply.github.com> Date: Thu, 2 Apr 2026 10:18:33 -0400 Subject: [PATCH 178/274] Update memcapture_git.bb --- recipes-devtools/memcapture/memcapture_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-devtools/memcapture/memcapture_git.bb b/recipes-devtools/memcapture/memcapture_git.bb index 2ed0a7386..c0cf3b79e 100644 --- a/recipes-devtools/memcapture/memcapture_git.bb +++ b/recipes-devtools/memcapture/memcapture_git.bb @@ -5,11 +5,11 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=1b8525f92b462b86205ffaba159b4481" -PV = "2.0.0" +PV = "2.0.1" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "7a35fcd0508f4d9d9e0e392c8ed9ce24759e2479" +SRCREV = "1b826d585dd32426d834bf25540606d9ea879b49" SRC_URI = "git://github.com/RDKCentral/MemCapture.git;branch=main;name=src;destsuffix=git" S = "${WORKDIR}/git" From 2a49dfac017d7bcbcdaadb1b7f73c27c2bc74d06 Mon Sep 17 00:00:00 2001 From: svc_rdkgerrit02 Date: Fri, 3 Apr 2026 17:39:19 +0000 Subject: [PATCH 179/274] Adding changelog --- CHANGELOG.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86b281a61..565702757 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,37 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [1.17.0](https://github.com/rdkcentral/meta-rdk/compare/1.16.0...1.17.0) + +- RDKEMW-15815: [8.5.3.0] stop ctrlm-main service before bluez for graceful reboot [`#679`](https://github.com/rdkcentral/meta-rdk/pull/679) +- RDKEMW-15233: Integrate Telemetry Release 1.8.5 [`#694`](https://github.com/rdkcentral/meta-rdk/pull/694) +- RDKEMW-15233: Integrate 0.0.1 release for reboot-manager [`#693`](https://github.com/rdkcentral/meta-rdk/pull/693) +- RDKEMW-15783: Handle deepsleep case with chronyd [`#677`](https://github.com/rdkcentral/meta-rdk/pull/677) +- RDKEMW-15176: added dobby patch for increased swap limit for containers [`#660`](https://github.com/rdkcentral/meta-rdk/pull/660) +- RDKEMW-15178: Update Dobby to v3.16.2 [`#650`](https://github.com/rdkcentral/meta-rdk/pull/650) +- RDKEMW-14752: Update bluetooth components to latest 1.0.9 [`#623`](https://github.com/rdkcentral/meta-rdk/pull/623) +- RDKEMW-15175: Update Dobby to v3.16.2 [`#640`](https://github.com/rdkcentral/meta-rdk/pull/640) +- RDKEMW-14726 : Implement Chrony runtime selection for Time Sync [`#632`](https://github.com/rdkcentral/meta-rdk/pull/632) +- Update commonutilities_git.bb [`#634`](https://github.com/rdkcentral/meta-rdk/pull/634) +- RDKEMW-14005: Fix Coverity issues [`#571`](https://github.com/rdkcentral/meta-rdk/pull/571) +- RDK-60621 : Data Collection Through T2 Events For Components Logging To btmgrlog.txt [`#621`](https://github.com/rdkcentral/meta-rdk/pull/621) +- RDK-60312: Telemetry Release 1.8.1 [`#624`](https://github.com/rdkcentral/meta-rdk/pull/624) +- RDK-60607: Coverity fix for rtMessage [`#597`](https://github.com/rdkcentral/meta-rdk/pull/597) +- CPESP-7964 : Tch Xi6 initial bringup [`#467`](https://github.com/rdkcentral/meta-rdk/pull/467) +- RDK-59974 : Migrate rebootNow script to C - Implementation [`#564`](https://github.com/rdkcentral/meta-rdk/pull/564) +- RDKEMW-14025: Back-merge Release Branch to 'develop' for MW 8.5.2.0 Monthly Release [`#611`](https://github.com/rdkcentral/meta-rdk/pull/611) +- RDKEMW-14300 : Pull RDKLogger latest to get all features of v3.1.0 [`#601`](https://github.com/rdkcentral/meta-rdk/pull/601) +- RDKEMW-4941 : bcm bb/bbappend analysis for bluetooth-mgr [`#566`](https://github.com/rdkcentral/meta-rdk/pull/566) +- RDKEMW-13417 : Update SRCREV for crashupload v2.0.1 [`#529`](https://github.com/rdkcentral/meta-rdk/pull/529) +- RDKEMW-14095: Extend the allowed JIRA buckets list in commit messages [`#572`](https://github.com/rdkcentral/meta-rdk/pull/572) +- Update chrony-sync-notify.sh [`154ecae`](https://github.com/rdkcentral/meta-rdk/commit/154ecaeeeec841835d44f33f37c3e5e3b24f364b) +- RDKEMW-15175: Fix copilot comments [`71ac0e1`](https://github.com/rdkcentral/meta-rdk/commit/71ac0e17cec73a5060d1a7a07086d84ef6de3dd9) +- Update systimemgr_git.bb [`a91a9b5`](https://github.com/rdkcentral/meta-rdk/commit/a91a9b5d7ca6831715c9316d0b83da18d5c1b851) + #### [1.16.0](https://github.com/rdkcentral/meta-rdk/compare/1.15.0...1.16.0) +> 25 February 2026 + - RDKEMW-13682: Update memcr rev with FD close fix [`#558`](https://github.com/rdkcentral/meta-rdk/pull/558) - RDKEMW-13838: Dobby 3.16.1 Release Integration [`#557`](https://github.com/rdkcentral/meta-rdk/pull/557) - Update dcmd.bb [`#546`](https://github.com/rdkcentral/meta-rdk/pull/546) @@ -25,11 +54,11 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - RDKEMW-12659:Update bluetooth components to latest for gaming changes 1.0.8 [`#475`](https://github.com/rdkcentral/meta-rdk/pull/475) - RDKEMW-12201: Telemery 1.7.4 version integration [`#470`](https://github.com/rdkcentral/meta-rdk/pull/470) - RDK-60393: Memcapture as a downloadable app [`#465`](https://github.com/rdkcentral/meta-rdk/pull/465) +- Adding changelog [`2df7308`](https://github.com/rdkcentral/meta-rdk/commit/2df7308a8f9296227afd6a64ea92fa9070fe5461) - RDKEMW-13838: Dobby 3.16.1 release [`57bf982`](https://github.com/rdkcentral/meta-rdk/commit/57bf9826c1b05d9421bfb557a8d3a8de34ca3644) - Update dobby.inc [`35a25dd`](https://github.com/rdkcentral/meta-rdk/commit/35a25dd77ef014cabdcbfaa11f00440c6888571e) -- Update dobby.inc [`10fb0f0`](https://github.com/rdkcentral/meta-rdk/commit/10fb0f02af9b5bf1a44b066c7beed0d2154d9b12) -#### [1.15.0](https://github.com/rdkcentral/meta-rdk/compare/1.14.2...1.15.0) +#### [1.15.0](https://github.com/rdkcentral/meta-rdk/compare/1.14.3...1.15.0) > 28 January 2026 @@ -50,6 +79,16 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Update rdmagent.bb [`f302c98`](https://github.com/rdkcentral/meta-rdk/commit/f302c98b36c2a5e41b98fbbd800df9f2a11b1367) - Update memcapture_git.bb [`668d81b`](https://github.com/rdkcentral/meta-rdk/commit/668d81bf19812679c7df7307491c25ad5a26cc22) +#### [1.14.3](https://github.com/rdkcentral/meta-rdk/compare/1.14.2...1.14.3) + +> 13 March 2026 + +- RDKEMW-15200 : Post Activation telemetry report upload failed with curl 58 SSL Errors [`#639`](https://github.com/rdkcentral/meta-rdk/pull/639) +- RDKEMW-15176: added dobby patch for increased swap limit for containers [support/8.4.4.0] [`#637`](https://github.com/rdkcentral/meta-rdk/pull/637) +- RDKEMW-15176: added dobby patch for increased swap limit for containers [`8f505af`](https://github.com/rdkcentral/meta-rdk/commit/8f505afede2267d08935e92997d0305666b19017) +- Adding changelog [`16a13a8`](https://github.com/rdkcentral/meta-rdk/commit/16a13a86c0970c7cc6dd7e7c842d59cfbc46b5c1) +- converted swap limit extra bytes to a constant [`6062ba0`](https://github.com/rdkcentral/meta-rdk/commit/6062ba0b3a931f35795a1b897d8cde93f50e7ff5) + #### [1.14.2](https://github.com/rdkcentral/meta-rdk/compare/1.14.1...1.14.2) > 16 February 2026 @@ -121,7 +160,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Adding changelog [`a252dcb`](https://github.com/rdkcentral/meta-rdk/commit/a252dcb4894055510980e6398d95b645da8aa665) - Update memcapture_git.bb [`461823f`](https://github.com/rdkcentral/meta-rdk/commit/461823f13c2f5bb2a19911196ed8088c58c2b8e3) -#### [1.12.0](https://github.com/rdkcentral/meta-rdk/compare/1.11.2...1.12.0) +#### [1.12.0](https://github.com/rdkcentral/meta-rdk/compare/1.11.3...1.12.0) > 28 October 2025 @@ -139,6 +178,16 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Update dobby.inc [`9afb276`](https://github.com/rdkcentral/meta-rdk/commit/9afb2760a9e083870673f5dd67dbd08cfdf79d5d) - RDK-58045 : Upgrade rbus that contains low priority coverity fixes(#275) [`adfb54c`](https://github.com/rdkcentral/meta-rdk/commit/adfb54c7871456ddf224a86163a54e494c7868f7) +#### [1.11.3](https://github.com/rdkcentral/meta-rdk/compare/1.11.2...1.11.3) + +> 24 March 2026 + +- RDKEMW-12359: [support/8.3.4.0] Dobby Patch release v3.14.2 [`#653`](https://github.com/rdkcentral/meta-rdk/pull/653) +- [8.3.4] RDKEMW-15230: increase swap limit for containers [`#638`](https://github.com/rdkcentral/meta-rdk/pull/638) +- Adding changelog [`03ad704`](https://github.com/rdkcentral/meta-rdk/commit/03ad704acf4ccf97511d9844679b21134e035192) +- RDKEMW-15176: increase swap limit for containers [`1c1c225`](https://github.com/rdkcentral/meta-rdk/commit/1c1c225f4cbd41246cb37ddbe83ed433aa9974fe) +- Update dobby.inc [`8874e56`](https://github.com/rdkcentral/meta-rdk/commit/8874e56b9bc8f17e73f4b7cd44007dd3d75a744d) + #### [1.11.2](https://github.com/rdkcentral/meta-rdk/compare/1.11.1...1.11.2) > 17 February 2026 From 41693ac1cd9967553a205a1325f7cbd9a46b325d Mon Sep 17 00:00:00 2001 From: nanimatta <84963246+nanimatta@users.noreply.github.com> Date: Mon, 6 Apr 2026 13:49:28 -0400 Subject: [PATCH 180/274] Update 98-sysctl-mw.conf --- recipes-core/sysctl/files/98-sysctl-mw.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-core/sysctl/files/98-sysctl-mw.conf b/recipes-core/sysctl/files/98-sysctl-mw.conf index 9508252cc..38144b4b2 100644 --- a/recipes-core/sysctl/files/98-sysctl-mw.conf +++ b/recipes-core/sysctl/files/98-sysctl-mw.conf @@ -33,5 +33,5 @@ net.core.rmem_max=1048576 vm.swappiness=80 vm.vfs_cache_pressure=200 vm.watermark_scale_factor=40 -vm.dirty_background_ratio=1 -vm.dirty_ratio=1 +vm.dirty_background_ratio=@RDK_VM_DIRTY_BACKGROUND_RATIO@ +vm.dirty_ratio=@RDK_VM_DIRTY_RATIO@ From 286cde9267d6629e994c559f0a58cd43fdce6b61 Mon Sep 17 00:00:00 2001 From: nanimatta <84963246+nanimatta@users.noreply.github.com> Date: Mon, 6 Apr 2026 13:50:48 -0400 Subject: [PATCH 181/274] RDKEMW-16447: Update vm.dirty_ratio and vm.dirty_background_ratio --- recipes-core/sysctl/rdksysctl.bb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/recipes-core/sysctl/rdksysctl.bb b/recipes-core/sysctl/rdksysctl.bb index 2bd62719b..d1f1ba47c 100644 --- a/recipes-core/sysctl/rdksysctl.bb +++ b/recipes-core/sysctl/rdksysctl.bb @@ -6,6 +6,10 @@ LIC_FILES_CHKSUM = "file://${THISDIR}/files/Apache-2.0;md5=3b83ef96387f14655fc85 SRC_URI = "file://50-sysctl.conf" SRC_URI += "file://98-sysctl-mw.conf" +# Defaults (keep existing behavior unless overridden per MACHINE) +RDK_VM_DIRTY_BACKGROUND_RATIO ?= "1" +RDK_VM_DIRTY_RATIO ?= "1" + PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" S = "${WORKDIR}" @@ -13,5 +17,10 @@ S = "${WORKDIR}" do_install() { install -d ${D}${sysconfdir}/sysctl.d install -m 0644 ${S}/50-sysctl.conf ${D}${sysconfdir}/sysctl.d - install -m 0644 ${S}/98-sysctl-mw.conf ${D}${sysconfdir}/sysctl.d + # Generate 98-sysctl-mw.conf with machine-configurable values + sed -e "s/@RDK_VM_DIRTY_BACKGROUND_RATIO@/${RDK_VM_DIRTY_BACKGROUND_RATIO}/g" \ + -e "s/@RDK_VM_DIRTY_RATIO@/${RDK_VM_DIRTY_RATIO}/g" \ + ${S}/98-sysctl-mw.conf > ${D}${sysconfdir}/sysctl.d/98-sysctl-mw.conf + + chmod 0644 ${D}${sysconfdir}/sysctl.d/98-sysctl-mw.conf } From 9e8b55a5c3cdf930e34a8f87878a38b5f155095e Mon Sep 17 00:00:00 2001 From: nhanasi Date: Tue, 7 Apr 2026 13:17:42 -0400 Subject: [PATCH 182/274] RDKEMW-15263: command injection via /lib/rdk/getRFC.sh (#738) --- recipes-common/rfc/rfc_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index 9483842ca..44862261f 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=bef3b9130aa5d626df3f7171f2dadfe2" PACKAGECONFIG ??= "rfctool" PACKAGECONFIG[rfctool] = "--enable-rfctool=yes" -PV = "1.2.2" +PV = "1.2.3" PR = "r0" -SRCREV = "75608f82bb7fcfcb76ffd510460ac1c6e2829d22" +SRCREV = "b28be8f5a03c6847ed3b1d96b36f4e5b48f480c9" SRC_URI = "${CMF_GITHUB_ROOT}/rfc;${CMF_GITHUB_SRC_URI_SUFFIX};name=rfc" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" S = "${WORKDIR}/git" From a5d1b447b02dc7a5a0554122d4e5137567f5292d Mon Sep 17 00:00:00 2001 From: tabbas651 Date: Tue, 7 Apr 2026 18:56:31 +0000 Subject: [PATCH 183/274] RDKEMW-16758: [RDKEMW][Alpaca DE]Box boot up time is extended post reboot - Merge To develop Reason for change: Updated the git hash id for RBUS handler starvation and race condition on privacyModeVal Test Procedure: please referr the ticket Risks: Medium --- recipes-common/telemetry/telemetry_git.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index acd8e96c1..7cafca73d 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -4,7 +4,7 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -SRCREV = "6ec93e1ec9d22bb2e14a2f771b648464f08a71ef" +SRCREV = "5557c0e53a5fa29c31074aaaa41d8a499cece5ac" SRC_URI = "${CMF_GITHUB_ROOT}/telemetry;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From 6d8beb7cb8c96ae25017955c8da8fb66e88c5772 Mon Sep 17 00:00:00 2001 From: tabbas651 <74683978+tabbas651@users.noreply.github.com> Date: Tue, 7 Apr 2026 16:18:18 -0400 Subject: [PATCH 184/274] Update telemetry_git.bb --- recipes-common/telemetry/telemetry_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index 7cafca73d..259899830 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -4,7 +4,7 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -SRCREV = "5557c0e53a5fa29c31074aaaa41d8a499cece5ac" +SRCREV = "5e5821db578b365c60843e999e83d8e7533ffdc9" SRC_URI = "${CMF_GITHUB_ROOT}/telemetry;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -14,7 +14,7 @@ DEPENDS += "rdk-logger" RDEPENDS:${PN} += "curl cjson glib-2.0 rbus" -PV = "1.8.5" +PV = "1.8.8" PR = "r0" S = "${WORKDIR}/git" From d0b464b6228c753e5b39a273f2ea7d0b3575bacc Mon Sep 17 00:00:00 2001 From: Satya Sundar Sahu Date: Wed, 8 Apr 2026 05:34:21 +0530 Subject: [PATCH 185/274] RDKEMW-14646: Add meminsight and processmoniter tool (#636) --- recipes-common/meminsight/meminsight_git.bb | 41 ------- .../meminsight/files/conf/broadband-path.conf | 21 ++++ .../files/conf/broadband-rdm-path.conf | 21 ++++ .../meminsight/files/conf/broadband.conf | 25 ++++ .../meminsight/files/conf/client-path.conf | 3 +- .../meminsight/files/conf/client.conf | 3 +- .../meminsight/files/meminsight-runner.path | 1 - .../files/meminsight-runner.service | 6 +- .../meminsight/files/start_meminsight.sh | 115 ++++++++++++++++++ recipes-devtools/meminsight/meminsight_git.bb | 73 +++++++++++ .../processmonitor/files/process-monitor.path | 29 +++++ .../files/process-monitor.service | 26 ++++ .../processmonitor/processmonitor_git.bb | 38 ++++++ 13 files changed, 351 insertions(+), 51 deletions(-) delete mode 100644 recipes-common/meminsight/meminsight_git.bb create mode 100644 recipes-devtools/meminsight/files/conf/broadband-path.conf create mode 100644 recipes-devtools/meminsight/files/conf/broadband-rdm-path.conf create mode 100644 recipes-devtools/meminsight/files/conf/broadband.conf rename {recipes-common => recipes-devtools}/meminsight/files/conf/client-path.conf (95%) rename {recipes-common => recipes-devtools}/meminsight/files/conf/client.conf (89%) rename {recipes-common => recipes-devtools}/meminsight/files/meminsight-runner.path (99%) rename {recipes-common => recipes-devtools}/meminsight/files/meminsight-runner.service (88%) create mode 100644 recipes-devtools/meminsight/files/start_meminsight.sh create mode 100644 recipes-devtools/meminsight/meminsight_git.bb create mode 100644 recipes-devtools/processmonitor/files/process-monitor.path create mode 100644 recipes-devtools/processmonitor/files/process-monitor.service create mode 100644 recipes-devtools/processmonitor/processmonitor_git.bb diff --git a/recipes-common/meminsight/meminsight_git.bb b/recipes-common/meminsight/meminsight_git.bb deleted file mode 100644 index cd8cfb6c3..000000000 --- a/recipes-common/meminsight/meminsight_git.bb +++ /dev/null @@ -1,41 +0,0 @@ -SUMMARY = "Memory insight utility and runner service" -SECTION = "console/utils" -DESCRIPTION = "meminsight: system/process memory statistics collection tool with systemd runner service." - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1c020dfe1abb4e684874a44de1244c28" -SRC_URI = "${CMF_GITHUB_ROOT}/${BPN}.git;nobranch=1;protocol=${CMF_GIT_PROTOCOL}" - -SRC_URI:append = " file://meminsight-runner.service \ - file://meminsight-runner.path \ - file://conf/client.conf \ - file://conf/client-path.conf \ - " - -SRCREV = "f83f1804827cca0550d525d971f4337998d6ac1d" -PV = "1.0" -S = "${WORKDIR}/git" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -inherit autotools systemd - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${B}/xmeminsight ${D}${bindir}/xmeminsight - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/meminsight-runner.service ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/meminsight-runner.path ${D}${systemd_unitdir}/system/ - install -d ${D}${systemd_unitdir}/system/meminsight-runner.service.d - install -d ${D}${systemd_unitdir}/system/meminsight-runner.path.d - install -m 0644 ${WORKDIR}/conf/client.conf ${D}${systemd_unitdir}/system/meminsight-runner.service.d/ - install -m 0644 ${WORKDIR}/conf/client-path.conf ${D}${systemd_unitdir}/system/meminsight-runner.path.d/ -} - -SYSTEMD_SERVICE:${PN} = "meminsight-runner.path" - -FILES:${PN} += "${bindir}/xmeminsight" -FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.service" -FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.path" -FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.service.d/*.conf" -FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.path.d/*.conf" diff --git a/recipes-devtools/meminsight/files/conf/broadband-path.conf b/recipes-devtools/meminsight/files/conf/broadband-path.conf new file mode 100644 index 000000000..b81ea38dc --- /dev/null +++ b/recipes-devtools/meminsight/files/conf/broadband-path.conf @@ -0,0 +1,21 @@ +########################################################################## +# If not stated otherwise in this file or this component's Licenses.txt +# file the following copyright and licenses apply: +# +# Copyright 2021 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################## + +[Path] +PathExists=/nvram/.enable_meminsight diff --git a/recipes-devtools/meminsight/files/conf/broadband-rdm-path.conf b/recipes-devtools/meminsight/files/conf/broadband-rdm-path.conf new file mode 100644 index 000000000..b0a9dd8c3 --- /dev/null +++ b/recipes-devtools/meminsight/files/conf/broadband-rdm-path.conf @@ -0,0 +1,21 @@ +########################################################################## +# If not stated otherwise in this file or this component's Licenses.txt +# file the following copyright and licenses apply: +# +# Copyright 2021 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################## + +[Path] +PathExists=/tmp/.enable_meminsight diff --git a/recipes-devtools/meminsight/files/conf/broadband.conf b/recipes-devtools/meminsight/files/conf/broadband.conf new file mode 100644 index 000000000..93c66e38e --- /dev/null +++ b/recipes-devtools/meminsight/files/conf/broadband.conf @@ -0,0 +1,25 @@ +########################################################################## +# If not stated otherwise in this file or this component's Licenses.txt +# file the following copyright and licenses apply: +# +# Copyright 2021 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################## + +[Unit] +Requires=CcspPandMSsp.service +After=CcspPandMSsp.service + +[Service] +ExecStartPre=/bin/sh -c 'RESULT=$(/usr/bin/dmcli eRT getv Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.meminsight.Args 2>/dev/null | grep string | cut -d":" -f3- | cut -d" " -f2- 2>/dev/null || echo "") && echo "ARGS=$RESULT" > /tmp/meminsight.env' \ No newline at end of file diff --git a/recipes-common/meminsight/files/conf/client-path.conf b/recipes-devtools/meminsight/files/conf/client-path.conf similarity index 95% rename from recipes-common/meminsight/files/conf/client-path.conf rename to recipes-devtools/meminsight/files/conf/client-path.conf index b0aaac9c3..b0a9dd8c3 100644 --- a/recipes-common/meminsight/files/conf/client-path.conf +++ b/recipes-devtools/meminsight/files/conf/client-path.conf @@ -18,5 +18,4 @@ ########################################################################## [Path] -PathExists=/opt/.enable_meminsight - +PathExists=/tmp/.enable_meminsight diff --git a/recipes-common/meminsight/files/conf/client.conf b/recipes-devtools/meminsight/files/conf/client.conf similarity index 89% rename from recipes-common/meminsight/files/conf/client.conf rename to recipes-devtools/meminsight/files/conf/client.conf index 15a6865c9..3266d1ab7 100644 --- a/recipes-common/meminsight/files/conf/client.conf +++ b/recipes-devtools/meminsight/files/conf/client.conf @@ -22,5 +22,4 @@ Requires=tr69hostif.service After=tr69hostif.service [Service] -ExecStartPre=/bin/sh -c 'RESULT=$(/usr/bin/tr181 Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.xMemInsight.Args 2>&1 || echo "") && echo "ARGS=$RESULT" > /tmp/meminsight.env' - +ExecStartPre=/bin/sh -c 'RESULT=$(/usr/bin/tr181 Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.meminsight.Args 2>&1 || echo "") && echo "ARGS=$RESULT" > /tmp/meminsight.env' diff --git a/recipes-common/meminsight/files/meminsight-runner.path b/recipes-devtools/meminsight/files/meminsight-runner.path similarity index 99% rename from recipes-common/meminsight/files/meminsight-runner.path rename to recipes-devtools/meminsight/files/meminsight-runner.path index c79e648ce..4556bb153 100644 --- a/recipes-common/meminsight/files/meminsight-runner.path +++ b/recipes-devtools/meminsight/files/meminsight-runner.path @@ -26,4 +26,3 @@ Unit=meminsight-runner.service [Install] WantedBy=multi-user.target - diff --git a/recipes-common/meminsight/files/meminsight-runner.service b/recipes-devtools/meminsight/files/meminsight-runner.service similarity index 88% rename from recipes-common/meminsight/files/meminsight-runner.service rename to recipes-devtools/meminsight/files/meminsight-runner.service index c5e3c6316..573605e59 100644 --- a/recipes-common/meminsight/files/meminsight-runner.service +++ b/recipes-devtools/meminsight/files/meminsight-runner.service @@ -24,9 +24,5 @@ Description=MemInsight Memory Stats Runner Type=oneshot RemainAfterExit=yes EnvironmentFile=-/tmp/meminsight.env -ExecStart=/usr/bin/xmeminsight $ARGS +ExecStart=/bin/sh -c 'PATH="/run/meminsight/usr/bin:/media/apps/meminsight:/media/apps/meminsight/usr/bin:$PATH"; meminsight $ARGS' ExecStop=-/bin/rm /tmp/meminsight.env - -[Install] -WantedBy=multi-user.target - diff --git a/recipes-devtools/meminsight/files/start_meminsight.sh b/recipes-devtools/meminsight/files/start_meminsight.sh new file mode 100644 index 000000000..f6449029c --- /dev/null +++ b/recipes-devtools/meminsight/files/start_meminsight.sh @@ -0,0 +1,115 @@ +#!/bin/sh +########################################################################## +# If not stated otherwise in this file or this component's LICENSE +# file the following copyright and licenses apply: +# +# Copyright 2025 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################## + +SRC_BIN="/media/apps/meminsight/usr/bin/meminsight" +DST_BIN="/run/meminsight/usr/bin/meminsight" +RFC_PARAM="Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.meminsight.Trigger" + +# Load DEVICE_TYPE +if [ -f /etc/device.properties ]; then + . /etc/device.properties +fi + +if [ -z "$DEVICE_TYPE" ]; then + DEVICE_TYPE="unknown" +fi + +case "$DEVICE_TYPE" in + mediaclient) + RDM_LOG_FILE="/opt/logs/rdm_status.log" + ;; + broadband) + RDM_LOG_FILE="/rdklogs/logs/rdm-status.log.0" + SRC_BIN="/tmp/meminsight/usr/bin/meminsight" + ;; + *) + RDM_LOG_FILE="/var/log/rdm-status.log" + ;; +esac + +log_info() { + echo "[start_meminsight] [INFO] $*" >> $RDM_LOG_FILE +} + +log_error() { + echo "[start_meminsight] [ERROR] $*" >> $RDM_LOG_FILE +} + +log_info "Starting meminsight post-service script" +log_info "Configured source binary: $SRC_BIN" +log_info "Configured destination binary: $DST_BIN" +log_info "Configured RFC parameter: $RFC_PARAM" + +if [ -z "$SRC_BIN" ] || [ ! -f "$SRC_BIN" ]; then + log_error "Invalid meminsight source binary: $SRC_BIN" + exit 1 +fi + +#Do only for brodband +if [ "$DEVICE_TYPE" = "broadband" ];then + log_info "Creating destination directory: $(dirname "$DST_BIN")" + if ! mkdir -p "$(dirname "$DST_BIN")"; then + log_error "Failed to create destination directory" + exit 1 + fi + + log_info "Copying binary from $SRC_BIN to $DST_BIN" + if ! cp "$SRC_BIN" "$DST_BIN"; then + log_error "Failed to copy binary" + exit 1 + fi + log_info "Setting executable permission on $DST_BIN" + if ! chmod +x "$DST_BIN"; then + log_error "Failed to set executable permission on $DST_BIN" + exit 1 + fi + log_info "Binary copy and permission update completed" +fi + +# Below are for brodband +if [ "$DEVICE_TYPE" = "broadband" ];then + RFC_TRIGGER_VALUE="" + if command -v dmcli >/dev/null 2>&1; then + log_info "Reading RFC trigger value via dmcli" + RFC_TRIGGER_VALUE="$(dmcli eRT getv "$RFC_PARAM" 2>/dev/null | awk -F'value: ' '/value:/ {print $2; exit}' | tr -d '\r' | xargs)" + log_info "RFC trigger value: ${RFC_TRIGGER_VALUE:-}" + else + log_info "dmcli not available; RFC trigger value remains empty" + fi +else + RFC_TRIGGER_VALUE="" + if command -v tr181 >/dev/null 2>&1; then + log_info "Reading RFC trigger value via tr181" + RFC_TRIGGER_VALUE=`/usr/bin/tr181 get Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.meminsight.Trigger 2>&1` + log_info "RFC trigger value: ${RFC_PARAM}= $RFC_TRIGGER_VALUE " + else + log_info "tr181 not available; RFC trigger value remains empty" + fi +fi +# end add here else for mediaclient with tr181 check +if [ "$RFC_TRIGGER_VALUE" = "start" ]; then + log_info "RFC trigger is start; creating /tmp/.enable_meminsight" + touch /tmp/.enable_meminsight + log_info "Created /tmp/.enable_meminsight" +else + log_info "RFC trigger is not start; skipping /tmp/.enable_meminsight creation" +fi + +log_info "Meminsight post-service script completed" diff --git a/recipes-devtools/meminsight/meminsight_git.bb b/recipes-devtools/meminsight/meminsight_git.bb new file mode 100644 index 000000000..916713091 --- /dev/null +++ b/recipes-devtools/meminsight/meminsight_git.bb @@ -0,0 +1,73 @@ +SUMMARY = "Memory insight utility and runner service" +SECTION = "console/utils" +DESCRIPTION = "meminsight: system/process memory statistics collection tool with systemd runner service." +LICENSE = "Apache-2.0" + +LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=1c020dfe1abb4e684874a44de1244c28" + +SRC_URI = "${CMF_GITHUB_ROOT}/${BPN}.git;nobranch=1;protocol=${CMF_GIT_PROTOCOL}" + +SRC_URI:append = " file://meminsight-runner.service \ + file://meminsight-runner.path \ + file://conf/client.conf \ + file://conf/broadband.conf \ + file://conf/client-path.conf \ + file://conf/broadband-path.conf \ + file://conf/broadband-rdm-path.conf \ + file://start_meminsight.sh \ + " + +# Mar 2, 2026 +# v1.0.0 +SRCREV = "a7e1e7375b5eaaa4cffd26fc2a40dbd359bc0b1f" +PV = "1.0.0" +PR = "r0" +S = "${WORKDIR}/git" + +PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" + +inherit autotools systemd + +# CFLAGS_append_broadband = ' -DDEVICE_IDENTIFIER=\\"erouter0\\" -DDEFAULT_OUT_DIR=\\"/nvram/meminsight\\"' + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${B}/meminsight ${D}${bindir}/meminsight + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/meminsight-runner.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/meminsight-runner.path ${D}${systemd_unitdir}/system/ + install -d ${D}${systemd_unitdir}/system/meminsight-runner.service.d + install -d ${D}${systemd_unitdir}/system/meminsight-runner.path.d +} + +do_install:append:client() { + install -m 0644 ${WORKDIR}/conf/client.conf ${D}${systemd_unitdir}/system/meminsight-runner.service.d/ + if ${@bb.utils.contains('DISTRO_FEATURES', 'enable_xmeminsight', 'true', 'false', d)}; then + install -m 0644 ${WORKDIR}/conf/client-path.conf ${D}${systemd_unitdir}/system/meminsight-runner.path.d/ + else + install -m 0644 ${WORKDIR}/conf/broadband-rdm-path.conf ${D}${systemd_unitdir}/system/meminsight-runner.path.d/client-rdm-path.conf + install -d ${D}/etc/rdm/post-services + install -m 0755 ${WORKDIR}/start_meminsight.sh ${D}/etc/rdm/post-services/start_meminsight.sh + fi +} + +do_install:append:broadband() { + install -m 0644 ${WORKDIR}/conf/broadband.conf ${D}${systemd_unitdir}/system/meminsight-runner.service.d/ + if ${@bb.utils.contains('DISTRO_FEATURES', 'enable_xmeminsight', 'true', 'false', d)}; then + install -m 0644 ${WORKDIR}/conf/broadband-path.conf ${D}${systemd_unitdir}/system/meminsight-runner.path.d/ + else + install -m 0644 ${WORKDIR}/conf/broadband-rdm-path.conf ${D}${systemd_unitdir}/system/meminsight-runner.path.d/ + install -d ${D}/etc/rdm/post-services + install -m 0755 ${WORKDIR}/start_meminsight.sh ${D}/etc/rdm/post-services/start_meminsight.sh + fi +} + +SYSTEMD_SERVICE:${PN} = "meminsight-runner.path" + +FILES:${PN} += "${bindir}/meminsight" + +FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.service" +FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.path" + +FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.service.d/*.conf" +FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.path.d/*.conf" diff --git a/recipes-devtools/processmonitor/files/process-monitor.path b/recipes-devtools/processmonitor/files/process-monitor.path new file mode 100644 index 000000000..fa00a38b3 --- /dev/null +++ b/recipes-devtools/processmonitor/files/process-monitor.path @@ -0,0 +1,29 @@ +########################################################################## +# If not stated otherwise in this file or this component's Licenses.txt +# file the following copyright and licenses apply: +# +# Copyright 2021 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################## + +[Unit] +Description=Process Moniter +OnFailure=path-fail-notifier@%n.service + +[Path] +Unit=process-monitor.service +PathExists=/tmp/.enable_processmon + +[Install] +WantedBy=multi-user.target diff --git a/recipes-devtools/processmonitor/files/process-monitor.service b/recipes-devtools/processmonitor/files/process-monitor.service new file mode 100644 index 000000000..bf07abd4c --- /dev/null +++ b/recipes-devtools/processmonitor/files/process-monitor.service @@ -0,0 +1,26 @@ +########################################################################## +# If not stated otherwise in this file or this component's Licenses.txt +# file the following copyright and licenses apply: +# +# Copyright 2021 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################## + +[Unit] +Description=Process Monitor + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/media/apps/processmonitor/usr/bin/ProcessMonitor --duration 180 --output /opt/processMonitorResults.js -m /media/apps/processmonitor/usr/lib/libexithandler.so.1 diff --git a/recipes-devtools/processmonitor/processmonitor_git.bb b/recipes-devtools/processmonitor/processmonitor_git.bb new file mode 100644 index 000000000..744b0ab64 --- /dev/null +++ b/recipes-devtools/processmonitor/processmonitor_git.bb @@ -0,0 +1,38 @@ +SUMMARY = "Process Moniter utility and runner service" +DESCRIPTION = "Linux process monitor - track and record the execution times of all processes" +LICENSE = "Apache-2.0" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=894d9b830cb1f38db58741000f9c2c7f" + +S = "${WORKDIR}/git" +# TODO: B = "${WORKDIR}/git/build" +# SRC_URI = "git://github.com/TeknoVenus/ProcessMonitor.git;branch=main" +SRC_URI = "git://github.com/gomathishankar37/ProcessMonitor.git;protocol=https;branch=exit-handler" + +SRC_URI:append = " file://process-monitor.path \ + file://process-monitor.service \ + " + +inherit cmake systemd + +EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release" + +# SRCREV = "63c19611d52cec3331bc9ea1bc82175f5d8a9c96" +SRCREV = "${AUTOREV}" +PV = "1.0.0" +PR = "r0" + +PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" + +do_install:append () { + install -d ${D}${systemd_unitdir}/system + rm -rf ${S}/process-monitor.service + install -m 0644 ${WORKDIR}/process-monitor.service ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/process-monitor.path ${D}${systemd_unitdir}/system +} + +SYSTEMD_SERVICE:${PN} = "process-monitor.path" + +FILES:${PN} += "${systemd_system_unitdir}/process-monitor.*" +FILES:${PN} += "${bindir}/ProcessMonitor" +FILES:${PN} += "${libdir}/libexithandler.so*" From 68bb3c15e60968bf6f4f9663dbaa5920d274688a Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Wed, 8 Apr 2026 18:20:18 +0530 Subject: [PATCH 186/274] RDKEMW-14720 : Unify Reboot Manager Codebase with >90% L1/L2 Coverage (#708) --- recipes-support/reboot-manager/reboot-manager.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-support/reboot-manager/reboot-manager.bb b/recipes-support/reboot-manager/reboot-manager.bb index d88bbd300..2c4792e64 100644 --- a/recipes-support/reboot-manager/reboot-manager.bb +++ b/recipes-support/reboot-manager/reboot-manager.bb @@ -11,12 +11,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" FILESEXTRAPATHS:prepend := "${THISDIR}:" -PV = "0.0.3" +PV = "2.0.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/reboot-manager;${CMF_GITHUB_SRC_URI_SUFFIX};name=reboot-manager" -SRCREV_reboot-manager = "f2a9156357672dee4e57773ed934ce9a83ab22e0" +SRCREV_reboot-manager = "0e031b47126ec4a122be5901d50c085b1e7bca6b" S = "${WORKDIR}/git" From dd6b47c2e458b2474ec70a1e591f7c96ff2fdf2c Mon Sep 17 00:00:00 2001 From: Karthick Swaminathan <85346280+ks734@users.noreply.github.com> Date: Fri, 10 Apr 2026 17:24:27 +0530 Subject: [PATCH 187/274] RDKEMW-14594: Update Dobby to v3.17.0 (#751) * RDKEMW-14594: Update to Dobby v3.17.0 * RDKEMW-14594: Update Dobby to v3.17.0 --------- Co-authored-by: B-Larsen --- recipes-containers/dobby/dobby.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index 34505f45a..6b5ee45b3 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,5 +1,5 @@ -SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.16" +SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.17" -PV = "3.16.2" +PV = "3.17.0" PR = "r0" -SRCREV = "73dfcbbd5e73268385b53d61b24cd2c811946953" +SRCREV = "9724e8af17da730ee1da7e780819483601d47953" From e11a4df87f3ac3f0bb7473b046bf6add7a0d73ce Mon Sep 17 00:00:00 2001 From: rosemarybennyy Date: Sun, 12 Apr 2026 16:44:22 +0530 Subject: [PATCH 188/274] RDKEMW-16430 : RDM - Download on demand rdm packages are downloading when the rfc value is not found (#769) --- recipes-support/rdmagent/rdmagent.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-support/rdmagent/rdmagent.bb b/recipes-support/rdmagent/rdmagent.bb index 7f2877ccd..e7c2af610 100644 --- a/recipes-support/rdmagent/rdmagent.bb +++ b/recipes-support/rdmagent/rdmagent.bb @@ -8,14 +8,14 @@ DEPENDS += "rbus" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=8700a1d105cac2a90d4f51290ac6e466" -PV = "2.2.1" +PV = "2.2.2" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "88275f47091685af624e51f076c84fc03dfe8bda" +SRCREV = "871e274c8b531bfce3c242f46b1a16c8f2609463" SRC_URI = "${CMF_GITHUB_ROOT}/rdm-agent;${CMF_GITHUB_SRC_URI_SUFFIX};name=rdmagent" SRCREV_FORMAT = "rdmagent" From 3419271ac4f8eef66274981c2c49db0434120c6b Mon Sep 17 00:00:00 2001 From: Gomathi Shankar Date: Mon, 13 Apr 2026 10:59:12 +0530 Subject: [PATCH 189/274] RDKEMW-14022: Update crashupload_git.bb with SRCREV (#720) --- recipes-common/crashupload/crashupload_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/crashupload/crashupload_git.bb b/recipes-common/crashupload/crashupload_git.bb index ce9501da6..770048f1d 100644 --- a/recipes-common/crashupload/crashupload_git.bb +++ b/recipes-common/crashupload/crashupload_git.bb @@ -4,12 +4,12 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -PV = "2.0.1" +PV = "2.1.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/${BPN}.git;nobranch=1;protocol=${CMF_GIT_PROTOCOL}" -SRCREV = "820884c9942ac5a0b7baaafcfea73733e6c517f1" +SRCREV = "fdbcaa84f795889e53eb5302e85b99b02be30d24" S = "${WORKDIR}/git/c_sourcecode" From 1cab18f8a0717431435478c3f161cb4b1a34f6c3 Mon Sep 17 00:00:00 2001 From: mkadinti <101405874+mkadinti@users.noreply.github.com> Date: Mon, 13 Apr 2026 15:52:10 +0530 Subject: [PATCH 190/274] Update commonutilities_git.bb (#759) --- recipes-common/utils/commonutilities_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/utils/commonutilities_git.bb b/recipes-common/utils/commonutilities_git.bb index bd4bb4051..f6c9465ca 100644 --- a/recipes-common/utils/commonutilities_git.bb +++ b/recipes-common/utils/commonutilities_git.bb @@ -3,7 +3,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=24691c8ce48996ecd1102d29eab1216e" # To have a possibility to override SRC_URI later, we are introducing the following workaround: -SRCREV = "b75c844bf0da6c856dc98f3c13a8e3c8910fc96f" +SRCREV = "45ef9f4c61483cc735001d3802d305b86c14ec70" SRC_URI = "${CMF_GITHUB_ROOT}/common_utilities;module=.;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -24,7 +24,7 @@ LDFLAGS:append = " -lsafec -lsecure_wrapper" CFLAGS:append = " -DRDK_LOGGER" -PV = "1.5.3" +PV = "1.5.4" PR = "r0" S = "${WORKDIR}/git" From 09d617834092fc5c1c993ab2062b553a5f67bd19 Mon Sep 17 00:00:00 2001 From: mtirum011 Date: Mon, 13 Apr 2026 11:57:13 +0000 Subject: [PATCH 191/274] RDK-60291 : [Telemetry] Fix and Document Coverity Issues in Telemetry --- recipes-common/telemetry/telemetry_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index 259899830..636ac67d1 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -4,7 +4,7 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -SRCREV = "5e5821db578b365c60843e999e83d8e7533ffdc9" +SRCREV = "740ff93ef52a117aaba5bf3fd098b9cb8ad66828" SRC_URI = "${CMF_GITHUB_ROOT}/telemetry;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -14,7 +14,7 @@ DEPENDS += "rdk-logger" RDEPENDS:${PN} += "curl cjson glib-2.0 rbus" -PV = "1.8.8" +PV = "1.9.0" PR = "r0" S = "${WORKDIR}/git" From 41d0d0e6e2468c7dbab41ef9e4e22d4707a0434f Mon Sep 17 00:00:00 2001 From: ssitar583 Date: Tue, 14 Apr 2026 18:54:45 +0530 Subject: [PATCH 192/274] RDKEMW-15218: Update validate_pr_title.yml (#648) Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> --- .github/workflows/validate_pr_title.yml | 85 ++++++++++++++++++------- 1 file changed, 61 insertions(+), 24 deletions(-) diff --git a/.github/workflows/validate_pr_title.yml b/.github/workflows/validate_pr_title.yml index c2192f2f2..8fca03dd5 100644 --- a/.github/workflows/validate_pr_title.yml +++ b/.github/workflows/validate_pr_title.yml @@ -20,57 +20,94 @@ jobs: # Define valid ticket IDs VALID_TICKET_IDS=("RDKEMW" "RDKEVD" "IMMUI" "RDK" "RDKMVE" "RDKDEV") - # Function to validate ticket format and ID + # Function to validate ticket format and ID(s) validate_ticket() { local text="$1" local field_name="$2" echo "Validating $field_name: $text" - # Check if text matches the pattern - : - if [[ ! "$text" =~ ^[A-Z0-9]+-[0-9]+[[:space:]]*:[[:space:]]*.+ ]]; then + # Check if text matches the pattern -[, -] : + if [[ ! "$text" =~ ^([A-Z0-9]+-[0-9]+)([[:space:]]*,[[:space:]]*[A-Z0-9]+-[0-9]+)*[[:space:]]*:[[:space:]]*.+ ]]; then echo "ERROR: $field_name format is invalid." - echo "Expected format: - : " - echo "Example: RDKEMW-123 : Fix playbook issue" + echo "Expected format: -[, -] : " + echo "Example (single): RDKEMW-123 : Fix playbook issue" + echo "Example (multiple): RDKEMW-123, RDKDEV-45 : Fix playbook issue" echo "" echo "Valid ticket IDs are:" printf "%s\n" "${VALID_TICKET_IDS[@]}" return 1 fi - # Extract ticket ID from the text - local ticket_prefix=$(echo "$text" | sed -n 's/^\([A-Z0-9]\+\)-[0-9]\+[[:space:]]*:.*$/\1/p') - - if [ -z "$ticket_prefix" ]; then - echo "ERROR: Could not extract ticket ID from $field_name." - echo "Expected format: - : " + # Extract only the ticket list (before ':') + local ticket_list="${text%%:*}" + + # Extract all ticket IDs from the ticket list + mapfile -t tickets < <(echo "$ticket_list" | grep -oE '[A-Z0-9]+-[0-9]+') + + if [ "${#tickets[@]}" -eq 0 ]; then + echo "ERROR: Could not extract ticket ID(s) from $field_name." + echo "Expected format: -[, -] : " + echo "Example (single): RDKEMW-123 : Fix playbook issue" + echo "Example (multiple): RDKEMW-123, RDKDEV-45 : Fix playbook issue" echo "" echo "Valid ticket IDs are:" printf "%s\n" "${VALID_TICKET_IDS[@]}" return 1 fi - - # Check if extracted ticket ID is in the valid list - local valid=false - for valid_id in "${VALID_TICKET_IDS[@]}"; do - if [ "$ticket_prefix" = "$valid_id" ]; then - valid=true - break + + # Check for duplicate ticket IDs + declare -A ticket_count=() + local duplicates=() + for ticket in "${tickets[@]}"; do + if [ -n "${ticket_count[$ticket]}" ]; then + duplicates+=("$ticket") fi + ticket_count["$ticket"]=1 done - - if [ "$valid" = false ]; then - echo "ERROR: Invalid ticket ID '$ticket_prefix' in $field_name" + + if [ "${#duplicates[@]}" -ne 0 ]; then + echo "ERROR: Duplicate ticket ID(s) found in $field_name: ${duplicates[*]}" + echo "Each ticket ID should appear only once." + echo "Example (single): RDKEMW-123 : Fix playbook issue" + echo "Example (multiple): RDKEMW-123, RDKDEV-45 : Fix playbook issue" + return 1 + fi + + # Check if extracted ticket IDs are in the valid list + declare -A invalid_prefix_set=() + declare -A invalid_token_set=() + for ticket in "${tickets[@]}"; do + local ticket_prefix="${ticket%%-*}" + local valid=false + for valid_id in "${VALID_TICKET_IDS[@]}"; do + if [ "$ticket_prefix" = "$valid_id" ]; then + valid=true + break + fi + done + if [ "$valid" = false ]; then + invalid_prefix_set["$ticket_prefix"]=1 + invalid_token_set["$ticket"]=1 + fi + done + + if [ "${#invalid_prefix_set[@]}" -ne 0 ]; then + local invalid_prefixes=("${!invalid_prefix_set[@]}") + local invalid_tokens=("${!invalid_token_set[@]}") + echo "ERROR: Invalid ticket ID(s) in $field_name: ${invalid_prefixes[*]}" + echo "Invalid ticket token(s): ${invalid_tokens[*]}" echo "" echo "Valid ticket IDs are:" printf "%s\n" "${VALID_TICKET_IDS[@]}" echo "" echo "Your $field_name should start with one of the above ticket IDs followed by a number." - echo "Example: RDKEMW-123 : Fix playbook issue" + echo "Example (single): RDKEMW-123 : Fix playbook issue" + echo "Example (multiple): RDKEMW-123, RDKDEV-45 : Fix playbook issue" return 1 fi - - echo "$field_name validation passed! Ticket ID: $ticket_prefix" + + echo "$field_name validation passed! Ticket ID(s): ${tickets[*]}" return 0 } From 3bd9f339444fea5e90b3430936f4230db3afb62d Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Mon, 20 Apr 2026 13:46:08 +0530 Subject: [PATCH 193/274] RDKEMW-15490: Relocated script from sysint to reboot-manager (#755) --- .../reboot-manager/reboot-manager.bb | 44 +++++++++++++++++-- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/recipes-support/reboot-manager/reboot-manager.bb b/recipes-support/reboot-manager/reboot-manager.bb index 2c4792e64..d211de7e4 100644 --- a/recipes-support/reboot-manager/reboot-manager.bb +++ b/recipes-support/reboot-manager/reboot-manager.bb @@ -11,17 +11,23 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" FILESEXTRAPATHS:prepend := "${THISDIR}:" -PV = "2.0.0" +PV = "2.1.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/reboot-manager;${CMF_GITHUB_SRC_URI_SUFFIX};name=reboot-manager" -SRCREV_reboot-manager = "0e031b47126ec4a122be5901d50c085b1e7bca6b" +SRCREV_reboot-manager = "1b5617316afe12c9b8f3836d05d10668d0c43015" S = "${WORKDIR}/git" inherit autotools coverity systemd syslog-ng-config-gen logrotate_config -LOGROTATE_NAME="reboot_reason" + +SYSLOG-NG_FILTER = "reboot_reason" +SYSLOG-NG_SERVICE_reboot_reason = "reboot-reason-logger.service update-reboot-info.service" +SYSLOG-NG_DESTINATION_reboot_reason = "rebootreason.log" +SYSLOG-NG_LOGRATE_reboot_reason = "low" + +LOGROTATE_NAME="reboot_reason rebootInfo" LOGROTATE_LOGNAME_reboot_reason="rebootreason.log" #HDD_ENABLE LOGROTATE_SIZE_reboot_reason="1572864" @@ -30,12 +36,38 @@ LOGROTATE_ROTATION_reboot_reason="3" LOGROTATE_SIZE_MEM_reboot_reason="1572864" LOGROTATE_ROTATION_MEM_reboot_reason="3" +LOGROTATE_LOGNAME_rebootInfo = "rebootInfo.log" +#HDD_ENABLE +LOGROTATE_SIZE_rebootInfo = "64000" +LOGROTATE_ROTATION_rebootInfo = "3" +#HDD_DISABLE +LOGROTATE_SIZE_MEM_rebootInfo = "64000" +LOGROTATE_ROTATION_MEM_rebootInfo = "3" + DEPENDS += "commonutilities telemetry rbus" RDEPENDS:${PN}:append = " bash" CFLAGS:append = " -std=c11 -fPIC -D_GNU_SOURCE -Wall -Werror " EXTRA_OECONF:append = " --enable-t2api=yes" +do_install:append() { + install -d ${D}${bindir} + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${S}/services/reboot-reason-logger.service ${D}${systemd_unitdir}/system + install -m 0644 ${S}/services/update-reboot-info.path ${D}${systemd_unitdir}/system + install -m 0644 ${S}/services/update-reboot-info.service ${D}${systemd_unitdir}/system + + if [ "${ENABLE_SYSLOGNG}" = "true" ]; then + echo "SYSLOG_NG_ENABLED=true" >> ${D}${sysconfdir}/device-middleware.properties + install -D -m 0644 ${S}/systemd_units/after_syslog-ng.conf ${D}${systemd_unitdir}/system/reboot-reason-logger.service.d/reboot-reason-logger.conf + fi + + install -d ${D}${base_libdir}/rdk + install -m 0755 ${S}/scripts/reboot-checker.sh ${D}${base_libdir}/rdk + install -m 0755 ${S}/scripts/rebootNow.sh ${D}${base_libdir}/rdk + ln -sf ${base_libdir}/rdk/rebootNow.sh ${D}/ +} + # generating minidumps symbols inherit breakpad-wrapper BREAKPAD_BIN:append = " rebootnow" @@ -45,4 +77,10 @@ PACKAGECONFIG[breakpad] = "--enable-breakpad,,breakpad," LDFLAGS += "-lbreakpadwrapper -lpthread -lstdc++" CXXFLAGS += "-DINCLUDE_BREAKPAD" +SYSTEMD_SERVICE:${PN} += "reboot-reason-logger.service" +SYSTEMD_SERVICE:${PN} += "update-reboot-info.path" +SYSTEMD_SERVICE:${PN} += "update-reboot-info.service" + +FILES:${PN} += "${base_libdir}/rdk/*" +FILES:${PN} += "/rebootNow.sh" FILES:${PN} += "${bindir}/rebootnow" From ac6ee43d93d10574be8de0b41e5dc3dbcafa2bb5 Mon Sep 17 00:00:00 2001 From: Gene Gallagher Date: Mon, 20 Apr 2026 17:03:28 -0400 Subject: [PATCH 194/274] RDKEMW-15317: [meta-rdk TEST] ensure proper shutdown order of ctrlm-main --- recipes-support/reboot-manager/reboot-manager.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-support/reboot-manager/reboot-manager.bb b/recipes-support/reboot-manager/reboot-manager.bb index d211de7e4..654b31553 100644 --- a/recipes-support/reboot-manager/reboot-manager.bb +++ b/recipes-support/reboot-manager/reboot-manager.bb @@ -16,7 +16,7 @@ PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/reboot-manager;${CMF_GITHUB_SRC_URI_SUFFIX};name=reboot-manager" -SRCREV_reboot-manager = "1b5617316afe12c9b8f3836d05d10668d0c43015" +SRCREV_reboot-manager = "6bbd47bf42f580040eb15df656d91d1f0a2522c7" S = "${WORKDIR}/git" From 99ab48bc4c1c1fe13a9e5ef5bb673851d7d68c16 Mon Sep 17 00:00:00 2001 From: Gene Gallagher Date: Tue, 21 Apr 2026 11:59:59 -0400 Subject: [PATCH 195/274] update to official release tag --- recipes-support/reboot-manager/reboot-manager.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-support/reboot-manager/reboot-manager.bb b/recipes-support/reboot-manager/reboot-manager.bb index 654b31553..7f449bc7b 100644 --- a/recipes-support/reboot-manager/reboot-manager.bb +++ b/recipes-support/reboot-manager/reboot-manager.bb @@ -11,12 +11,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" FILESEXTRAPATHS:prepend := "${THISDIR}:" -PV = "2.1.0" +PV = "2.1.1" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/reboot-manager;${CMF_GITHUB_SRC_URI_SUFFIX};name=reboot-manager" -SRCREV_reboot-manager = "6bbd47bf42f580040eb15df656d91d1f0a2522c7" +SRCREV_reboot-manager = "5de4df3576381199cede30bcd0bc2ecab37ff6db" S = "${WORKDIR}/git" From 3b5eaa5642d4dc8315fbad16aac82b8e330de783 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Tue, 28 Apr 2026 16:09:31 +0530 Subject: [PATCH 196/274] Update remotedebugger.bb (#791) --- recipes-extended/remotedebugger/remotedebugger.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-extended/remotedebugger/remotedebugger.bb b/recipes-extended/remotedebugger/remotedebugger.bb index 855050dc7..cc1affbd0 100644 --- a/recipes-extended/remotedebugger/remotedebugger.bb +++ b/recipes-extended/remotedebugger/remotedebugger.bb @@ -2,10 +2,10 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" -PV = "1.3.2" +PV = "1.3.3" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "8f793e69b6b2b91a27c6a8148014207788503efa" +SRCREV = "7151d208ced521de7ee7dee66cca6aea951e95b3" SRC_URI = "${CMF_GITHUB_ROOT}/remote_debugger;${CMF_GITHUB_SRC_URI_SUFFIX};name=generic" SRCREV_FORMAT = "generic" From 7c1d1d62f820dd48ffc7017746208d1059870cae Mon Sep 17 00:00:00 2001 From: KTirumalaSrihari <102281309+KTirumalaSrihari@users.noreply.github.com> Date: Tue, 28 Apr 2026 16:10:38 +0530 Subject: [PATCH 197/274] Update rfc_git.bb - change PV from 1.2.3 to 1.2.4 (#792) --- recipes-common/rfc/rfc_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index 44862261f..29cf8bda2 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=bef3b9130aa5d626df3f7171f2dadfe2" PACKAGECONFIG ??= "rfctool" PACKAGECONFIG[rfctool] = "--enable-rfctool=yes" -PV = "1.2.3" +PV = "1.2.4" PR = "r0" -SRCREV = "b28be8f5a03c6847ed3b1d96b36f4e5b48f480c9" +SRCREV = "bbd6476e94f1d83475beb4c6115bc964226bd958" SRC_URI = "${CMF_GITHUB_ROOT}/rfc;${CMF_GITHUB_SRC_URI_SUFFIX};name=rfc" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" S = "${WORKDIR}/git" From 5b310d55740ec11501df042a5cb280e1b5ac5a1e Mon Sep 17 00:00:00 2001 From: svc_rdkgerrit02 Date: Tue, 28 Apr 2026 21:16:13 +0000 Subject: [PATCH 198/274] Adding changelog --- CHANGELOG.md | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 76 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 565702757..ad4b33b15 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,63 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [1.18.0](https://github.com/rdkcentral/meta-rdk/compare/1.17.1...1.18.0) + +- RDKEMW-15317: ensure proper shutdown order of ctrlm-main [`#783`](https://github.com/rdkcentral/meta-rdk/pull/783) +- rebase [`#788`](https://github.com/rdkcentral/meta-rdk/pull/788) +- RDKEMW-13941: Update Dobby to v3.17.0 [`#767`](https://github.com/rdkcentral/meta-rdk/pull/767) +- RDKEMW-15490: Relocated script from sysint to reboot-manager [`#755`](https://github.com/rdkcentral/meta-rdk/pull/755) +- RDKEMW-15944: Update bluetooth components to latest for gaming change… [`#687`](https://github.com/rdkcentral/meta-rdk/pull/687) +- RDKEMW-16447: Update vm.dirty_ratio and vm.dirty_background_ratio [`#743`](https://github.com/rdkcentral/meta-rdk/pull/743) +- RDKEMW-15218: Update validate_pr_title.yml [`#648`](https://github.com/rdkcentral/meta-rdk/pull/648) +- RDK-60291 : [Telemetry] Fix and Document Coverity Issues in Telemetry [`#772`](https://github.com/rdkcentral/meta-rdk/pull/772) +- Update commonutilities_git.bb [`#759`](https://github.com/rdkcentral/meta-rdk/pull/759) +- RDKEMW-14022: Update crashupload_git.bb with SRCREV [`#720`](https://github.com/rdkcentral/meta-rdk/pull/720) +- RDKEMW-16430 : RDM - Download on demand rdm packages are downloading when the rfc value is not found [`#769`](https://github.com/rdkcentral/meta-rdk/pull/769) +- RDKEMW-14594: Update Dobby to v3.17.0 [`#751`](https://github.com/rdkcentral/meta-rdk/pull/751) +- RDKEMW-16758: [RDKEMW][Alpaca DE]Box boot up time is extended post reboot - Merge To develop [`#746`](https://github.com/rdkcentral/meta-rdk/pull/746) +- Rebased develop [`#753`](https://github.com/rdkcentral/meta-rdk/pull/753) +- RDKEMW-15567: Backmerge release branch to develop for MW 8.5.3.0 [`#744`](https://github.com/rdkcentral/meta-rdk/pull/744) +- RDKEMW-14720 : Unify Reboot Manager Codebase with >90% L1/L2 Coverage [`#708`](https://github.com/rdkcentral/meta-rdk/pull/708) +- RDKEMW-14646: Add meminsight and processmoniter tool [`#636`](https://github.com/rdkcentral/meta-rdk/pull/636) +- RDKEMW-15263: command injection via /lib/rdk/getRFC.sh [`#738`](https://github.com/rdkcentral/meta-rdk/pull/738) +- RDKEMW-14121 : Added Mediatek Platform support in Memcapture Code Base [`#626`](https://github.com/rdkcentral/meta-rdk/pull/626) +- RDKEMW-16478:Middleware Builds fail to upload IPKS [`#730`](https://github.com/rdkcentral/meta-rdk/pull/730) +- RDKEMW-12450 : Move platform components to github [`#686`](https://github.com/rdkcentral/meta-rdk/pull/686) +- RDKEMW-16410: Enable rm_work in middleware [`#718`](https://github.com/rdkcentral/meta-rdk/pull/718) +- RDK-61009: Port Log Backup Scripts to Source code [`#712`](https://github.com/rdkcentral/meta-rdk/pull/712) +- RDK-60558 : RDK Coverity Defect Resolution for RDM Agent [`#710`](https://github.com/rdkcentral/meta-rdk/pull/710) +- RDKEMW-15233: Integrate Telemetry Release 1.8.5 [`#692`](https://github.com/rdkcentral/meta-rdk/pull/692) +- Update rfc_git.bb [`#570`](https://github.com/rdkcentral/meta-rdk/pull/570) +- Rebased develop [`#691`](https://github.com/rdkcentral/meta-rdk/pull/691) +- RDKEMW-15263: command injection via /lib/rdk/getRFC.sh [`#689`](https://github.com/rdkcentral/meta-rdk/pull/689) +- RDK-60307 [RRD] RDK Coverity Defect Resolution for Device Management [`#585`](https://github.com/rdkcentral/meta-rdk/pull/585) +- RDKEMW-15467 : do_populate_sdk task fails for MW test image with reboot-manager-dev [`#662`](https://github.com/rdkcentral/meta-rdk/pull/662) +- Rebased develop [`#682`](https://github.com/rdkcentral/meta-rdk/pull/682) +- RDKEMW-15664 : handle deepsleep in chrony [`#671`](https://github.com/rdkcentral/meta-rdk/pull/671) +- RDKEMW-15263: command injection via /lib/rdk/getRFC.sh [`#672`](https://github.com/rdkcentral/meta-rdk/pull/672) +- RDKEMW-15233: Integrate 0.0.1 release for reboot-manager [`#659`](https://github.com/rdkcentral/meta-rdk/pull/659) +- RDKEMW-14726 : Implement Chrony runtime selection for Time Sync (#632) [`#649`](https://github.com/rdkcentral/meta-rdk/pull/649) +- Rebased develop [`#642`](https://github.com/rdkcentral/meta-rdk/pull/642) +- rebase develop [`#631`](https://github.com/rdkcentral/meta-rdk/pull/631) +- update to official release tag [`99ab48b`](https://github.com/rdkcentral/meta-rdk/commit/99ab48bc4c1c1fe13a9e5ef5bb673851d7d68c16) +- RDKEMW-15317: [meta-rdk TEST] ensure proper shutdown order of ctrlm-main [`ac6ee43`](https://github.com/rdkcentral/meta-rdk/commit/ac6ee43d93d10574be8de0b41e5dc3dbcafa2bb5) +- Merge pull request #768 from rdkcentral/develop [`8f4c53f`](https://github.com/rdkcentral/meta-rdk/commit/8f4c53ff8085396df628c8a01d9d06d9b5aaad6d) + +#### [1.17.1](https://github.com/rdkcentral/meta-rdk/compare/1.17.0...1.17.1) + +> 20 April 2026 + +- RDKEMW-15949, RDKEMW-17075:Update bluetooth components to latest v1.0.10 [`#775`](https://github.com/rdkcentral/meta-rdk/pull/775) +- RDKEMW-16183 : Add 500MB as extra swap for app container [`#758`](https://github.com/rdkcentral/meta-rdk/pull/758) +- RDKEMW-15927: [Alpaca DE]Box boot up time is extended post reboot - Merge To 8.5 [`#747`](https://github.com/rdkcentral/meta-rdk/pull/747) +- RDKEMW-16448: Update vm.dirty_ratio and vm.dirty_background_ratio [`#749`](https://github.com/rdkcentral/meta-rdk/pull/749) +- Adding changelog [`c26de3d`](https://github.com/rdkcentral/meta-rdk/commit/c26de3d923aa29be49a5eca0ffb75db4fc430b07) + #### [1.17.0](https://github.com/rdkcentral/meta-rdk/compare/1.16.0...1.17.0) +> 3 April 2026 + - RDKEMW-15815: [8.5.3.0] stop ctrlm-main service before bluez for graceful reboot [`#679`](https://github.com/rdkcentral/meta-rdk/pull/679) - RDKEMW-15233: Integrate Telemetry Release 1.8.5 [`#694`](https://github.com/rdkcentral/meta-rdk/pull/694) - RDKEMW-15233: Integrate 0.0.1 release for reboot-manager [`#693`](https://github.com/rdkcentral/meta-rdk/pull/693) @@ -27,9 +82,9 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - RDKEMW-4941 : bcm bb/bbappend analysis for bluetooth-mgr [`#566`](https://github.com/rdkcentral/meta-rdk/pull/566) - RDKEMW-13417 : Update SRCREV for crashupload v2.0.1 [`#529`](https://github.com/rdkcentral/meta-rdk/pull/529) - RDKEMW-14095: Extend the allowed JIRA buckets list in commit messages [`#572`](https://github.com/rdkcentral/meta-rdk/pull/572) +- Adding changelog [`2a49dfa`](https://github.com/rdkcentral/meta-rdk/commit/2a49dfac017d7bcbcdaadb1b7f73c27c2bc74d06) - Update chrony-sync-notify.sh [`154ecae`](https://github.com/rdkcentral/meta-rdk/commit/154ecaeeeec841835d44f33f37c3e5e3b24f364b) - RDKEMW-15175: Fix copilot comments [`71ac0e1`](https://github.com/rdkcentral/meta-rdk/commit/71ac0e17cec73a5060d1a7a07086d84ef6de3dd9) -- Update systimemgr_git.bb [`a91a9b5`](https://github.com/rdkcentral/meta-rdk/commit/a91a9b5d7ca6831715c9316d0b83da18d5c1b851) #### [1.16.0](https://github.com/rdkcentral/meta-rdk/compare/1.15.0...1.16.0) @@ -58,7 +113,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - RDKEMW-13838: Dobby 3.16.1 release [`57bf982`](https://github.com/rdkcentral/meta-rdk/commit/57bf9826c1b05d9421bfb557a8d3a8de34ca3644) - Update dobby.inc [`35a25dd`](https://github.com/rdkcentral/meta-rdk/commit/35a25dd77ef014cabdcbfaa11f00440c6888571e) -#### [1.15.0](https://github.com/rdkcentral/meta-rdk/compare/1.14.3...1.15.0) +#### [1.15.0](https://github.com/rdkcentral/meta-rdk/compare/1.14.4...1.15.0) > 28 January 2026 @@ -79,6 +134,17 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Update rdmagent.bb [`f302c98`](https://github.com/rdkcentral/meta-rdk/commit/f302c98b36c2a5e41b98fbbd800df9f2a11b1367) - Update memcapture_git.bb [`668d81b`](https://github.com/rdkcentral/meta-rdk/commit/668d81bf19812679c7df7307491c25ad5a26cc22) +#### [1.14.4](https://github.com/rdkcentral/meta-rdk/compare/1.14.3...1.14.4) + +> 7 April 2026 + +- RDKEMW-16167: Update vm.dirty_ratio and vm.dirty_background_ratio [`#728`](https://github.com/rdkcentral/meta-rdk/pull/728) +- RDKEMW-16179: Dobby patch to remove swap limit from containers [`#707`](https://github.com/rdkcentral/meta-rdk/pull/707) +- RDKEMW-15166: [support/8.4.4.0] Dobby Patch release v3.16.2 [`#646`](https://github.com/rdkcentral/meta-rdk/pull/646) +- Revert "RDKEMW-16167: Update vm.dirty_ratio and vm.dirty_background_ratio" [`#704`](https://github.com/rdkcentral/meta-rdk/pull/704) +- RDKEMW-16167: Update vm.dirty_ratio and vm.dirty_background_ratio [`#703`](https://github.com/rdkcentral/meta-rdk/pull/703) +- Adding changelog [`fa7afbe`](https://github.com/rdkcentral/meta-rdk/commit/fa7afbe3916ca738bf7dba6fc0d8963b9ce62fff) + #### [1.14.3](https://github.com/rdkcentral/meta-rdk/compare/1.14.2...1.14.3) > 13 March 2026 @@ -160,7 +226,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Adding changelog [`a252dcb`](https://github.com/rdkcentral/meta-rdk/commit/a252dcb4894055510980e6398d95b645da8aa665) - Update memcapture_git.bb [`461823f`](https://github.com/rdkcentral/meta-rdk/commit/461823f13c2f5bb2a19911196ed8088c58c2b8e3) -#### [1.12.0](https://github.com/rdkcentral/meta-rdk/compare/1.11.3...1.12.0) +#### [1.12.0](https://github.com/rdkcentral/meta-rdk/compare/1.11.4...1.12.0) > 28 October 2025 @@ -178,6 +244,13 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Update dobby.inc [`9afb276`](https://github.com/rdkcentral/meta-rdk/commit/9afb2760a9e083870673f5dd67dbd08cfdf79d5d) - RDK-58045 : Upgrade rbus that contains low priority coverity fixes(#275) [`adfb54c`](https://github.com/rdkcentral/meta-rdk/commit/adfb54c7871456ddf224a86163a54e494c7868f7) +#### [1.11.4](https://github.com/rdkcentral/meta-rdk/compare/1.11.3...1.11.4) + +> 17 April 2026 + +- RDKEMW-16181: remove swap limit from containers [`#706`](https://github.com/rdkcentral/meta-rdk/pull/706) +- Adding changelog [`ae75ec0`](https://github.com/rdkcentral/meta-rdk/commit/ae75ec02f21e246946dbc6f287b3d02e3c8fb633) + #### [1.11.3](https://github.com/rdkcentral/meta-rdk/compare/1.11.2...1.11.3) > 24 March 2026 From a131fb4063a357fb444523df418f832363126d7a Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Wed, 29 Apr 2026 10:51:36 +0530 Subject: [PATCH 199/274] RDKEMW-15490- Migrate reboot-checker into reboot-manager and eliminate shell/rbus dependencies (#794) --- recipes-support/reboot-manager/reboot-manager.bb | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/recipes-support/reboot-manager/reboot-manager.bb b/recipes-support/reboot-manager/reboot-manager.bb index 7f449bc7b..73cd1890d 100644 --- a/recipes-support/reboot-manager/reboot-manager.bb +++ b/recipes-support/reboot-manager/reboot-manager.bb @@ -11,19 +11,19 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" FILESEXTRAPATHS:prepend := "${THISDIR}:" -PV = "2.1.1" +PV = "2.2.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/reboot-manager;${CMF_GITHUB_SRC_URI_SUFFIX};name=reboot-manager" -SRCREV_reboot-manager = "5de4df3576381199cede30bcd0bc2ecab37ff6db" +SRCREV_reboot-manager = "b4cd16f1844161bb6a3c58167208123a0a413339" S = "${WORKDIR}/git" inherit autotools coverity systemd syslog-ng-config-gen logrotate_config SYSLOG-NG_FILTER = "reboot_reason" -SYSLOG-NG_SERVICE_reboot_reason = "reboot-reason-logger.service update-reboot-info.service" +SYSLOG-NG_SERVICE_reboot_reason = "update-reboot-info.service" SYSLOG-NG_DESTINATION_reboot_reason = "rebootreason.log" SYSLOG-NG_LOGRATE_reboot_reason = "low" @@ -53,17 +53,15 @@ EXTRA_OECONF:append = " --enable-t2api=yes" do_install:append() { install -d ${D}${bindir} install -d ${D}${systemd_unitdir}/system - install -m 0644 ${S}/services/reboot-reason-logger.service ${D}${systemd_unitdir}/system install -m 0644 ${S}/services/update-reboot-info.path ${D}${systemd_unitdir}/system install -m 0644 ${S}/services/update-reboot-info.service ${D}${systemd_unitdir}/system if [ "${ENABLE_SYSLOGNG}" = "true" ]; then echo "SYSLOG_NG_ENABLED=true" >> ${D}${sysconfdir}/device-middleware.properties - install -D -m 0644 ${S}/systemd_units/after_syslog-ng.conf ${D}${systemd_unitdir}/system/reboot-reason-logger.service.d/reboot-reason-logger.conf fi install -d ${D}${base_libdir}/rdk - install -m 0755 ${S}/scripts/reboot-checker.sh ${D}${base_libdir}/rdk + install -m 0755 ${S}/scripts/update_previous_reboot_info.sh ${D}${base_libdir}/rdk install -m 0755 ${S}/scripts/rebootNow.sh ${D}${base_libdir}/rdk ln -sf ${base_libdir}/rdk/rebootNow.sh ${D}/ } @@ -77,7 +75,6 @@ PACKAGECONFIG[breakpad] = "--enable-breakpad,,breakpad," LDFLAGS += "-lbreakpadwrapper -lpthread -lstdc++" CXXFLAGS += "-DINCLUDE_BREAKPAD" -SYSTEMD_SERVICE:${PN} += "reboot-reason-logger.service" SYSTEMD_SERVICE:${PN} += "update-reboot-info.path" SYSTEMD_SERVICE:${PN} += "update-reboot-info.service" From e04143f9680bc0ef623975be9524424b42fcfbbc Mon Sep 17 00:00:00 2001 From: Yogeswaran K <166126056+yogeswaransky@users.noreply.github.com> Date: Wed, 29 Apr 2026 15:29:34 +0530 Subject: [PATCH 200/274] RDKEMW-16851: Integrate telemetry release 1.9.1 (#804) --- recipes-common/telemetry/telemetry_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index 636ac67d1..0767ee779 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -4,7 +4,7 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -SRCREV = "740ff93ef52a117aaba5bf3fd098b9cb8ad66828" +SRCREV = "d728e85937fafcb61b7223105fb3f58a2f64a436" SRC_URI = "${CMF_GITHUB_ROOT}/telemetry;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -14,7 +14,7 @@ DEPENDS += "rdk-logger" RDEPENDS:${PN} += "curl cjson glib-2.0 rbus" -PV = "1.9.0" +PV = "1.9.1" PR = "r0" S = "${WORKDIR}/git" From d8fc05c7873d1d0fa850c97b4365f0e2f3d86366 Mon Sep 17 00:00:00 2001 From: Jayapriya0609 Date: Wed, 29 Apr 2026 16:08:14 +0530 Subject: [PATCH 201/274] RDKEMW-17757: Update 98-sysctl-mw.conf to bring changes of RDKEMW-16967 --- recipes-core/sysctl/files/98-sysctl-mw.conf | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes-core/sysctl/files/98-sysctl-mw.conf b/recipes-core/sysctl/files/98-sysctl-mw.conf index 38144b4b2..98a02b79c 100644 --- a/recipes-core/sysctl/files/98-sysctl-mw.conf +++ b/recipes-core/sysctl/files/98-sysctl-mw.conf @@ -3,7 +3,7 @@ net.netfilter.nf_conntrack_helper = 0 vm.panic_on_oom = 1 vm.overcommit_memory = 0 -kernel.panic = 3 +kernel.panic = 40 kernel.panic_on_oops = 1 net.ipv6.conf.all.forwarding = 0 @@ -33,5 +33,6 @@ net.core.rmem_max=1048576 vm.swappiness=80 vm.vfs_cache_pressure=200 vm.watermark_scale_factor=40 -vm.dirty_background_ratio=@RDK_VM_DIRTY_BACKGROUND_RATIO@ -vm.dirty_ratio=@RDK_VM_DIRTY_RATIO@ +vm.dirty_background_ratio=10 +vm.dirty_ratio=20 +vm.drop_caches=0 From fd23bd340c8f13319f4b8ac5b6d01c86b095d5f0 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Thu, 30 Apr 2026 16:57:14 +0530 Subject: [PATCH 202/274] Update dcmd.bb (#816) --- recipes-common/dcmd/dcmd.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/dcmd/dcmd.bb b/recipes-common/dcmd/dcmd.bb index 1b434dcde..d6c4f9c40 100644 --- a/recipes-common/dcmd/dcmd.bb +++ b/recipes-common/dcmd/dcmd.bb @@ -12,9 +12,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2441d6cdabdc0f370be5cd8a746eb647" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "10721084f1b5d32d0bf64cefa8f103eab7b02ad8" +SRCREV = "7461693af0d9c1c8fbd3fb4fd374ef8858041608" SRC_URI = "${CMF_GITHUB_ROOT}/dcm-agent;${CMF_GITHUB_SRC_URI_SUFFIX}" -PV = "2.1.1" +PV = "2.1.2" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From a6b4a60529f354ed2cbc7a4bb064b6c9f591d6c8 Mon Sep 17 00:00:00 2001 From: Gomathi Shankar Date: Tue, 5 May 2026 19:23:22 +0530 Subject: [PATCH 203/274] RDKEMW-16701: Update SRCREV for common_utilities (#770) --- recipes-common/utils/commonutilities_git.bb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes-common/utils/commonutilities_git.bb b/recipes-common/utils/commonutilities_git.bb index f6c9465ca..1880418de 100644 --- a/recipes-common/utils/commonutilities_git.bb +++ b/recipes-common/utils/commonutilities_git.bb @@ -3,7 +3,8 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=24691c8ce48996ecd1102d29eab1216e" # To have a possibility to override SRC_URI later, we are introducing the following workaround: -SRCREV = "45ef9f4c61483cc735001d3802d305b86c14ec70" +SRCREV = "a97a431ad0d149f4dc9521cf1d49c150d421cce9" + SRC_URI = "${CMF_GITHUB_ROOT}/common_utilities;module=.;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -24,7 +25,7 @@ LDFLAGS:append = " -lsafec -lsecure_wrapper" CFLAGS:append = " -DRDK_LOGGER" -PV = "1.5.4" +PV = "1.5.5" PR = "r0" S = "${WORKDIR}/git" From ccc00dd6474ab7c2225b3614e11ee2d9cfca0953 Mon Sep 17 00:00:00 2001 From: tabbas651 <74683978+tabbas651@users.noreply.github.com> Date: Thu, 7 May 2026 12:14:34 -0400 Subject: [PATCH 204/274] RDKEMW-15199: Integrate telemetry release 1.9.2 (#827) --- recipes-common/telemetry/telemetry_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index 0767ee779..dbdb33453 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -4,7 +4,7 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -SRCREV = "d728e85937fafcb61b7223105fb3f58a2f64a436" +SRCREV = "6c9c816b660ccf7102e72a3715107a12d75912c7" SRC_URI = "${CMF_GITHUB_ROOT}/telemetry;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -14,7 +14,7 @@ DEPENDS += "rdk-logger" RDEPENDS:${PN} += "curl cjson glib-2.0 rbus" -PV = "1.9.1" +PV = "1.9.2" PR = "r0" S = "${WORKDIR}/git" From 18c20db0d06ef30729e136afc4b970a12e20b183 Mon Sep 17 00:00:00 2001 From: Karthick Swaminathan <85346280+ks734@users.noreply.github.com> Date: Mon, 11 May 2026 12:47:07 +0530 Subject: [PATCH 205/274] Update dobby.inc --- recipes-containers/dobby/dobby.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index 6b5ee45b3..11de3a848 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,5 +1,5 @@ -SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.17" +SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=develop" -PV = "3.17.0" +PV = "3.18.0" PR = "r0" -SRCREV = "9724e8af17da730ee1da7e780819483601d47953" +SRCREV = "c698d1c387db21597fb418de6e379ba3d5fda285" From 4563e40a30283d97eb674866a67ae2acb076e2e3 Mon Sep 17 00:00:00 2001 From: sindhu-krishnan <102755514+sindhu-krishnan@users.noreply.github.com> Date: Thu, 14 May 2026 15:31:49 +0530 Subject: [PATCH 206/274] RDKEMW-15246 : Chrony Enhancements (#834) --- .../chrony/files/chrony-conf-update.sh | 219 +++++++++--------- .../chrony/files/chrony_tracking.sh | 2 +- recipes-support/chrony/files/rdk_chrony.conf | 3 + 3 files changed, 110 insertions(+), 114 deletions(-) diff --git a/recipes-support/chrony/files/chrony-conf-update.sh b/recipes-support/chrony/files/chrony-conf-update.sh index 86efd7214..19722256e 100644 --- a/recipes-support/chrony/files/chrony-conf-update.sh +++ b/recipes-support/chrony/files/chrony-conf-update.sh @@ -23,8 +23,6 @@ LOG_FILE="/opt/logs/chrony.log" -attempts=1 -max_attempts=5 CHRONY_CONF=/etc/rdk_chrony.conf DEFAULT_MINPOLL="10" DEFAULT_MAXPOLL="12" @@ -42,33 +40,6 @@ ntpLog() echo "`/bin/timestamp` : $0: $*" >> "$LOG_FILE" } -# ----------------------------------------------------------------------------- -# Set system time based on LKG value or build time, if neither is available, log error -# ----------------------------------------------------------------------------- -CLOCK_FILE="/opt/secure/clock.txt" -VERSION_FILE="/version.txt" - -if [ -f "$CLOCK_FILE" ]; then - TIME_VAL=$(cat "$CLOCK_FILE") - if [[ "$TIME_VAL" =~ ^[0-9]+$ ]]; then - HUMAN_DATE=$(date -d "@$TIME_VAL") - ntpLog "Setting system time to LKG: $HUMAN_DATE (epoch $TIME_VAL)" - date -s "@$TIME_VAL" - else - ntpLog "Invalid time value in $CLOCK_FILE" - fi -elif [ -f "$VERSION_FILE" ]; then - BUILD_TIME=$(grep '^BUILD_TIME=' "$VERSION_FILE" | cut -d= -f2- | tr -d '"') - if [ -n "$BUILD_TIME" ]; then - ntpLog "Setting system time to build time: $BUILD_TIME" - date -s "$BUILD_TIME" - else - ntpLog "BUILD_TIME not found in $VERSION_FILE" - fi -else - ntpLog "Neither $CLOCK_FILE nor $VERSION_FILE found" -fi - # ----------------------------------------------------------------------------- # Fetch NTP server hostnames and poll intervals using property scripts # ----------------------------------------------------------------------------- @@ -79,19 +50,14 @@ if [ -f /lib/rdk/getPartnerProperty.sh ]; then hostName3=`/lib/rdk/getPartnerProperty.sh ntpHost3` hostName4=`/lib/rdk/getPartnerProperty.sh ntpHost4` hostName5=`/lib/rdk/getPartnerProperty.sh ntpHost5` - - minPoll=`/lib/rdk/getPartnerProperty.sh NTPMinpoll` - maxPoll=`/lib/rdk/getPartnerProperty.sh NTPMaxpoll` - - # Fetch directives for each NTP server (optional, fallback to server) - directive1=$( /lib/rdk/getPartnerProperty.sh NTPServer1Directive ) - directive2=$( /lib/rdk/getPartnerProperty.sh NTPServer2Directive ) - directive3=$( /lib/rdk/getPartnerProperty.sh NTPServer3Directive ) - directive4=$( /lib/rdk/getPartnerProperty.sh NTPServer4Directive ) - directive5=$( /lib/rdk/getPartnerProperty.sh NTPServer5Directive ) - - maxstep=`/lib/rdk/getPartnerProperty.sh NTPMaxstep` - + + settings1=`/lib/rdk/getPartnerProperty.sh ntpHost1Settings` + settings2=`/lib/rdk/getPartnerProperty.sh ntpHost2Settings` + settings3=`/lib/rdk/getPartnerProperty.sh ntpHost3Settings` + settings4=`/lib/rdk/getPartnerProperty.sh ntpHost4Settings` + settings5=`/lib/rdk/getPartnerProperty.sh ntpHost5Settings` + + maxstep=`/lib/rdk/getPartnerProperty.sh ntpMakestep` fi } @@ -130,106 +96,133 @@ get_ntp_hosts_from_bootstrap() { return 0 } +strip_dynamic_entries() { + local conf_file="$1" + local tmp_conf="/tmp/rdk_chrony.conf.$$" -ntpLog "Retrieve NTP Server URL from /lib/rdk/getPartnerProperty.sh..." -while [ "$attempts" -le "$max_attempts" ]; do + # Remove all server, pool, and makestep lines so every run starts from a + # clean slate — partner entries from a previous run are cleared along with + # build-time defaults, making a separate deduplication step unnecessary. + awk '!/^[[:space:]]*(server|pool|makestep)[[:space:]]/' \ + "$conf_file" > "$tmp_conf" + cat "$tmp_conf" > "$conf_file" - ntpLog "Attempt $attempts/$max_attempts to retrieve NTP server URL(s)..." - get_ntp_hosts + rm -f "$tmp_conf" +} - if [ "$hostName" ] || [ "$hostName2" ] || [ "$hostName3" ] || [ "$hostName4" ] || [ "$hostName5" ]; then - break - fi +strip_makestep_only() { + local conf_file="$1" + local tmp_conf="/tmp/rdk_chrony.conf.$$" - # If this is the last attempt, try bootstrap as fallback and then break - if [ $attempts -eq $max_attempts ]; then - ntpLog "TR-181 returned empty NTP server list; falling back to /opt/secure/RFC/bootstrap.ini..." - get_ntp_hosts_from_bootstrap - break - fi + awk '!/^[[:space:]]*makestep[[:space:]]/' \ + "$conf_file" > "$tmp_conf" + cat "$tmp_conf" > "$conf_file" - sleep 3 - attempts=$((attempts + 1)) + rm -f "$tmp_conf" +} -done +# Write the makestep directive using $maxstep if valid ("float,int"), +# otherwise fall back to the default "1.0 3". +write_makestep() { + if [ -n "$maxstep" ]; then + if echo "$maxstep" | grep -Eq '^[0-9]+(\.[0-9]+)?,[0-9]+$'; then + stepval="${maxstep%%,*}" + stepcount="${maxstep##*,}" + echo "makestep $stepval $stepcount" >> "$CHRONY_CONF" + ntpLog "Added makestep $stepval $stepcount to $CHRONY_CONF" + else + echo "makestep 1.0 3" >> "$CHRONY_CONF" + ntpLog "Makestep value '$maxstep' is invalid, using default makestep 1.0 3 in $CHRONY_CONF" + fi + else + echo "makestep 1.0 3" >> "$CHRONY_CONF" + ntpLog "Makestep is not set, using default makestep 1.0 3 in $CHRONY_CONF" + fi +} -# Use default polling intervals if not configured -# Validate that minPoll is not greater than maxPoll -[ -z "$minPoll" ] && minPoll="$DEFAULT_MINPOLL" -[ -z "$maxPoll" ] && maxPoll="$DEFAULT_MAXPOLL" +ntpLog "Retrieve NTP Server URL from /lib/rdk/getPartnerProperty.sh..." +get_ntp_hosts -if [ "$minPoll" -gt "$maxPoll" ]; then - ntpLog "ERROR: minPoll ($minPoll) is greater than maxPoll ($maxPoll), resetting both to defaults ($DEFAULT_MINPOLL/$DEFAULT_MAXPOLL)" - minPoll="$DEFAULT_MINPOLL" - maxPoll="$DEFAULT_MAXPOLL" +if ! ( [ "$hostName" ] || [ "$hostName2" ] || [ "$hostName3" ] || [ "$hostName4" ] || [ "$hostName5" ] ); then + ntpLog "TR-181 returned empty NTP server list; falling back to /opt/secure/RFC/bootstrap.ini..." + get_ntp_hosts_from_bootstrap fi -ntpLog "Minpoll:$minPoll MaxPoll:$maxPoll" hosts=("$hostName" "$hostName2" "$hostName3" "$hostName4" "$hostName5") -directives=("$directive1" "$directive2" "$directive3" "$directive4" "$directive5") +all_settings=("$settings1" "$settings2" "$settings3" "$settings4" "$settings5") ntpLog "NTP Server URL for the partner:${hosts[*]}" -conf_written=0 -> "$CHRONY_CONF" - -# Add makestep directive to chrony config to control threshold/step correction -if [ -n "$maxstep" ]; then - if echo "$maxstep" | grep -Eq '^[0-9]+(\.[0-9]+)?,[0-9]+$'; then - stepval="${maxstep%%,*}" - stepcount="${maxstep##*,}" - echo "makestep $stepval $stepcount" >> "$CHRONY_CONF" - ntpLog "Added makestep $stepval $stepcount to $CHRONY_CONF" +# If no partner URLs are available (even after bootstrap), update only the +# makestep directive if configured via TR-181, keeping the build-time default +# server lines untouched. +if ! ( [ "$hostName" ] || [ "$hostName2" ] || [ "$hostName3" ] || [ "$hostName4" ] || [ "$hostName5" ] ); then + if [ -n "$maxstep" ]; then + ntpLog "No partner NTP URLs found; updating makestep from TR-181 and retaining build-time server config" + strip_makestep_only "$CHRONY_CONF" + write_makestep else - echo "makestep 1.0 3" >> "$CHRONY_CONF" - ntpLog "NTPMaxstep value '$maxstep' is invalid, using default makestep 1.0 3 in $CHRONY_CONF" + ntpLog "No partner NTP URLs found; retaining build-time default configuration in $CHRONY_CONF" fi -else - echo "makestep 1.0 3" >> "$CHRONY_CONF" - ntpLog "NTPMaxstep is not set, using default makestep 1.0 3 in $CHRONY_CONF" + exit 0 fi +# Partner URLs are available — strip all server/pool/makestep entries so the +# update starts from a clean slate (idempotent across repeated runs). +ntpLog "Partner NTP URLs found; updating $CHRONY_CONF" +strip_dynamic_entries "$CHRONY_CONF" + +write_makestep + +# Parse a settings string "Type,MaxSources,Iburst,MinPoll,MaxPoll" into +# s_type, s_maxsources, s_iburst, s_minpoll, s_maxpoll. +# Falls back to defaults for any missing or invalid field. +parse_settings() { + local raw="$1" + s_type=$(echo "$raw" | cut -d',' -f1) + s_maxsources=$(echo "$raw" | cut -d',' -f2) + s_iburst=$(echo "$raw" | cut -d',' -f3) + s_minpoll=$(echo "$raw" | cut -d',' -f4) + s_maxpoll=$(echo "$raw" | cut -d',' -f5) + + # Normalise type: only "pool" is special, everything else is "server" + [ "$s_type" = "pool" ] || s_type="server" + + # Validate poll values; fall back to defaults if non-numeric or inverted + [[ "$s_minpoll" =~ ^[0-9]+$ ]] || s_minpoll="$DEFAULT_MINPOLL" + [[ "$s_maxpoll" =~ ^[0-9]+$ ]] || s_maxpoll="$DEFAULT_MAXPOLL" + if [ "$s_minpoll" -gt "$s_maxpoll" ]; then + ntpLog "WARNING: minpoll ($s_minpoll) > maxpoll ($s_maxpoll) in settings '$raw', using defaults" + s_minpoll="$DEFAULT_MINPOLL" + s_maxpoll="$DEFAULT_MAXPOLL" + fi + + # Normalise iburst: only literal "true" enables it + [ "$s_iburst" = "true" ] || s_iburst="false" +} + # Add NTP servers ("server" or "pool" directive) to the configuration file for i in $(seq 0 4); do host="${hosts[$i]}" - directive="${directives[$i]}" + raw="${all_settings[$i]}" if [ -n "$host" ]; then - # use directive if set, else default to server - [ -z "$directive" ] && directive="server" + parse_settings "$raw" - # Only allow server or pool, default to server otherwise - if [ "$directive" != "server" ] && [ "$directive" != "pool" ]; then - directive="server" - fi + iburst_opt="" + [ "$s_iburst" = "true" ] && iburst_opt=" iburst" - if [ "$directive" = "pool" ]; then - printf "%s %s iburst minpoll %s maxpoll %s maxsources 4\n" "$directive" "$host" "$minPoll" "$maxPoll" >> "$CHRONY_CONF" + if [ "$s_type" = "pool" ]; then + maxsources_opt="" + [[ "$s_maxsources" =~ ^[1-9][0-9]*$ ]] && maxsources_opt=" maxsources $s_maxsources" + printf "pool %s%s%s minpoll %s maxpoll %s\n" \ + "$host" "$maxsources_opt" "$iburst_opt" "$s_minpoll" "$s_maxpoll" >> "$CHRONY_CONF" else - printf "%s %s iburst minpoll %s maxpoll %s\n" "$directive" "$host" "$minPoll" "$maxPoll" >> "$CHRONY_CONF" + printf "server %s%s minpoll %s maxpoll %s\n" \ + "$host" "$iburst_opt" "$s_minpoll" "$s_maxpoll" >> "$CHRONY_CONF" fi - conf_written=1 fi done -# Remove duplicate NTP server entries, preserving only unique definitions - -TMP_FILE="/tmp/rdk_chrony.deduped" -awk ' -/^(server|pool)[ \t]+/ { - if (!seen[$0]++) print - next -} -{ print } -' "$CHRONY_CONF" > "$TMP_FILE" -cat "$TMP_FILE" > "$CHRONY_CONF" -rm -f "$TMP_FILE" - -# Fallback: If no valid NTP hosts found, use Google's public time server -if [ "$conf_written" -eq 0 ]; then - printf "server time.google.com iburst minpoll %s maxpoll %s\n" "$minPoll" "$maxPoll" >> "$CHRONY_CONF" - ntpLog "No valid NTP servers found, using fallback: time.google.com" -fi - ntpLog "Successfully updated $CHRONY_CONF" exit 0 diff --git a/recipes-support/chrony/files/chrony_tracking.sh b/recipes-support/chrony/files/chrony_tracking.sh index 36135ba9f..f4efcabdb 100644 --- a/recipes-support/chrony/files/chrony_tracking.sh +++ b/recipes-support/chrony/files/chrony_tracking.sh @@ -1,7 +1,7 @@ #!/bin/sh LOGFILE="/opt/logs/chrony.log" -timestamp=$(date "+%Y-%m-%d %H:%M:%S") +timestamp=$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ") { echo "$timestamp chrony telemetry:" diff --git a/recipes-support/chrony/files/rdk_chrony.conf b/recipes-support/chrony/files/rdk_chrony.conf index ecd10f7b6..3dda78852 100644 --- a/recipes-support/chrony/files/rdk_chrony.conf +++ b/recipes-support/chrony/files/rdk_chrony.conf @@ -1 +1,4 @@ # Configuration values in this file may change dynamically via TR-181 parameters. +makestep 1.0 3 +server global-bootstrap-time1.xfinity.com iburst minpoll 10 maxpoll 12 +server global-bootstrap-time2.xfinity.com iburst minpoll 10 maxpoll 12 From c8c44aefef27a023bfa4e27234b99ce9478c86a9 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Fri, 15 May 2026 11:18:21 +0530 Subject: [PATCH 207/274] RDK-60236 : Remote Debugger Supports UUID Information in Debug Report File (#852) --- recipes-extended/remotedebugger/remotedebugger.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-extended/remotedebugger/remotedebugger.bb b/recipes-extended/remotedebugger/remotedebugger.bb index cc1affbd0..ef3f09760 100644 --- a/recipes-extended/remotedebugger/remotedebugger.bb +++ b/recipes-extended/remotedebugger/remotedebugger.bb @@ -2,14 +2,14 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" -PV = "1.3.3" +PV = "1.3.4" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "7151d208ced521de7ee7dee66cca6aea951e95b3" +SRCREV = "4941e3899ab9217382788296594cd14350586268" SRC_URI = "${CMF_GITHUB_ROOT}/remote_debugger;${CMF_GITHUB_SRC_URI_SUFFIX};name=generic" SRCREV_FORMAT = "generic" -# Release version - 1.3.2 +# Release version - 1.3.4 S = "${WORKDIR}/git" CFLAGS += " -Wall -Werror" From 428f2cf566dc948e4a9c5f70dad1024a36e553bd Mon Sep 17 00:00:00 2001 From: ks734_comcast Date: Fri, 15 May 2026 13:22:15 +0530 Subject: [PATCH 208/274] RDKEMW-16534: Update dobby SRCREV to set swap unlimited by default --- recipes-containers/dobby/dobby.bb | 1 - recipes-containers/dobby/dobby.inc | 2 +- ...creased-swap-limit-for-the-container.patch | 63 ------------------- 3 files changed, 1 insertion(+), 65 deletions(-) delete mode 100644 recipes-containers/dobby/files/0001-RDKEMW-15176-increased-swap-limit-for-the-container.patch diff --git a/recipes-containers/dobby/dobby.bb b/recipes-containers/dobby/dobby.bb index d3e734a8c..edf6a927f 100644 --- a/recipes-containers/dobby/dobby.bb +++ b/recipes-containers/dobby/dobby.bb @@ -8,7 +8,6 @@ SRC_URI:append = " file://Fix_compile_gcc11.patch \ file://Add_config_header_kirkstone.patch \ file://dobby.generic.json \ file://dobby_start_after_apparmor.patch \ - file://0001-RDKEMW-15176-increased-swap-limit-for-the-container.patch \ " PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index 11de3a848..bb3f517e8 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -2,4 +2,4 @@ SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=develop" PV = "3.18.0" PR = "r0" -SRCREV = "c698d1c387db21597fb418de6e379ba3d5fda285" +SRCREV = "ace600cf72c9bfb0e03069aeb4f78710ebea78b7" diff --git a/recipes-containers/dobby/files/0001-RDKEMW-15176-increased-swap-limit-for-the-container.patch b/recipes-containers/dobby/files/0001-RDKEMW-15176-increased-swap-limit-for-the-container.patch deleted file mode 100644 index b59efd36c..000000000 --- a/recipes-containers/dobby/files/0001-RDKEMW-15176-increased-swap-limit-for-the-container.patch +++ /dev/null @@ -1,63 +0,0 @@ -From cc93063fc74c867ad07d69975191b70399d77e7e Mon Sep 17 00:00:00 2001 -From: Gurdal Oruklu -Date: Mon, 9 Mar 2026 20:00:35 +0000 -Subject: [PATCH] RDKEMW-15176: increased swap limit for the container - ---- - bundle/lib/source/DobbySpecConfig.cpp | 5 +++++ - .../lib/source/templates/OciConfigJson1.0.2-dobby.template | 2 +- - .../lib/source/templates/OciConfigJsonVM1.0.2-dobby.template | 2 +- - 3 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/bundle/lib/source/DobbySpecConfig.cpp b/bundle/lib/source/DobbySpecConfig.cpp -index 326d428a..d339dfd9 100644 ---- a/bundle/lib/source/DobbySpecConfig.cpp -+++ b/bundle/lib/source/DobbySpecConfig.cpp -@@ -62,6 +62,10 @@ static const ctemplate::StaticTemplateString USERNS_DISABLED = - - static const ctemplate::StaticTemplateString MEM_LIMIT = - STS_INIT(MEM_LIMIT, "MEM_LIMIT"); -+static const ctemplate::StaticTemplateString MEM_SWAP_LIMIT = -+ STS_INIT(MEM_SWAP_LIMIT, "MEM_SWAP_LIMIT"); -+ -+static constexpr unsigned MEM_SWAP_LIMIT_EXTRA_BYTES = 200u * 1024u * 1024u; - - static const ctemplate::StaticTemplateString CPU_SHARES_ENABLED = - STS_INIT(CPU_SHARES_ENABLED, "CPU_SHARES_ENABLED"); -@@ -1274,6 +1278,7 @@ bool DobbySpecConfig::processMemLimit(const Json::Value& value, - } - - dictionary->SetIntValue(MEM_LIMIT, memLimit); -+ dictionary->SetIntValue(MEM_SWAP_LIMIT, memLimit + MEM_SWAP_LIMIT_EXTRA_BYTES); - - return true; - } -diff --git a/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template b/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template -index 6cbdabd4..6b9dd85f 100644 ---- a/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template -+++ b/bundle/lib/source/templates/OciConfigJson1.0.2-dobby.template -@@ -328,7 +328,7 @@ static const char* ociJsonTemplate = R"JSON( - ], - "memory": { - "limit": {{MEM_LIMIT}}, -- "swap": {{MEM_LIMIT}}, -+ "swap": {{MEM_SWAP_LIMIT}}, - "swappiness": 60 - }, - "cpu": { -diff --git a/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template b/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template -index 21fe91d3..1dc6eb3b 100644 ---- a/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template -+++ b/bundle/lib/source/templates/OciConfigJsonVM1.0.2-dobby.template -@@ -339,7 +339,7 @@ static const char* ociJsonTemplate = R"JSON( - ], - "memory": { - "limit": {{MEM_LIMIT}}, -- "swap": {{MEM_LIMIT}}, -+ "swap": {{MEM_SWAP_LIMIT}}, - "swappiness": 60 - }, - "cpu": { --- -2.34.1 - From 143f4fbeabff2b00954d42dadf78f82673e7461f Mon Sep 17 00:00:00 2001 From: Karthick Swaminathan <85346280+ks734@users.noreply.github.com> Date: Fri, 15 May 2026 16:00:08 +0530 Subject: [PATCH 209/274] RDKEMW-12824: Update dobby SRCREV --- recipes-containers/dobby/dobby.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index bb3f517e8..96032616e 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -2,4 +2,4 @@ SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=develop" PV = "3.18.0" PR = "r0" -SRCREV = "ace600cf72c9bfb0e03069aeb4f78710ebea78b7" +SRCREV = "9dba0230d84f8c24169984b4a12a103883638298" From 4e1ad50c65ff27e358776d3b2d8e0a5fce613af3 Mon Sep 17 00:00:00 2001 From: Karthick Swaminathan <85346280+ks734@users.noreply.github.com> Date: Fri, 15 May 2026 17:35:35 +0530 Subject: [PATCH 210/274] RDKEMW-17764: Update Dobby v3.18.0 --- recipes-containers/dobby/dobby.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index 96032616e..48df659c7 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,5 +1,5 @@ -SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=develop" +SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.18" PV = "3.18.0" PR = "r0" -SRCREV = "9dba0230d84f8c24169984b4a12a103883638298" +SRCREV = "3c69a49df1e872f0a5f559543d9287b7980e515b" From cdba83c0301b08e8ba43d2edb3a1a88eeecfcd0a Mon Sep 17 00:00:00 2001 From: sindhu-krishnan <102755514+sindhu-krishnan@users.noreply.github.com> Date: Sun, 17 May 2026 19:34:42 +0530 Subject: [PATCH 211/274] RDKEMW-15246 : Chrony Enhancements (#853) --- recipes-common/systimemgr/systimemgr_git.bb | 4 ++-- recipes-common/systimemgr/systimemgrfactory_git.bb | 4 ++-- recipes-common/systimemgr/systimemgrinetrface_git.bb | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes-common/systimemgr/systimemgr_git.bb b/recipes-common/systimemgr/systimemgr_git.bb index b3aef2586..5caafab8e 100755 --- a/recipes-common/systimemgr/systimemgr_git.bb +++ b/recipes-common/systimemgr/systimemgr_git.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" DEPENDS = "systimemgrinetrface systimemgrfactory rdk-logger libsyswrapper wpeframework-clientlibraries telemetry" -SRCREV_systemtimemgr = "519f014d1bbfcf2ecc135e25c29676bee022a327" +SRCREV_systemtimemgr = "8d4ba833738439895624e6da8d35518015f55525" SRC_URI = "${CMF_GITHUB_ROOT}/systemtimemgr;${CMF_GITHUB_SRC_URI_SUFFIX};name=systemtimemgr" SRC_URI:append = " file://systimemgr.conf " @@ -15,7 +15,7 @@ SRC_URI:append = " file://secure.conf " PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRCREV_FORMAT = "systemtimemgr" -PV = "1.5.1" +PV = "1.6.0" PR = "r0" CXXFLAGS += " -I${PKG_CONFIG_SYSROOT_DIR}/${includedir}/WPEFramework/powercontroller" diff --git a/recipes-common/systimemgr/systimemgrfactory_git.bb b/recipes-common/systimemgr/systimemgrfactory_git.bb index a107dacd5..e54e8ed4e 100755 --- a/recipes-common/systimemgr/systimemgrfactory_git.bb +++ b/recipes-common/systimemgr/systimemgrfactory_git.bb @@ -8,13 +8,13 @@ LIC_FILES_CHKSUM = "file://../LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" DEPENDS = "systimemgrinetrface iarmbus jsonrpc virtual/mfrlib rdk-logger telemetry" -SRCREV_systemtimemgrfactory = "f7c52d3ebe5203134d7ecc242f86fbbd96d39c05" +SRCREV_systemtimemgrfactory = "8d4ba833738439895624e6da8d35518015f55525" SRC_URI = "${CMF_GITHUB_ROOT}/systemtimemgr;${CMF_GITHUB_SRC_URI_SUFFIX};name=systemtimemgrfactory" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRCREV_FORMAT = "systemtimemgrfactory" -PV = "1.4.0" +PV = "1.6.0" PR = "r0" ASNEEDED = "" diff --git a/recipes-common/systimemgr/systimemgrinetrface_git.bb b/recipes-common/systimemgr/systimemgrinetrface_git.bb index 8f09cfef4..dfdc5812d 100644 --- a/recipes-common/systimemgr/systimemgrinetrface_git.bb +++ b/recipes-common/systimemgr/systimemgrinetrface_git.bb @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" -SRCREV_systemtimemgrifc = "f7c52d3ebe5203134d7ecc242f86fbbd96d39c05" +SRCREV_systemtimemgrifc = "8d4ba833738439895624e6da8d35518015f55525" SRC_URI = "${CMF_GITHUB_ROOT}/systemtimemgr;${CMF_GITHUB_SRC_URI_SUFFIX};name=systemtimemgrifc" @@ -16,7 +16,7 @@ PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRCREV_FORMAT = "systemtimemgrifc" -PV = "1.4.0" +PV = "1.6.0" PR = "r0" inherit autotools pkgconfig From bc3ed17856f743b50ecf09796b05c92a4cf31479 Mon Sep 17 00:00:00 2001 From: Gomathi Shankar Date: Mon, 18 May 2026 10:13:44 +0530 Subject: [PATCH 212/274] RDKEMW-17479: Update SRCREV for crashupload (#823) --- recipes-common/crashupload/crashupload_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/crashupload/crashupload_git.bb b/recipes-common/crashupload/crashupload_git.bb index 770048f1d..8b47ceecc 100644 --- a/recipes-common/crashupload/crashupload_git.bb +++ b/recipes-common/crashupload/crashupload_git.bb @@ -4,12 +4,12 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -PV = "2.1.0" +PV = "2.1.2" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/${BPN}.git;nobranch=1;protocol=${CMF_GIT_PROTOCOL}" -SRCREV = "fdbcaa84f795889e53eb5302e85b99b02be30d24" +SRCREV = "8fcb791cf927c91f53353cc6e5ac15a37bee1905" S = "${WORKDIR}/git/c_sourcecode" From 6c27885b226a140015231831364fd7107db06be9 Mon Sep 17 00:00:00 2001 From: madhubabutt <114217841+madhubabutt@users.noreply.github.com> Date: Mon, 18 May 2026 17:57:24 +0530 Subject: [PATCH 213/274] RDKEMW-17978 : Update rfc_git.bb - change PV from 1.2.4 to 1.2.5 (#849) --- recipes-common/rfc/rfc_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index 29cf8bda2..39797847d 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=bef3b9130aa5d626df3f7171f2dadfe2" PACKAGECONFIG ??= "rfctool" PACKAGECONFIG[rfctool] = "--enable-rfctool=yes" -PV = "1.2.4" +PV = "1.2.5" PR = "r0" -SRCREV = "bbd6476e94f1d83475beb4c6115bc964226bd958" +SRCREV = "d681f6b5906651b8dfe61c998d6127ccd4a55e96" SRC_URI = "${CMF_GITHUB_ROOT}/rfc;${CMF_GITHUB_SRC_URI_SUFFIX};name=rfc" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" S = "${WORKDIR}/git" From 2b6022e315043f8f2afd9ff8086bcfa2cd7804cc Mon Sep 17 00:00:00 2001 From: Divyang Abhay Sarangi Date: Tue, 19 May 2026 14:04:21 -0400 Subject: [PATCH 214/274] RDKEMW-17757: sysctl configurations has to be ported from RDKV to RDKE --- recipes-core/sysctl/files/98-sysctl-mw.conf | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes-core/sysctl/files/98-sysctl-mw.conf b/recipes-core/sysctl/files/98-sysctl-mw.conf index 98a02b79c..8f506220a 100644 --- a/recipes-core/sysctl/files/98-sysctl-mw.conf +++ b/recipes-core/sysctl/files/98-sysctl-mw.conf @@ -30,9 +30,9 @@ net.ipv4.conf.default.accept_source_route = 0 net.core.rmem_max=1048576 -vm.swappiness=80 -vm.vfs_cache_pressure=200 -vm.watermark_scale_factor=40 -vm.dirty_background_ratio=10 -vm.dirty_ratio=20 -vm.drop_caches=0 +vm.swappiness = 60 +vm.vfs_cache_pressure = @RDK_VM_VFS_CACHE_PRESSURE@ +vm.watermark_scale_factor = @RDK_VM_WATERMARK_SCALE_FACTOR@ +vm.dirty_background_ratio = 10 +vm.dirty_ratio = 20 +vm.drop_caches = 0 From efef0e6c4197e5fd858b18f65d514f91de8541f6 Mon Sep 17 00:00:00 2001 From: Divyang Abhay Sarangi Date: Tue, 19 May 2026 14:05:37 -0400 Subject: [PATCH 215/274] RDKEMW-17757: sysctl configurations has to be ported from RDKV to RDKE --- recipes-core/sysctl/files/98-sysctl-mw.conf | 1 - 1 file changed, 1 deletion(-) diff --git a/recipes-core/sysctl/files/98-sysctl-mw.conf b/recipes-core/sysctl/files/98-sysctl-mw.conf index 8f506220a..9cfc1826b 100644 --- a/recipes-core/sysctl/files/98-sysctl-mw.conf +++ b/recipes-core/sysctl/files/98-sysctl-mw.conf @@ -35,4 +35,3 @@ vm.vfs_cache_pressure = @RDK_VM_VFS_CACHE_PRESSURE@ vm.watermark_scale_factor = @RDK_VM_WATERMARK_SCALE_FACTOR@ vm.dirty_background_ratio = 10 vm.dirty_ratio = 20 -vm.drop_caches = 0 From 83611a0967bc44f4e62486fbd9538d914866435e Mon Sep 17 00:00:00 2001 From: Divyang Abhay Sarangi Date: Tue, 19 May 2026 14:08:37 -0400 Subject: [PATCH 216/274] RDKEMW-17757: sysctl configurations has to be ported from RDKV to RDKE --- recipes-core/sysctl/rdksysctl.bb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes-core/sysctl/rdksysctl.bb b/recipes-core/sysctl/rdksysctl.bb index d1f1ba47c..c68052bd7 100644 --- a/recipes-core/sysctl/rdksysctl.bb +++ b/recipes-core/sysctl/rdksysctl.bb @@ -7,8 +7,8 @@ SRC_URI = "file://50-sysctl.conf" SRC_URI += "file://98-sysctl-mw.conf" # Defaults (keep existing behavior unless overridden per MACHINE) -RDK_VM_DIRTY_BACKGROUND_RATIO ?= "1" -RDK_VM_DIRTY_RATIO ?= "1" +RDK_VM_VFS_CACHE_PRESSURE ?= "100" +RDK_VM_WATERMARK_SCALE_FACTOR ?= "10" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -18,8 +18,8 @@ do_install() { install -d ${D}${sysconfdir}/sysctl.d install -m 0644 ${S}/50-sysctl.conf ${D}${sysconfdir}/sysctl.d # Generate 98-sysctl-mw.conf with machine-configurable values - sed -e "s/@RDK_VM_DIRTY_BACKGROUND_RATIO@/${RDK_VM_DIRTY_BACKGROUND_RATIO}/g" \ - -e "s/@RDK_VM_DIRTY_RATIO@/${RDK_VM_DIRTY_RATIO}/g" \ + sed -e "s/@RDK_VM_VFS_CACHE_PRESSURE@/${RDK_VM_VFS_CACHE_PRESSURE}/g" \ + -e "s/@RDK_VM_WATERMARK_SCALE_FACTOR@/${RDK_VM_WATERMARK_SCALE_FACTOR}/g" \ ${S}/98-sysctl-mw.conf > ${D}${sysconfdir}/sysctl.d/98-sysctl-mw.conf chmod 0644 ${D}${sysconfdir}/sysctl.d/98-sysctl-mw.conf From 54fd60d4c93277962b4ad253e9f8a87a57616494 Mon Sep 17 00:00:00 2001 From: rosemarybennyy Date: Wed, 20 May 2026 13:48:35 +0530 Subject: [PATCH 217/274] RDKEMW-18087 : Build Meminsight in RDKE with latest 1.1.0 changes (#839) --- .../meminsight/files/meminsight-runner.path | 2 +- .../files/meminsight-runner.service | 10 +- .../meminsight/files/meminsight-upload.path | 29 + .../files/meminsight-upload.service | 29 + .../meminsight/files/upload_MemReports.sh | 511 ++++++++++++++++++ recipes-devtools/meminsight/meminsight_git.bb | 35 +- 6 files changed, 606 insertions(+), 10 deletions(-) create mode 100644 recipes-devtools/meminsight/files/meminsight-upload.path create mode 100644 recipes-devtools/meminsight/files/meminsight-upload.service create mode 100644 recipes-devtools/meminsight/files/upload_MemReports.sh diff --git a/recipes-devtools/meminsight/files/meminsight-runner.path b/recipes-devtools/meminsight/files/meminsight-runner.path index 4556bb153..87b433d1c 100644 --- a/recipes-devtools/meminsight/files/meminsight-runner.path +++ b/recipes-devtools/meminsight/files/meminsight-runner.path @@ -2,7 +2,7 @@ # If not stated otherwise in this file or this component's Licenses.txt # file the following copyright and licenses apply: # -# Copyright 2021 RDK Management +# Copyright 2025 RDK Management # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/recipes-devtools/meminsight/files/meminsight-runner.service b/recipes-devtools/meminsight/files/meminsight-runner.service index 573605e59..4f867bd0f 100644 --- a/recipes-devtools/meminsight/files/meminsight-runner.service +++ b/recipes-devtools/meminsight/files/meminsight-runner.service @@ -2,7 +2,7 @@ # If not stated otherwise in this file or this component's Licenses.txt # file the following copyright and licenses apply: # -# Copyright 2021 RDK Management +# Copyright 2025 RDK Management # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -21,8 +21,12 @@ Description=MemInsight Memory Stats Runner [Service] -Type=oneshot +Type=simple RemainAfterExit=yes EnvironmentFile=-/tmp/meminsight.env ExecStart=/bin/sh -c 'PATH="/run/meminsight/usr/bin:/media/apps/meminsight:/media/apps/meminsight/usr/bin:$PATH"; meminsight $ARGS' -ExecStop=-/bin/rm /tmp/meminsight.env +ExecStop=-/bin/rm /tmp/.meminsight_upload /tmp/.meminsight_inprogress +ExecStopPost=-/bin/rm /tmp/meminsight.env /tmp/.enable_meminsight /nvram/.enable_meminsight +Restart=on-failure +RestartSec=30 + diff --git a/recipes-devtools/meminsight/files/meminsight-upload.path b/recipes-devtools/meminsight/files/meminsight-upload.path new file mode 100644 index 000000000..c61af7079 --- /dev/null +++ b/recipes-devtools/meminsight/files/meminsight-upload.path @@ -0,0 +1,29 @@ +########################################################################## +# If not stated otherwise in this file or this component's Licenses.txt +# file the following copyright and licenses apply: +# +# Copyright 2025 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################## + +[Unit] +Description=MemInsight upload path trigger +OnFailure=path-fail-notifier@%n.service + +[Path] +PathExists=/tmp/.meminsight_upload +Unit=meminsight-upload.service + +[Install] +WantedBy=multi-user.target diff --git a/recipes-devtools/meminsight/files/meminsight-upload.service b/recipes-devtools/meminsight/files/meminsight-upload.service new file mode 100644 index 000000000..fe6878629 --- /dev/null +++ b/recipes-devtools/meminsight/files/meminsight-upload.service @@ -0,0 +1,29 @@ +########################################################################## +# If not stated otherwise in this file or this component's Licenses.txt +# file the following copyright and licenses apply: +# +# Copyright 2025 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################## + +[Unit] +Description=MemInsight report upload sidecar + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/lib/rdk/upload_MemReports.sh + +[Install] +WantedBy=multi-user.target diff --git a/recipes-devtools/meminsight/files/upload_MemReports.sh b/recipes-devtools/meminsight/files/upload_MemReports.sh new file mode 100644 index 000000000..047a0262c --- /dev/null +++ b/recipes-devtools/meminsight/files/upload_MemReports.sh @@ -0,0 +1,511 @@ +#!/bin/sh +########################################################################## +# If not stated otherwise in this file or this component's LICENSE +# file the following copyright and licenses apply: +# +# Copyright 2025 RDK Management +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################## + +PATH=/usr/sbin:/usr/bin:/sbin:/bin + +SCRIPT_NAME="upload_MemReports.sh" +CONFIGSTORE_PATH="/tmp/.meminsight_configstore" +UPLOAD_TRIGGER_PATH="/tmp/.meminsight_upload" +LOCK_DIR="/tmp/.meminsight_upload.lock" +LOG_TAG="[MemInsight-Upload]" +RDK_LOGGER_PATH="/rdklogger" +MEMINSIGHT_INPROGRESS_FILE="/tmp/.meminsight_inprogress" + +# Source RDK utilities: provides getWanInterfaceName (reads /etc/waninfo.sh internally) +if [ -f /lib/rdk/utils.sh ]; then + . /lib/rdk/utils.sh +fi + +# Source device properties: provides BOX_TYPE, WAN0_IS_DUMMY, UseLANIFIPV6 etc. +if [ -f /etc/device.properties ]; then + . /etc/device.properties +fi + +# mTLS client certificate injection (may redefine exec_curl_mtls or set cert env vars). +# Sourced once at startup — same pattern as uploadRDKBLogs.sh. +if [ -f /lib/rdk/exec_curl_mtls.sh ]; then + . /lib/rdk/exec_curl_mtls.sh +fi + +# OCSP stapling — set once at startup, same as uploadRDKBLogs.sh. +CERT_STATUS="" +if [ -f /tmp/.EnableOCSPStapling ] || [ -f /tmp/.EnableOCSPCA ]; then + CERT_STATUS="--cert-status" +fi + +# Default values (overridden from configstore) +RUN_ID="" +UPLOAD_ENABLED=false +UPLOAD_INTERVAL=0 +OUTPUT_DIR="/tmp/meminsight/" +STAGING_DIR="" + +############################################################################## +# Utilities +############################################################################## + +# Log a message with the standard tag prefix. +# Parameters: $* - message text +log() { + timestamp="$(date '+%Y-%m-%d %H:%M:%S')" + echo "$timestamp $LOG_TAG $*" +} + +# Execute a command at lowest I/O and CPU priority. +# Tests ionice -c3 support first; falls back to nice-only if unsupported. +# The command is never executed twice — ionice capability is tested separately. +# Parameters: $* - command and arguments to run +# Returns: exit code of the executed command +run_low_priority() { + if ionice -c3 true >/dev/null 2>&1; then + ionice -c3 nice -n 19 "$@" + else + nice -n 19 "$@" + fi +} + +############################################################################## +# Lock management +############################################################################## + +# Remove the lock directory created by acquire_lock(). +# Registered via trap — runs automatically on EXIT, INT, or TERM. +cleanup_lock() { + rmdir "$LOCK_DIR" >/dev/null 2>&1 || true +} + +# Remove the upload trigger file so the systemd path unit does not +# immediately re-trigger the service after a graceful exit. +cleanup_upload_trigger() { + rm -f "$UPLOAD_TRIGGER_PATH" >/dev/null 2>&1 || true +} + +# Acquire an exclusive instance lock via atomic mkdir. +# Registers cleanup_lock via trap so the lock is always released on exit. +# Exits with code 0 (not an error) if another instance already holds the lock. +acquire_lock() { + if ! mkdir "$LOCK_DIR" >/dev/null 2>&1; then + log "Another upload instance is already running; exiting." + exit 0 + fi + trap cleanup_lock EXIT INT TERM +} + +############################################################################## +# Device identity +############################################################################## + +# Return the MAC address of the primary network interface, uppercase, no colons. +# Tries getMacAddressOnly first, then /sys/class/net, then returns "UNKNOWNMAC". +get_mac_address() { + if command -v getMacAddressOnly >/dev/null 2>&1; then + getMacAddressOnly 2>/dev/null | tr -d ':' | tr '[:lower:]' '[:upper:]' + return + fi + for f in /sys/class/net/*/address; do + [ -f "$f" ] || continue + case "$f" in */lo/*) continue ;; esac + mac="$(cat "$f" 2>/dev/null | tr -d ':' | tr '[:lower:]' '[:upper:]')" + [ -n "$mac" ] && echo "$mac" && return + done + echo "UNKNOWNMAC" +} + +############################################################################## +# Configuration +############################################################################## + +# Parse CONFIGSTORE_PATH and populate global variables. +# Applies built-in defaults first so the script works even if the file is absent. +# Sets globals: RUN_ID, UPLOAD_ENABLED, UPLOAD_INTERVAL, OUTPUT_DIR +# Returns: 0 on success, 1 if configstore file not found (defaults applied) +load_configstore() { + RUN_ID="" + UPLOAD_ENABLED=false + UPLOAD_INTERVAL=0 + OUTPUT_DIR="/tmp/meminsight/" + + if [ ! -f "$CONFIGSTORE_PATH" ]; then + log "Configstore not found at $CONFIGSTORE_PATH; using built-in defaults." + return 1 + fi + + while IFS='=' read -r key value; do + case "$key" in \#*|'') continue ;; esac + case "$key" in + RUN_ID) RUN_ID="$value" ;; + UPLOAD_ENABLED) [ "$value" = "1" ] && UPLOAD_ENABLED=true || UPLOAD_ENABLED=false ;; + UPLOAD_INTERVAL) UPLOAD_INTERVAL="$value" ;; + OUTPUT_DIR) OUTPUT_DIR="$value" ;; + esac + done < "$CONFIGSTORE_PATH" + + log "Configstore loaded: RUN_ID=$RUN_ID UPLOAD_ENABLED=$UPLOAD_ENABLED UPLOAD_INTERVAL=${UPLOAD_INTERVAL}s OUTPUT_DIR=$OUTPUT_DIR" + return 0 +} + +############################################################################## +# Run-state helpers +############################################################################## + +# Check whether the meminsight process is currently running. +# Used to decide whether the upload loop should exit after this cycle. +# Returns: 0 (true) if meminsight process found, 1 (false) otherwise +is_meminsight_running() { + pidof meminsight >/dev/null 2>&1 +} + +# Check whether a meminsight capture iteration is currently being written. +# Relies on the .meminsight_inprogress marker created at run start and +# removed just before the last iteration file is closed. +# Used exclusively to decide which iteration to exclude from the upload set. +# Returns: 0 (true) if marker exists, 1 (false) otherwise +is_capture_in_progress() { + [ -f "$MEMINSIGHT_INPROGRESS_FILE" ] +} + +# Return the highest iteration number present in OUTPUT_DIR. +# Used to identify which iter files may still be open for writing. +# Returns: integer >= 0, or -1 if no iteration files are found +get_highest_iteration() { + max_iter=-1 + for f in $(find "$OUTPUT_DIR" -maxdepth 1 -type f \( -name '*.csv' -o -name '*.json' \) 2>/dev/null); do + bname="$(basename "$f")" + iter="$(echo "$bname" | sed -n 's/.*_iter\([0-9][0-9]*\)_.*/\1/p')" + [ -z "$iter" ] && iter="$(echo "$bname" | sed -n 's/.*_iter\([0-9][0-9]*\)\..*/\1/p')" + if [ -n "$iter" ] && [ "$iter" -gt "$max_iter" ]; then + max_iter="$iter" + fi + done + echo "$max_iter" +} + +# Build the set of report files eligible for upload in this cycle. +# +# If /tmp/.meminsight_inprogress exists (active write in progress): +# All .csv/.json in OUTPUT_DIR EXCEPT files belonging to the highest +# iteration number (which may still be open for writing). +# +# If /tmp/.meminsight_inprogress is absent (no active write): +# All .csv/.json in OUTPUT_DIR with no exclusions (full drain). +# +# Returns: newline-separated list of absolute paths, or empty string +build_upload_set() { + all_files="$(find "$OUTPUT_DIR" -maxdepth 1 -type f \( -name '*.csv' -o -name '*.json' \) 2>/dev/null)" + [ -z "$all_files" ] && return 0 + + if is_capture_in_progress; then + max_iter="$(get_highest_iteration)" + for f in $all_files; do + bname="$(basename "$f")" + iter="$(echo "$bname" | sed -n 's/.*_iter\([0-9][0-9]*\)_.*/\1/p')" + [ -z "$iter" ] && iter="$(echo "$bname" | sed -n 's/.*_iter\([0-9][0-9]*\)\..*/\1/p')" + if [ -n "$iter" ] && [ "$iter" -eq "$max_iter" ]; then + log "Skipping active iter${max_iter}: $(basename "$f")" + continue + fi + echo "$f" + done + else + echo "$all_files" + fi +} + +############################################################################## +# Upload configuration +############################################################################## + +# Resolve MemInsight upload endpoint using the same precedence as memcapture: +# 1. TR-181 LogServerUrl +# 2. UploadRepository URL from OUTFILE +# 3. TR-181 SsrUrl + /cgi-bin/S3.cgi +# 4. dcm.properties fallback for LOG_SERVER / HTTP_UPLOAD_LINK +# Sets globals: LOG_SERVER, HTTP_UPLOAD_LINK, UPLOAD_PROTOCOL +resolve_upload_config() { + LOG_SERVER="" + HTTP_UPLOAD_LINK="" + UPLOAD_PROTOCOL="HTTP" + OUTFILE="/tmp/DCMSettings.conf" + + if [ "$BUILD_TYPE" != "prod" ] && [ -f /opt/dcm.properties ]; then + log "Configurable service end-points will not be used for $BUILD_TYPE builds due to overridden /opt/dcm.properties." + else + if command -v tr181 >/dev/null 2>&1; then + LOG_SERVER="$(tr181 -g Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.LogUpload.LogServerUrl 2>/dev/null)" + + if [ -f "$OUTFILE" ]; then + HTTP_UPLOAD_LINK="$(grep 'LogUploadSettings:UploadRepository:URL' "$OUTFILE" | cut -d '=' -f2 | sed 's/^"//' | sed 's/"$//')" + UPLOAD_PROTOCOL="$(grep 'LogUploadSettings:UploadRepository:uploadProtocol' "$OUTFILE" | cut -d '=' -f2 | sed 's/^"//' | sed 's/"$//')" + fi + + if [ -z "$HTTP_UPLOAD_LINK" ]; then + UPLOAD_HTTPLINK_URL="$(tr181 -g Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.LogUpload.SsrUrl 2>/dev/null)" + if [ -n "$UPLOAD_HTTPLINK_URL" ]; then + HTTP_UPLOAD_LINK="${UPLOAD_HTTPLINK_URL}/cgi-bin/S3.cgi" + fi + fi + fi + fi + + [ -n "$UPLOAD_PROTOCOL" ] || UPLOAD_PROTOCOL="HTTP" + + if [ -z "$LOG_SERVER" ] || [ -z "$HTTP_UPLOAD_LINK" ]; then + if [ "$BUILD_TYPE" != "prod" ] && [ -f /opt/dcm.properties ]; then + # shellcheck disable=SC1091 + . /opt/dcm.properties + elif [ -f /etc/dcm.properties ]; then + # shellcheck disable=SC1091 + . /etc/dcm.properties + fi + + [ -z "$LOG_SERVER" ] && LOG_SERVER="${LOG_SERVER_URL:-$LOG_SERVER}" + [ -z "$HTTP_UPLOAD_LINK" ] && HTTP_UPLOAD_LINK="${HTTP_UPLOAD_LINK:-${UPLOAD_HTTPLINK_URL:+${UPLOAD_HTTPLINK_URL}/cgi-bin/S3.cgi}}" + fi + + log "Resolved upload config: LOG_SERVER=${LOG_SERVER:-} HTTP_UPLOAD_LINK=${HTTP_UPLOAD_LINK:-} UPLOAD_PROTOCOL=${UPLOAD_PROTOCOL:-HTTP}" +} + +############################################################################## +# Upload +############################################################################## + +# Upload archive using logupload, similar to memcapture flow. +# Parameters: +# $1 - archive path +# Returns: +# 0 on success, 1 on failure +perform_logupload() { + archive_file="$1" + + resolve_upload_config + + if [ -z "$LOG_SERVER" ] || [ -z "$HTTP_UPLOAD_LINK" ]; then + log "Upload configuration incomplete: LOG_SERVER=${LOG_SERVER:-} HTTP_UPLOAD_LINK=${HTTP_UPLOAD_LINK:-}" + return 1 + fi + + if [ ! -f "$archive_file" ]; then + log "Archive file not found: $archive_file" + return 1 + fi + + log "Invoking /usr/bin/logupload for $(basename "$archive_file")" + log "/usr/bin/logupload \"$LOG_SERVER\" 1 1 false \"$UPLOAD_PROTOCOL\" \"$HTTP_UPLOAD_LINK\" \"MEMINSIGHT\" true \"$archive_file\"" + + /usr/bin/logupload "$LOG_SERVER" 1 1 false "$UPLOAD_PROTOCOL" "$HTTP_UPLOAD_LINK" "MEMINSIGHT" true "$archive_file" + retval=$? + + if [ "$retval" -ne 0 ]; then + log "MemInsight report upload failed with code $retval" + return 1 + fi + + log "MemInsight report upload succeeded" + return 0 +} + +############################################################################## +# Per-cycle orchestration +############################################################################## + +# Execute one upload cycle. +# +# RUNNING MODE (meminsight process alive — pidof meminsight succeeds): +# 1. Check OUTPUT_DIR exists; if not, log and return 0 (retry next cycle). +# 2. Build upload set — skip files belonging to highest iteration if +# /tmp/.meminsight_inprogress marker is present (active write guard). +# 3. If nothing eligible → log and return 0 (sleep and retry). +# 4. mkdir -p STAGING_DIR. +# 5. tar eligible files from OUTPUT_DIR into STAGING_DIR/archive.tar.gz. +# tar failure → rm partial archive, source files stay, return 0 (retry). +# 6. Upload archive. +# Success → rm archive from STAGING_DIR + rm uploaded source files from OUTPUT_DIR. +# Failure → rm archive from STAGING_DIR only; source files stay for next retry. +# 7. Always return 0 → main loop sleeps and retries. +# +# DRAIN MODE (meminsight process gone — pidof meminsight fails): +# 1. Check OUTPUT_DIR exists; if not, return 1 (exit). +# 2. Build upload set — no exclusions (full drain). +# 3. If nothing present → log "nothing to do" and return 1 (exit). +# 4. mkdir -p STAGING_DIR. +# 5. tar all eligible files into STAGING_DIR/archive.tar.gz. +# tar failure → rm partial archive, log leftover filenames, return 1 (exit). +# 6. Upload archive. +# Success → rm archive + rm uploaded source files, return 1 (exit cleanly). +# Failure → rm archive only, log leftover filenames, return 1 (exit). +# 7. Always return 1 → main loop exits after this cycle. +# +# Return values: +# 0 = meminsight still running, keep looping +# 1 = meminsight not running, exit loop after this cycle +upload_cycle() { + meminsight_running=false + is_meminsight_running && meminsight_running=true + + # ── Check output directory ──────────────────────────────────────────────── + if [ ! -d "$OUTPUT_DIR" ]; then + log "Output directory $OUTPUT_DIR not found; skipping cycle." + $meminsight_running && return 0 || return 1 + fi + + # ── Build eligible file set ─────────────────────────────────────────────── + selected_files="$(build_upload_set)" + + if [ -z "$selected_files" ]; then + if $meminsight_running; then + log "No eligible reports yet (highest iteration excluded or none present); will retry after sleep." + return 0 + else + log "No reports found in $OUTPUT_DIR; nothing to upload." + return 1 + fi + fi + + # ── Ensure staging directory exists ────────────────────────────────────── + if ! mkdir -p "$STAGING_DIR" 2>/dev/null; then + log "ERROR: Cannot create staging directory $STAGING_DIR" + $meminsight_running && return 0 || return 1 + fi + + # ── Create archive in STAGING_DIR; source files remain in OUTPUT_DIR ───── + # Archive name encodes MAC, UTC timestamp, and RUN_ID for traceability. + mac="$(get_mac_address)" + timestamp="$(date -u +%Y%m%d-%H%M%S)" + archive_path="${STAGING_DIR}/${mac}_${timestamp}_${RUN_ID}_meminsight.tgz" + + # Collect basenames; cd to OUTPUT_DIR so archive paths are clean (no leading dirs). + rel_files="" + for f in $selected_files; do + rel_files="$rel_files $(basename "$f")" + done + + if ! (cd "$OUTPUT_DIR" && run_low_priority tar -czf "$archive_path" $rel_files); then + log "tar failed; removing partial archive. Source reports untouched in $OUTPUT_DIR." + rm -f "$archive_path" + if $meminsight_running; then + log "Will retry on next cycle." + return 0 + else + log "Leftover reports (not uploaded):$selected_files" + return 1 + fi + fi + + log "Archive created: $(basename "$archive_path") ($(du -sh "$archive_path" 2>/dev/null | awk '{print $1}'))" + + # ── Upload ──────────────────────────────────────────────────────────────── + if perform_logupload "$archive_path"; then + rm -f "$archive_path" + for f in $selected_files; do rm -f "$f"; done + log "Upload successful; archive and source reports removed from $OUTPUT_DIR." + else + rm -f "$archive_path" + log "Upload failed; archive removed. Source reports retained in $OUTPUT_DIR for retry." + if ! $meminsight_running; then + log "Leftover reports (not uploaded):$selected_files" + fi + fi + + $meminsight_running && return 0 || return 1 +} + +############################################################################## +# Entry point +############################################################################## + +# Compute an MD5 hash of the configstore file for change detection. +# Returns: hex digest string, or empty string if the file is absent/unreadable. +configstore_hash() { + md5sum "$CONFIGSTORE_PATH" 2>/dev/null | awk '{print $1}' +} + +# Main control loop. +# +# Flow: +# acquire lock → load config → snapshot hash → validate → loop { +# sleep → check hash → reload if changed → upload_cycle } → exit +# +# Configstore hash check: after each sleep, md5sum of CONFIGSTORE_PATH is +# compared to the value snapshotted at the previous load. If meminsight +# restarted (new RUN_ID, different OUTPUT_DIR, changed interval) the hash +# will differ and load_configstore() is called again before the upload cycle. +# +# The loop continues as long as upload_cycle returns 0 (meminsight is running). +# When upload_cycle returns 1 (meminsight has exited), the loop breaks and the +# script exits cleanly, removing the upload trigger file to prevent the systemd +# path unit from immediately re-triggering. +main() { + acquire_lock + load_configstore + + if ! $UPLOAD_ENABLED; then + log "Upload is not enabled in configstore; exiting." + cleanup_upload_trigger + exit 0 + fi + + if [ "$UPLOAD_INTERVAL" -eq 0 ]; then + UPLOAD_INTERVAL=900 + log "No upload interval configured; defaulting to 900 seconds." + fi + + # Strip trailing slash before appending _staging suffix + STAGING_DIR="${OUTPUT_DIR%/}_staging" + + # Snapshot configstore hash so we can detect if meminsight restarts and + # writes a new RUN_ID (or changed OUTPUT_DIR / interval) while we sleep. + last_hash="$(configstore_hash)" + + log "Upload service started: interval=${UPLOAD_INTERVAL}s output=$OUTPUT_DIR staging=$STAGING_DIR hash=$last_hash" + + while true; do + log "Sleeping ${UPLOAD_INTERVAL}s until next upload cycle..." + sleep "$UPLOAD_INTERVAL" + + # ── Configstore change detection ────────────────────────────────────── + # Meminsight may have crashed and restarted with a new RUN_ID, a + # different OUTPUT_DIR, or a different interval since we last slept. + # Reload whenever the file content has changed. + current_hash="$(configstore_hash)" + if [ -n "$current_hash" ] && [ "$current_hash" != "$last_hash" ]; then + log "Configstore changed (hash $last_hash → $current_hash); reloading." + load_configstore + last_hash="$current_hash" + # Recompute derived values that depend on OUTPUT_DIR / UPLOAD_INTERVAL. + [ "$UPLOAD_INTERVAL" -eq 0 ] && UPLOAD_INTERVAL=900 + STAGING_DIR="${OUTPUT_DIR%/}_staging" + log "Config reloaded: interval=${UPLOAD_INTERVAL}s output=$OUTPUT_DIR staging=$STAGING_DIR" + fi + + upload_cycle || break + done + + # ── Exit phase ──────────────────────────────────────────────────────────── + log "Upload service exiting." + if [ -n "$STAGING_DIR" ] && [ -d "$STAGING_DIR" ]; then + rm -f "$STAGING_DIR"/*.tgz 2>/dev/null + rmdir "$STAGING_DIR" >/dev/null 2>&1 || true + fi + cleanup_upload_trigger + + exit 0 +} + +main "$@" diff --git a/recipes-devtools/meminsight/meminsight_git.bb b/recipes-devtools/meminsight/meminsight_git.bb index 916713091..a919551c9 100644 --- a/recipes-devtools/meminsight/meminsight_git.bb +++ b/recipes-devtools/meminsight/meminsight_git.bb @@ -15,29 +15,48 @@ SRC_URI:append = " file://meminsight-runner.service \ file://conf/broadband-path.conf \ file://conf/broadband-rdm-path.conf \ file://start_meminsight.sh \ + file://meminsight-upload.service \ + file://meminsight-upload.path \ + file://upload_MemReports.sh \ " -# Mar 2, 2026 -# v1.0.0 -SRCREV = "a7e1e7375b5eaaa4cffd26fc2a40dbd359bc0b1f" -PV = "1.0.0" +# May 19, 2026 +SRCREV = "545cc6fdd954a2f659dccf5c9f09358e54efd00e" +PV = "1.1.0" PR = "r0" S = "${WORKDIR}/git" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -inherit autotools systemd +inherit autotools syslog-ng-config-gen systemd # CFLAGS_append_broadband = ' -DDEVICE_IDENTIFIER=\\"erouter0\\" -DDEFAULT_OUT_DIR=\\"/nvram/meminsight\\"' +PACKAGECONFIG ??= "cjson" +PACKAGECONFIG[cjson] = "--enable-cjson,--disable-cjson" + +EXTRA_OECONF += "${@bb.utils.contains('PACKAGECONFIG', 'cjson', '--enable-cjson', '--disable-cjson', d)}" +RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'cjson', 'cjson', '', d)}" + +SYSLOG-NG_FILTER = "meminsight" +SYSLOG-NG_SERVICE_meminsight = "meminsight-runner.service" +SYSLOG-NG_SERVICE_meminsight += " meminsight-upload.service" +SYSLOG-NG_DESTINATION_meminsight = "meminsight.log" +SYSLOG-NG_LOGRATE_meminsight = "medium" + do_install() { install -d ${D}${bindir} install -m 0755 ${B}/meminsight ${D}${bindir}/meminsight install -d ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/meminsight-runner.service ${D}${systemd_unitdir}/system/ install -m 0644 ${WORKDIR}/meminsight-runner.path ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/meminsight-upload.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/meminsight-upload.path ${D}${systemd_unitdir}/system/ + install -d ${D}/lib/rdk + install -m 0755 ${WORKDIR}/upload_MemReports.sh ${D}/lib/rdk/upload_MemReports.sh install -d ${D}${systemd_unitdir}/system/meminsight-runner.service.d install -d ${D}${systemd_unitdir}/system/meminsight-runner.path.d + } do_install:append:client() { @@ -62,12 +81,16 @@ do_install:append:broadband() { fi } -SYSTEMD_SERVICE:${PN} = "meminsight-runner.path" +SYSTEMD_SERVICE:${PN} = "meminsight-runner.path meminsight-upload.path" FILES:${PN} += "${bindir}/meminsight" FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.service" FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.path" +FILES:${PN} += "${systemd_unitdir}/system/meminsight-upload.service" +FILES:${PN} += "${systemd_unitdir}/system/meminsight-upload.path" +FILES:${PN} += "/lib/rdk/upload_MemReports.sh" + FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.service.d/*.conf" FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.path.d/*.conf" From c9f543c93569affba8edf9251391d7686aade699 Mon Sep 17 00:00:00 2001 From: Yogeswaran K <166126056+yogeswaransky@users.noreply.github.com> Date: Thu, 21 May 2026 10:14:26 +0530 Subject: [PATCH 218/274] RDKEMW-18410: Integrate Telemetry release 1.9.4 (#863) --- recipes-common/telemetry/telemetry_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index dbdb33453..c29ce670c 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -4,7 +4,7 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -SRCREV = "6c9c816b660ccf7102e72a3715107a12d75912c7" +SRCREV = "9db3fba319b7854e128cdba25f1ee36a312b4a3b" SRC_URI = "${CMF_GITHUB_ROOT}/telemetry;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -14,7 +14,7 @@ DEPENDS += "rdk-logger" RDEPENDS:${PN} += "curl cjson glib-2.0 rbus" -PV = "1.9.2" +PV = "1.9.4" PR = "r0" S = "${WORKDIR}/git" From cfc2f2d81b840534c5d4da83e2e129ef55f80f32 Mon Sep 17 00:00:00 2001 From: "Barone, Damiano (Senior Software Developer - Sky - Guest)" Date: Thu, 21 May 2026 16:15:33 +0100 Subject: [PATCH 219/274] RDKEMW-18969: Update bluetooth components to latest for gaming changes 1.0.11 --- recipes-connectivity/bluetooth/bluetooth-core_git.bb | 4 ++-- recipes-connectivity/bluetooth/bluetooth-mgr_git.bb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes-connectivity/bluetooth/bluetooth-core_git.bb b/recipes-connectivity/bluetooth/bluetooth-core_git.bb index e8ce3ddd4..f85e7d87f 100644 --- a/recipes-connectivity/bluetooth/bluetooth-core_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-core_git.bb @@ -10,12 +10,12 @@ DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'safec', ' safec', " DEPENDS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'gdbus_bluez5', 'glib-2.0-native', '', d)}" RDEPENDS:${PN} = "dbus ${BLUEZ} rdk-logger telemetry" -PV = "1.0.10" +PV = "1.0.11" PR = "r2" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "081ba11075e6101fcaef90d3d1b5028ed10515fc" +SRCREV = "c8d1ca7eb057eff90b7ce342ce532b9cd18a55e7" SRCREV_FORMAT = "bluetooth-core" SRC_URI = "${CMF_GITHUB_ROOT}/bluetooth;${CMF_GITHUB_SRC_URI_SUFFIX}" diff --git a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb index 1492dbfa0..ab895a29a 100644 --- a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb @@ -4,11 +4,11 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -PV = "1.0.10" +PV = "1.0.11" PR = "r2" SRCREV_FORMAT = "bluetooth-mgr" -SRCREV = "e05efec1f91a2134b3f91198f61c76ba3c4f9fd6" +SRCREV = "cbdbcc195aad9a720f3c5e9c5ee73eab6c4f232f" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/bluetooth_mgr;${CMF_GITHUB_SRC_URI_SUFFIX}" SRC_URI:append = " file://btmgr.conf" From 60f15c88c4852874210475837ca8e0ab59eec661 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Tue, 26 May 2026 10:10:53 +0530 Subject: [PATCH 220/274] Update dcmd.bb (#869) --- recipes-common/dcmd/dcmd.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/dcmd/dcmd.bb b/recipes-common/dcmd/dcmd.bb index d6c4f9c40..46a632efe 100644 --- a/recipes-common/dcmd/dcmd.bb +++ b/recipes-common/dcmd/dcmd.bb @@ -12,9 +12,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2441d6cdabdc0f370be5cd8a746eb647" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "7461693af0d9c1c8fbd3fb4fd374ef8858041608" +SRCREV = "e4ff24f2f5518ececdfa9ea69e8c5142965358d5" SRC_URI = "${CMF_GITHUB_ROOT}/dcm-agent;${CMF_GITHUB_SRC_URI_SUFFIX}" -PV = "2.1.2" +PV = "2.1.3" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From 9ce634ffb17fba450ca6a1584cff23bd76d0c350 Mon Sep 17 00:00:00 2001 From: sindhu-krishnan <102755514+sindhu-krishnan@users.noreply.github.com> Date: Tue, 26 May 2026 15:13:57 +0530 Subject: [PATCH 221/274] RDKEMW-15246 : Chrony Enhancements (#878) --- recipes-common/systimemgr/systimemgr_git.bb | 6 +- .../systimemgr/systimemgrfactory_git.bb | 8 +- .../systimemgr/systimemgrinetrface_git.bb | 4 +- recipes-support/chrony/chrony_%.bbappend | 20 ----- .../chrony/files/chrony-sync-notify.service | 12 --- .../chrony/files/chrony-sync-notify.sh | 81 ------------------- .../chrony/files/chrony-tracking.service | 11 --- .../chrony/files/chrony-tracking.timer | 10 --- .../chrony/files/chrony_tracking.sh | 10 --- .../libchronyctl/libchronyctl_git.bb | 30 +++++++ 10 files changed, 39 insertions(+), 153 deletions(-) delete mode 100644 recipes-support/chrony/files/chrony-sync-notify.service delete mode 100644 recipes-support/chrony/files/chrony-sync-notify.sh delete mode 100644 recipes-support/chrony/files/chrony-tracking.service delete mode 100644 recipes-support/chrony/files/chrony-tracking.timer delete mode 100644 recipes-support/chrony/files/chrony_tracking.sh create mode 100644 recipes-support/libchronyctl/libchronyctl_git.bb diff --git a/recipes-common/systimemgr/systimemgr_git.bb b/recipes-common/systimemgr/systimemgr_git.bb index 5caafab8e..6438cf107 100755 --- a/recipes-common/systimemgr/systimemgr_git.bb +++ b/recipes-common/systimemgr/systimemgr_git.bb @@ -5,9 +5,9 @@ DESCRIPTION = "Timer , publishing and subscription interfaces." LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" -DEPENDS = "systimemgrinetrface systimemgrfactory rdk-logger libsyswrapper wpeframework-clientlibraries telemetry" +DEPENDS = "systimemgrinetrface systimemgrfactory rdk-logger libsyswrapper wpeframework-clientlibraries telemetry libchronyctl" -SRCREV_systemtimemgr = "8d4ba833738439895624e6da8d35518015f55525" +SRCREV_systemtimemgr = "1bf386d4806baec8b6ceeed17288ccf1a22c74a3" SRC_URI = "${CMF_GITHUB_ROOT}/systemtimemgr;${CMF_GITHUB_SRC_URI_SUFFIX};name=systemtimemgr" SRC_URI:append = " file://systimemgr.conf " @@ -15,7 +15,7 @@ SRC_URI:append = " file://secure.conf " PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRCREV_FORMAT = "systemtimemgr" -PV = "1.6.0" +PV = "1.7.0" PR = "r0" CXXFLAGS += " -I${PKG_CONFIG_SYSROOT_DIR}/${includedir}/WPEFramework/powercontroller" diff --git a/recipes-common/systimemgr/systimemgrfactory_git.bb b/recipes-common/systimemgr/systimemgrfactory_git.bb index e54e8ed4e..5bb7573d6 100755 --- a/recipes-common/systimemgr/systimemgrfactory_git.bb +++ b/recipes-common/systimemgr/systimemgrfactory_git.bb @@ -5,16 +5,16 @@ DESCRIPTION = "Timer , publishing and subscription interfaces." LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" -DEPENDS = "systimemgrinetrface iarmbus jsonrpc virtual/mfrlib rdk-logger telemetry" +DEPENDS = "systimemgrinetrface iarmbus jsonrpc virtual/mfrlib rdk-logger telemetry libchronyctl" -SRCREV_systemtimemgrfactory = "8d4ba833738439895624e6da8d35518015f55525" +SRCREV_systemtimemgrfactory = "1bf386d4806baec8b6ceeed17288ccf1a22c74a3" SRC_URI = "${CMF_GITHUB_ROOT}/systemtimemgr;${CMF_GITHUB_SRC_URI_SUFFIX};name=systemtimemgrfactory" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRCREV_FORMAT = "systemtimemgrfactory" -PV = "1.6.0" +PV = "1.7.0" PR = "r0" ASNEEDED = "" @@ -29,7 +29,7 @@ S = "${WORKDIR}/git/systimerfactory" inherit autotools pkgconfig -RDEPENDS:${PN} += " jsonrpc curl jsoncpp " +RDEPENDS:${PN} += " jsonrpc curl jsoncpp" DEPENDS += " iarmmgrs wpeframework wpeframework-clientlibraries" EXTRA_OECONF:append = " --enable-wpevgdrm --enable-dtt --enable-t2api=yes" diff --git a/recipes-common/systimemgr/systimemgrinetrface_git.bb b/recipes-common/systimemgr/systimemgrinetrface_git.bb index dfdc5812d..11c7a8cfa 100644 --- a/recipes-common/systimemgr/systimemgrinetrface_git.bb +++ b/recipes-common/systimemgr/systimemgrinetrface_git.bb @@ -6,7 +6,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" -SRCREV_systemtimemgrifc = "8d4ba833738439895624e6da8d35518015f55525" +SRCREV_systemtimemgrifc = "1bf386d4806baec8b6ceeed17288ccf1a22c74a3" SRC_URI = "${CMF_GITHUB_ROOT}/systemtimemgr;${CMF_GITHUB_SRC_URI_SUFFIX};name=systemtimemgrifc" @@ -16,7 +16,7 @@ PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRCREV_FORMAT = "systemtimemgrifc" -PV = "1.6.0" +PV = "1.7.0" PR = "r0" inherit autotools pkgconfig diff --git a/recipes-support/chrony/chrony_%.bbappend b/recipes-support/chrony/chrony_%.bbappend index 5e637665a..766eb043a 100644 --- a/recipes-support/chrony/chrony_%.bbappend +++ b/recipes-support/chrony/chrony_%.bbappend @@ -5,12 +5,7 @@ RDEPENDS:${PN} += "bash" SRC_URI += "file://chrony.conf \ file://chronyd.service \ file://rdk_chrony.conf \ - file://chrony-sync-notify.sh \ - file://chrony-sync-notify.service \ file://chrony-conf-update.sh \ - file://chrony-tracking.timer \ - file://chrony-tracking.service \ - file://chrony_tracking.sh \ " PACKAGECONFIG:remove = "editline" @@ -23,35 +18,20 @@ do_install:append() { rm -rf ${D}${sysconfdir}/chrony.conf install -m 0644 ${WORKDIR}/chrony.conf ${D}${sysconfdir}/ install -m 0644 ${WORKDIR}/rdk_chrony.conf ${D}${sysconfdir}/ - install -m 0755 ${WORKDIR}/chrony-sync-notify.sh ${D}${base_libdir}/rdk install -m 0755 ${WORKDIR}/chrony-conf-update.sh ${D}${base_libdir}/rdk - install -m 0755 ${WORKDIR}/chrony_tracking.sh ${D}${base_libdir}/rdk # service to start chrony rm -rf ${D}${systemd_unitdir}/system/chronyd.service install -m 0644 ${WORKDIR}/chronyd.service ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/chrony-sync-notify.service ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/chrony-tracking.service ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/chrony-tracking.timer ${D}${systemd_unitdir}/system/ - } FILES:${PN} += "${sbindir}/chronyc" -FILES:${PN} += "${base_libdir}/rdk/chrony-sync-notify.sh" CONFFILES:${PN} += "${sysconfdir}/chrony.conf" CONFFILES:${PN} += "${sysconfdir}/rdk_chrony.conf" FILES:${PN} += "${base_libdir}/rdk/chrony-conf-update.sh" -FILES:${PN} += "${base_libdir}/rdk/chrony_tracking.sh" -FILES:${PN} += "${systemd_unitdir}/system/chrony-tracking.service" -FILES:${PN} += "${systemd_unitdir}/system/chrony-tracking.timer" FILES:${PN} += "${systemd_unitdir}/system/chronyd.service" -FILES:${PN} += "${systemd_unitdir}/system/chrony-sync-notify.service" - -SYSTEMD_SERVICE:${PN} += "chronyd.service" -SYSTEMD_SERVICE:${PN} += "chrony-sync-notify.service" -SYSTEMD_SERVICE:${PN} += "chrony-tracking.timer" inherit syslog-ng-config-gen diff --git a/recipes-support/chrony/files/chrony-sync-notify.service b/recipes-support/chrony/files/chrony-sync-notify.service deleted file mode 100644 index 12d944059..000000000 --- a/recipes-support/chrony/files/chrony-sync-notify.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Notify when Chrony time sync is completed -Documentation=man:chronyc(1) -After=chronyd.service -ConditionPathExists=/opt/secure/RFC/chrony/chronyd_enabled - -[Service] -Type=simple -ExecStart=/lib/rdk/chrony-sync-notify.sh - -[Install] -WantedBy=chronyd.service diff --git a/recipes-support/chrony/files/chrony-sync-notify.sh b/recipes-support/chrony/files/chrony-sync-notify.sh deleted file mode 100644 index 8a40faab5..000000000 --- a/recipes-support/chrony/files/chrony-sync-notify.sh +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/sh -############################################################################## -# If not stated otherwise in this file or this component's LICENSE file the -# following copyright and licenses apply: -# -# Copyright 2020 RDK Management -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -############################################################################## -# Purpose : To Notify First synchronisation of chrony -# Scope : RDK Devices -# Usage : Invoke by systemd service as part of chrony integration - -LOG_FILE=/opt/logs/chrony.log -NTP_DIR="/tmp/systimemgr" -NTP_FILE="$NTP_DIR/ntp" -CLOCK_EVENT="/tmp/clock-event" -SYSTEMD_DIR="/var/lib/systemd/" -SYSTEMD_CLOCK="$SYSTEMD_DIR/clock" - -log() { - echo "$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ") chronyd-sync-notify[$$]: $1" >> "$LOG_FILE" -} - - -is_synced() { - chronyc tracking 2>/dev/null | grep -q "Leap status *: Normal" -} - - -# Wait for sync only if not already synced -#This command will wait until chrony reports that the system clock is synchronized -if is_synced; then - log "Chrony already synchronised" - exit 0 #TBD - Don't log milestones whenever chronyd started - else - log "Waiting for Chrony synchronisation..." - chronyc waitsync 0 0 0 0.1 || { - log "waitsync failed" - exit 1 - } -fi - -if [ ! -f "$CLOCK_EVENT" ]; then -touch "$CLOCK_EVENT" && log "Created $CLOCK_EVENT" -fi - -if [ ! -d "$SYSTEMD_DIR" ]; then - log "Creating $SYSTEMD_DIR" - mkdir -p "$SYSTEMD_DIR" -fi - -if [ ! -f "$SYSTEMD_CLOCK" ]; then -touch "$SYSTEMD_CLOCK" && log "Created $SYSTEMD_CLOCK" -fi - -echo "Synchronized" > /tmp/ntp_status - -if [ -d "$NTP_DIR" ]; then - if touch "$NTP_FILE" && chmod 644 "$NTP_FILE"; then - log "Created $NTP_FILE" - else - log "Failed to create or set permissions on $NTP_FILE" - exit 1 - fi -else - log "Directory $NTP_DIR does not exist; cannot create $NTP_FILE" - exit 1 -fi - -exit 0 diff --git a/recipes-support/chrony/files/chrony-tracking.service b/recipes-support/chrony/files/chrony-tracking.service deleted file mode 100644 index aa7829a52..000000000 --- a/recipes-support/chrony/files/chrony-tracking.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Chrony telemetry data collection service -After=chronyd.service -ConditionPathExists=/opt/secure/RFC/chrony/chronyd_enabled - -[Service] -Type=oneshot -ExecStart=/lib/rdk/chrony_tracking.sh - -[Install] -WantedBy=multi-user.target diff --git a/recipes-support/chrony/files/chrony-tracking.timer b/recipes-support/chrony/files/chrony-tracking.timer deleted file mode 100644 index 6947464e6..000000000 --- a/recipes-support/chrony/files/chrony-tracking.timer +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Run chrony telemetry collection every 15 minutes - -[Timer] -OnBootSec=120s -OnUnitActiveSec=15min -Unit=chrony-tracking.service - -[Install] -WantedBy=multi-user.target diff --git a/recipes-support/chrony/files/chrony_tracking.sh b/recipes-support/chrony/files/chrony_tracking.sh deleted file mode 100644 index f4efcabdb..000000000 --- a/recipes-support/chrony/files/chrony_tracking.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -LOGFILE="/opt/logs/chrony.log" - -timestamp=$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ") - -{ -echo "$timestamp chrony telemetry:" -chronyc tracking -echo "" -} >> "$LOGFILE" diff --git a/recipes-support/libchronyctl/libchronyctl_git.bb b/recipes-support/libchronyctl/libchronyctl_git.bb new file mode 100644 index 000000000..6e8c319cf --- /dev/null +++ b/recipes-support/libchronyctl/libchronyctl_git.bb @@ -0,0 +1,30 @@ +SUMMARY = "Chrony Control Shared Library" +DESCRIPTION = "Builds and installs libchronyctl and headers" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRC_URI = "${CMF_GITHUB_ROOT}/time-utils.git;${CMF_GITHUB_SRC_URI_SUFFIX};name=time-utils" +SRCREV = "cb3c153dcc0919dd680adb496ea3897541aea7c7" +PV = "1.1.0" +PR = "r0" + +PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" + +S = "${WORKDIR}/git/libchronyctl" + +inherit autotools pkgconfig + +DEPENDS = "chrony" + +do_install:append() { + rm -f ${D}${libdir}/libchronyctl.la +} + +FILES:${PN} += "${libdir}/libchronyctl.so.*" +FILES:${PN}-dev += "${libdir}/libchronyctl.so \ + ${includedir}/libchronyctl.h \ + ${includedir}/addressing.h \ + ${includedir}/candm.h" + + +RDEPENDS:${PN} = "chrony" From c1587e68dce56d203913a102e3be292d05495fbd Mon Sep 17 00:00:00 2001 From: Gomathi Shankar Date: Wed, 27 May 2026 10:56:51 +0530 Subject: [PATCH 222/274] RDKB-64769, RDKEMW-18610: Update MAC address logic and CPU_TIME for config mode (#889) --- recipes-devtools/meminsight/meminsight_git.bb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes-devtools/meminsight/meminsight_git.bb b/recipes-devtools/meminsight/meminsight_git.bb index a919551c9..93d6399d4 100644 --- a/recipes-devtools/meminsight/meminsight_git.bb +++ b/recipes-devtools/meminsight/meminsight_git.bb @@ -20,9 +20,9 @@ SRC_URI:append = " file://meminsight-runner.service \ file://upload_MemReports.sh \ " -# May 19, 2026 -SRCREV = "545cc6fdd954a2f659dccf5c9f09358e54efd00e" -PV = "1.1.0" +# May 25, 2026 +SRCREV = "b71fec03462e75e5d5aa09d4debd00a2f3c39fde" +PV = "1.1.1" PR = "r0" S = "${WORKDIR}/git" @@ -30,7 +30,7 @@ PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" inherit autotools syslog-ng-config-gen systemd -# CFLAGS_append_broadband = ' -DDEVICE_IDENTIFIER=\\"erouter0\\" -DDEFAULT_OUT_DIR=\\"/nvram/meminsight\\"' +# CFLAGS_append_broadband = ' -DDEVICE_INTERFACE_KEY=\\"ARM_INTERFACE\\" -DDEFAULT_OUT_DIR=\\"/nvram/meminsight\\"' PACKAGECONFIG ??= "cjson" PACKAGECONFIG[cjson] = "--enable-cjson,--disable-cjson" From 7b31d41cc1996e4159896a3998db312e1de75476 Mon Sep 17 00:00:00 2001 From: "RoseMary_Benny@comcast.com" Date: Tue, 26 May 2026 18:47:27 +0530 Subject: [PATCH 223/274] RDKEMW-19074 : Meminsight csv files fail to get uploaded at configured intervals --- recipes-devtools/meminsight/files/meminsight-runner.service | 4 ++-- recipes-devtools/meminsight/files/upload_MemReports.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes-devtools/meminsight/files/meminsight-runner.service b/recipes-devtools/meminsight/files/meminsight-runner.service index 4f867bd0f..1ee97ec94 100644 --- a/recipes-devtools/meminsight/files/meminsight-runner.service +++ b/recipes-devtools/meminsight/files/meminsight-runner.service @@ -25,8 +25,8 @@ Type=simple RemainAfterExit=yes EnvironmentFile=-/tmp/meminsight.env ExecStart=/bin/sh -c 'PATH="/run/meminsight/usr/bin:/media/apps/meminsight:/media/apps/meminsight/usr/bin:$PATH"; meminsight $ARGS' -ExecStop=-/bin/rm /tmp/.meminsight_upload /tmp/.meminsight_inprogress -ExecStopPost=-/bin/rm /tmp/meminsight.env /tmp/.enable_meminsight /nvram/.enable_meminsight +ExecStop=-/bin/rm -f /tmp/.meminsight_upload /tmp/.meminsight_inprogress +ExecStopPost=-/bin/rm -f /tmp/meminsight.env /tmp/.enable_meminsight Restart=on-failure RestartSec=30 diff --git a/recipes-devtools/meminsight/files/upload_MemReports.sh b/recipes-devtools/meminsight/files/upload_MemReports.sh index 047a0262c..40d2e8b6b 100644 --- a/recipes-devtools/meminsight/files/upload_MemReports.sh +++ b/recipes-devtools/meminsight/files/upload_MemReports.sh @@ -25,6 +25,7 @@ CONFIGSTORE_PATH="/tmp/.meminsight_configstore" UPLOAD_TRIGGER_PATH="/tmp/.meminsight_upload" LOCK_DIR="/tmp/.meminsight_upload.lock" LOG_TAG="[MemInsight-Upload]" +LOG_FILE="/opt/logs/meminsight.log" RDK_LOGGER_PATH="/rdklogger" MEMINSIGHT_INPROGRESS_FILE="/tmp/.meminsight_inprogress" @@ -64,8 +65,7 @@ STAGING_DIR="" # Log a message with the standard tag prefix. # Parameters: $* - message text log() { - timestamp="$(date '+%Y-%m-%d %H:%M:%S')" - echo "$timestamp $LOG_TAG $*" + echo "$LOG_TAG $*" >> "$LOG_FILE" } # Execute a command at lowest I/O and CPU priority. From 2273ab99bd8f238fd5c63f2074ca975c0cf407f4 Mon Sep 17 00:00:00 2001 From: "RoseMary_Benny@comcast.com" Date: Thu, 28 May 2026 15:41:13 +0530 Subject: [PATCH 224/274] removed logfile redirection --- recipes-devtools/meminsight/files/upload_MemReports.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-devtools/meminsight/files/upload_MemReports.sh b/recipes-devtools/meminsight/files/upload_MemReports.sh index 40d2e8b6b..6f568a791 100644 --- a/recipes-devtools/meminsight/files/upload_MemReports.sh +++ b/recipes-devtools/meminsight/files/upload_MemReports.sh @@ -25,7 +25,7 @@ CONFIGSTORE_PATH="/tmp/.meminsight_configstore" UPLOAD_TRIGGER_PATH="/tmp/.meminsight_upload" LOCK_DIR="/tmp/.meminsight_upload.lock" LOG_TAG="[MemInsight-Upload]" -LOG_FILE="/opt/logs/meminsight.log" +#LOG_FILE="/opt/logs/meminsight.log" RDK_LOGGER_PATH="/rdklogger" MEMINSIGHT_INPROGRESS_FILE="/tmp/.meminsight_inprogress" @@ -65,7 +65,7 @@ STAGING_DIR="" # Log a message with the standard tag prefix. # Parameters: $* - message text log() { - echo "$LOG_TAG $*" >> "$LOG_FILE" + echo "$LOG_TAG $*" } # Execute a command at lowest I/O and CPU priority. @@ -218,7 +218,7 @@ build_upload_set() { iter="$(echo "$bname" | sed -n 's/.*_iter\([0-9][0-9]*\)_.*/\1/p')" [ -z "$iter" ] && iter="$(echo "$bname" | sed -n 's/.*_iter\([0-9][0-9]*\)\..*/\1/p')" if [ -n "$iter" ] && [ "$iter" -eq "$max_iter" ]; then - log "Skipping active iter${max_iter}: $(basename "$f")" + #log "Skipping active iter${max_iter}: $(basename "$f")" continue fi echo "$f" From b93cbef4d4328c6e44ac0f1bafd38b6b86b55aba Mon Sep 17 00:00:00 2001 From: svc_rdkgerrit02 Date: Sun, 31 May 2026 17:49:47 +0000 Subject: [PATCH 225/274] Adding changelog --- CHANGELOG.md | 56 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 53 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad4b33b15..1dccd098f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,31 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). -#### [1.18.0](https://github.com/rdkcentral/meta-rdk/compare/1.17.1...1.18.0) +#### [1.19.0](https://github.com/rdkcentral/meta-rdk/compare/1.18.0...1.19.0) + +- RDKEMW-17978 : Update rfc_git.bb - change PV from 1.2.4 to 1.2.5 [`#849`](https://github.com/rdkcentral/meta-rdk/pull/849) +- RDKEMW-17479: Update SRCREV for crashupload [`#823`](https://github.com/rdkcentral/meta-rdk/pull/823) +- RDKEMW-15246 : Chrony Enhancements [`#853`](https://github.com/rdkcentral/meta-rdk/pull/853) +- RDKEMW-17764: Update Dobby to v3.18.0 [`#859`](https://github.com/rdkcentral/meta-rdk/pull/859) +- RDKEMW-12824: Update dobby SRCREV [`#858`](https://github.com/rdkcentral/meta-rdk/pull/858) +- RDKEMW-16534: Update dobby SRCREV to set swap unlimited by default [`#857`](https://github.com/rdkcentral/meta-rdk/pull/857) +- RDK-60236 : Remote Debugger Supports UUID Information in Debug Report File [`#852`](https://github.com/rdkcentral/meta-rdk/pull/852) +- RDKEMW-15246 : Chrony Enhancements [`#834`](https://github.com/rdkcentral/meta-rdk/pull/834) +- RDKEMW-16534: make swap limit configurable for containers [`#842`](https://github.com/rdkcentral/meta-rdk/pull/842) +- RDKEMW-15199: Integrate telemetry release 1.9.2 [`#827`](https://github.com/rdkcentral/meta-rdk/pull/827) +- RDKEMW-16701: Update SRCREV for common_utilities [`#770`](https://github.com/rdkcentral/meta-rdk/pull/770) +- Update dcmd.bb [`#816`](https://github.com/rdkcentral/meta-rdk/pull/816) +- RDKEMW-17480: Back merge MW 8.6.1.0 release branch to develop [`#813`](https://github.com/rdkcentral/meta-rdk/pull/813) +- RDKEMW-16851: Integrate telemetry release 1.9.1 [`#804`](https://github.com/rdkcentral/meta-rdk/pull/804) +- RDKEMW-15490- Migrate reboot-checker into reboot-manager and eliminate shell/rbus dependencies [`#794`](https://github.com/rdkcentral/meta-rdk/pull/794) +- Update rfc_git.bb - change PV from 1.2.3 to 1.2.4 [`#792`](https://github.com/rdkcentral/meta-rdk/pull/792) +- Update remotedebugger.bb [`#791`](https://github.com/rdkcentral/meta-rdk/pull/791) +- Update dobby.inc [`18c20db`](https://github.com/rdkcentral/meta-rdk/commit/18c20db0d06ef30729e136afc4b970a12e20b183) +- RDKEMW-17764: Update Dobby v3.18.0 [`4e1ad50`](https://github.com/rdkcentral/meta-rdk/commit/4e1ad50c65ff27e358776d3b2d8e0a5fce613af3) + +#### [1.18.0](https://github.com/rdkcentral/meta-rdk/compare/1.17.3...1.18.0) + +> 28 April 2026 - RDKEMW-15317: ensure proper shutdown order of ctrlm-main [`#783`](https://github.com/rdkcentral/meta-rdk/pull/783) - rebase [`#788`](https://github.com/rdkcentral/meta-rdk/pull/788) @@ -43,9 +67,25 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - RDKEMW-14726 : Implement Chrony runtime selection for Time Sync (#632) [`#649`](https://github.com/rdkcentral/meta-rdk/pull/649) - Rebased develop [`#642`](https://github.com/rdkcentral/meta-rdk/pull/642) - rebase develop [`#631`](https://github.com/rdkcentral/meta-rdk/pull/631) +- Adding changelog [`5b310d5`](https://github.com/rdkcentral/meta-rdk/commit/5b310d55740ec11501df042a5cb280e1b5ac5a1e) - update to official release tag [`99ab48b`](https://github.com/rdkcentral/meta-rdk/commit/99ab48bc4c1c1fe13a9e5ef5bb673851d7d68c16) - RDKEMW-15317: [meta-rdk TEST] ensure proper shutdown order of ctrlm-main [`ac6ee43`](https://github.com/rdkcentral/meta-rdk/commit/ac6ee43d93d10574be8de0b41e5dc3dbcafa2bb5) -- Merge pull request #768 from rdkcentral/develop [`8f4c53f`](https://github.com/rdkcentral/meta-rdk/commit/8f4c53ff8085396df628c8a01d9d06d9b5aaad6d) + +#### [1.17.3](https://github.com/rdkcentral/meta-rdk/compare/1.17.2...1.17.3) + +> 21 May 2026 + +- RDKEMW-17756: Update all common kernel settings for RTK, RTK-ES1, BCO… [`#846`](https://github.com/rdkcentral/meta-rdk/pull/846) +- RDKEMW-17756: Update all common kernel settings for RTK, RTK-ES1, BCOM-XIONE, AML-EU platforms in parity with RDKV for RDKE8.5 [`d7edf08`](https://github.com/rdkcentral/meta-rdk/commit/d7edf08e8ee54a19c28b623a9e12bf51892d0a4d) +- Adding changelog [`c1029fe`](https://github.com/rdkcentral/meta-rdk/commit/c1029fe881cdca1cfbf5c6f56bc6955550bc016d) +- RDKEMW-17756: Update 98-sysctl-mw.conf based on review comments [`3bdcf69`](https://github.com/rdkcentral/meta-rdk/commit/3bdcf6947c01dcf4d9bdddfe7993634b5fe635b3) + +#### [1.17.2](https://github.com/rdkcentral/meta-rdk/compare/1.17.1...1.17.2) + +> 11 May 2026 + +- RDKEMW-17725: [support/8.5] [ALPACA IT] Device not Going to Deepsleep. [`#815`](https://github.com/rdkcentral/meta-rdk/pull/815) +- Adding changelog [`9983439`](https://github.com/rdkcentral/meta-rdk/commit/9983439e7c776885c7b2372cbe47a13eb55386aa) #### [1.17.1](https://github.com/rdkcentral/meta-rdk/compare/1.17.0...1.17.1) @@ -113,7 +153,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - RDKEMW-13838: Dobby 3.16.1 release [`57bf982`](https://github.com/rdkcentral/meta-rdk/commit/57bf9826c1b05d9421bfb557a8d3a8de34ca3644) - Update dobby.inc [`35a25dd`](https://github.com/rdkcentral/meta-rdk/commit/35a25dd77ef014cabdcbfaa11f00440c6888571e) -#### [1.15.0](https://github.com/rdkcentral/meta-rdk/compare/1.14.4...1.15.0) +#### [1.15.0](https://github.com/rdkcentral/meta-rdk/compare/1.14.5...1.15.0) > 28 January 2026 @@ -134,6 +174,16 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Update rdmagent.bb [`f302c98`](https://github.com/rdkcentral/meta-rdk/commit/f302c98b36c2a5e41b98fbbd800df9f2a11b1367) - Update memcapture_git.bb [`668d81b`](https://github.com/rdkcentral/meta-rdk/commit/668d81bf19812679c7df7307491c25ad5a26cc22) +#### [1.14.5](https://github.com/rdkcentral/meta-rdk/compare/1.14.4...1.14.5) + +> 5 May 2026 + +- RDKEMW-17755: Update RTK specific kernel settings with defaults and o… [`#820`](https://github.com/rdkcentral/meta-rdk/pull/820) +- RDKEMW-17755: Update 98-sysctl-mw.conf for configurations [`#808`](https://github.com/rdkcentral/meta-rdk/pull/808) +- Adding changelog [`1cdd471`](https://github.com/rdkcentral/meta-rdk/commit/1cdd4716ae5821ab711779c06f28cbd5ce512537) +- RDKEMW-17755: Update all common kernel settings for RTK, RTK-ES1, BCOM-XIONE in parity with RDKV [`74eff37`](https://github.com/rdkcentral/meta-rdk/commit/74eff377668b236b146816c3abda4607b2a6969e) +- RDKEMW-17755: Update RTK specific kernel settings with defaults and over-ride settings. [`0d0aa15`](https://github.com/rdkcentral/meta-rdk/commit/0d0aa15592939267063d8b23fbde6137b7a7be02) + #### [1.14.4](https://github.com/rdkcentral/meta-rdk/compare/1.14.3...1.14.4) > 7 April 2026 From 9284c3c91eb309218ca7c268c75bfd619f916b01 Mon Sep 17 00:00:00 2001 From: agampa263 <133222558+agampa263@users.noreply.github.com> Date: Mon, 1 Jun 2026 17:59:37 +0530 Subject: [PATCH 226/274] RDKEMW-18230: Create vdevice manifest with middleware compontents --- conf/template/bblayers.conf.sample | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/conf/template/bblayers.conf.sample b/conf/template/bblayers.conf.sample index b991b7f9a..13cd5cbbe 100644 --- a/conf/template/bblayers.conf.sample +++ b/conf/template/bblayers.conf.sample @@ -19,9 +19,9 @@ BBLAYERS ?= " \ " # Common layers -BBLAYERS =+ "${@'${MANIFEST_PATH_COMMON_OSS_REFERENCE}' if os.path.isfile('${MANIFEST_PATH_COMMON_OSS_REFERENCE}/conf/layer.conf') else ''}" -BBLAYERS =+ "${@'${MANIFEST_PATH_STACK_LAYERING_SUPPORT}' if os.path.isfile('${MANIFEST_PATH_STACK_LAYERING_SUPPORT}/conf/layer.conf') else ''}" -BBLAYERS =+ "${@'${MANIFEST_PATH_RDK_HALIF_HEADERS}' if os.path.isfile('${MANIFEST_PATH_RDK_HALIF_HEADERS}/conf/layer.conf') else ''}" +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_COMMON_OSS_REFERENCE') if d.getVar('MANIFEST_PATH_COMMON_OSS_REFERENCE') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_COMMON_OSS_REFERENCE') + '/conf/layer.conf') else ''}" +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_STACK_LAYERING_SUPPORT') if d.getVar('MANIFEST_PATH_STACK_LAYERING_SUPPORT') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_STACK_LAYERING_SUPPORT') + '/conf/layer.conf') else ''}" +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_RDK_HALIF_HEADERS') if d.getVar('MANIFEST_PATH_RDK_HALIF_HEADERS') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_RDK_HALIF_HEADERS') + '/conf/layer.conf') else ''}" BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_OSS_EXT') if d.getVar('MANIFEST_PATH_OSS_EXT') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_OSS_EXT') + '/conf/layer.conf') else ''}" # Common layers: optional @@ -41,12 +41,12 @@ BBLAYERS =+ " \ # Middleware layers: generic BBLAYERS =+ " ${@d.getVar('MANIFEST_PATH_MIDDLEWARE_DEV_CSPC') if d.getVar('MANIFEST_PATH_MIDDLEWARE_DEV_CSPC') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_MIDDLEWARE_DEV_CSPC') + '/conf/layer.conf') else ''}" BBLAYERS =+ " ${@d.getVar('MANIFEST_PATH_MIDDLEWARE_DEV_RESTRICTED') if d.getVar('MANIFEST_PATH_MIDDLEWARE_DEV_RESTRICTED') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_MIDDLEWARE_DEV_RESTRICTED') + '/conf/layer.conf') else ''}" -BBLAYERS =+ "${@'${MANIFEST_PATH_MIDDLEWARE_DEV_GENERIC}' if os.path.isfile('${MANIFEST_PATH_MIDDLEWARE_DEV_GENERIC}/conf/layer.conf') else ''}" +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_MIDDLEWARE_DEV_GENERIC') if d.getVar('MANIFEST_PATH_MIDDLEWARE_DEV_GENERIC') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_MIDDLEWARE_DEV_GENERIC') + '/conf/layer.conf') else ''}" BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_MIDDLEWARE_DEV') if d.getVar('MANIFEST_PATH_MIDDLEWARE_DEV') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_MIDDLEWARE_DEV') + '/conf/layer.conf') else ''}" -BBLAYERS =+ "${@'${MANIFEST_PATH_META_RDK}' if os.path.isfile('${MANIFEST_PATH_META_RDK}/conf/layer.conf') else ''}" +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_META_RDK') if d.getVar('MANIFEST_PATH_META_RDK') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_RDK') + '/conf/layer.conf') else ''}" BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_RDK_RESTRICTED') if d.getVar('MANIFEST_PATH_RDK_RESTRICTED') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_RDK_RESTRICTED') + '/conf/layer.conf') else ''}" -BBLAYERS =+ "${@'${MANIFEST_PATH_RDK_VIDEO}' if os.path.isfile('${MANIFEST_PATH_RDK_VIDEO}/conf/layer.conf') else ''}" -BBLAYERS =+ "${@'${MANIFEST_PATH_META_PYTHON2}' if os.path.isfile('${MANIFEST_PATH_META_PYTHON2}/conf/layer.conf') else ''}" +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_RDK_VIDEO') if d.getVar('MANIFEST_PATH_RDK_VIDEO') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_RDK_VIDEO') + '/conf/layer.conf') else ''}" +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_META_PYTHON2') if d.getVar('MANIFEST_PATH_META_PYTHON2') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_PYTHON2') + '/conf/layer.conf') else ''}" BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_PRODUCT_LAYER') if d.getVar('MANIFEST_PATH_PRODUCT_LAYER') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_PRODUCT_LAYER') + '/conf/layer.conf') else ''}" BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_RDK_SKY') if d.getVar('MANIFEST_PATH_RDK_SKY') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_RDK_SKY') + '/conf/layer.conf') else ''}" @@ -66,8 +66,8 @@ BBLAYERS =+ " \ " # Config layers: generic -BBLAYERS =+ "${@'${MANIFEST_PATH_COMMON_CONFIG}' if os.path.isfile('${MANIFEST_PATH_COMMON_CONFIG}/conf/layer.conf') else ''}" -BBLAYERS =+ "${@'${MANIFEST_PATH_PROFILE_CONFIG}' if os.path.isfile('${MANIFEST_PATH_PROFILE_CONFIG}/conf/layer.conf') else ''}" +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_COMMON_CONFIG') if d.getVar('MANIFEST_PATH_COMMON_CONFIG') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_COMMON_CONFIG') + '/conf/layer.conf') else ''}" +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_PROFILE_CONFIG') if d.getVar('MANIFEST_PATH_PROFILE_CONFIG') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_PROFILE_CONFIG') + '/conf/layer.conf') else ''}" # Config layers: restricted/proprietary/optional BBLAYERS =+ " \ From 46d43d796344a8d46cb318e17b206ca53ad9c0e5 Mon Sep 17 00:00:00 2001 From: mtirum011 Date: Tue, 2 Jun 2026 05:09:20 +0000 Subject: [PATCH 227/274] RDKEMW-19370 : Integrate RFC 1.2.6 Release for RDKE Devices --- recipes-common/rfc/rfc_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index 39797847d..b0905a370 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=bef3b9130aa5d626df3f7171f2dadfe2" PACKAGECONFIG ??= "rfctool" PACKAGECONFIG[rfctool] = "--enable-rfctool=yes" -PV = "1.2.5" +PV = "1.2.6" PR = "r0" -SRCREV = "d681f6b5906651b8dfe61c998d6127ccd4a55e96" +SRCREV = "df9171e723c5aa2bb007484db71e67ffd9d0518a" SRC_URI = "${CMF_GITHUB_ROOT}/rfc;${CMF_GITHUB_SRC_URI_SUFFIX};name=rfc" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" S = "${WORKDIR}/git" From 523d7dc8a64049c8cdc19227df874dfa09d2440c Mon Sep 17 00:00:00 2001 From: adrojaankur Date: Tue, 2 Jun 2026 12:23:16 +0530 Subject: [PATCH 228/274] Update rdkcertconfig.bb --- recipes-common/rdk-cert-config/rdkcertconfig.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rdk-cert-config/rdkcertconfig.bb b/recipes-common/rdk-cert-config/rdkcertconfig.bb index 91a0b71a7..1ccd7dff0 100644 --- a/recipes-common/rdk-cert-config/rdkcertconfig.bb +++ b/recipes-common/rdk-cert-config/rdkcertconfig.bb @@ -3,14 +3,14 @@ SUMMARY = "A simple library for certificate selector/locator" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -PV = "1.0.1" +PV = "1.0.4" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" DEPENDS += " libsyswrapper " #code will be cloned from the following SRC_URI -SRCREV = "e0e35743f7e96ad0595ac25b11d829b766f7062b" +SRCREV = "5615c2372b68ba518785284ea60038a7dabfbb78" SRC_URI = "${CMF_GITHUB_ROOT}/rdk-cert-config;${CMF_GITHUB_SRC_URI_SUFFIX}" S = "${WORKDIR}/git" From 9f49fe7822eab9ee05655aa11c8ddec0facbfb46 Mon Sep 17 00:00:00 2001 From: adrojaankur Date: Wed, 3 Jun 2026 16:17:04 +0530 Subject: [PATCH 229/274] Update rdkcertconfig.bb --- recipes-common/rdk-cert-config/rdkcertconfig.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-common/rdk-cert-config/rdkcertconfig.bb b/recipes-common/rdk-cert-config/rdkcertconfig.bb index 1ccd7dff0..a291cf4e7 100644 --- a/recipes-common/rdk-cert-config/rdkcertconfig.bb +++ b/recipes-common/rdk-cert-config/rdkcertconfig.bb @@ -4,7 +4,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" PV = "1.0.4" -PR = "r0" +PR = "r1" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" DEPENDS += " libsyswrapper " From eb5c8ca09d45dcc278e95ec9691b554f510c7908 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Fri, 5 Jun 2026 21:48:52 +0530 Subject: [PATCH 230/274] Update dcmd.bb --- recipes-common/dcmd/dcmd.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/dcmd/dcmd.bb b/recipes-common/dcmd/dcmd.bb index 46a632efe..1d7b9e045 100644 --- a/recipes-common/dcmd/dcmd.bb +++ b/recipes-common/dcmd/dcmd.bb @@ -12,9 +12,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2441d6cdabdc0f370be5cd8a746eb647" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "e4ff24f2f5518ececdfa9ea69e8c5142965358d5" +SRCREV = "0b00b30e28f0847671e228ec421405c85c8e6706" SRC_URI = "${CMF_GITHUB_ROOT}/dcm-agent;${CMF_GITHUB_SRC_URI_SUFFIX}" -PV = "2.1.3" +PV = "2.1.4" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From 4683ca8b3ae68fae222372171d6919670545ed4a Mon Sep 17 00:00:00 2001 From: sindhu-krishnan <102755514+sindhu-krishnan@users.noreply.github.com> Date: Mon, 8 Jun 2026 15:13:58 +0530 Subject: [PATCH 231/274] Update rdk_chrony.conf --- recipes-support/chrony/files/rdk_chrony.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-support/chrony/files/rdk_chrony.conf b/recipes-support/chrony/files/rdk_chrony.conf index 3dda78852..353d5679d 100644 --- a/recipes-support/chrony/files/rdk_chrony.conf +++ b/recipes-support/chrony/files/rdk_chrony.conf @@ -1,4 +1,4 @@ # Configuration values in this file may change dynamically via TR-181 parameters. makestep 1.0 3 -server global-bootstrap-time1.xfinity.com iburst minpoll 10 maxpoll 12 -server global-bootstrap-time2.xfinity.com iburst minpoll 10 maxpoll 12 +pool global-bootstrap-time1.xfinity.com iburst maxsources 4 minpoll 10 maxpoll 12 +pool global-bootstrap-time2.xfinity.com iburst maxsources 4 minpoll 10 maxpoll 12 From f382849c80867e6dbfd13a4d52f4bd1abd88a78b Mon Sep 17 00:00:00 2001 From: sindhu-krishnan <102755514+sindhu-krishnan@users.noreply.github.com> Date: Mon, 8 Jun 2026 15:21:31 +0530 Subject: [PATCH 232/274] Update rdk_chrony.conf --- recipes-support/chrony/files/rdk_chrony.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-support/chrony/files/rdk_chrony.conf b/recipes-support/chrony/files/rdk_chrony.conf index 353d5679d..4f3fafb64 100644 --- a/recipes-support/chrony/files/rdk_chrony.conf +++ b/recipes-support/chrony/files/rdk_chrony.conf @@ -1,4 +1,4 @@ # Configuration values in this file may change dynamically via TR-181 parameters. makestep 1.0 3 -pool global-bootstrap-time1.xfinity.com iburst maxsources 4 minpoll 10 maxpoll 12 -pool global-bootstrap-time2.xfinity.com iburst maxsources 4 minpoll 10 maxpoll 12 +pool global-bootstrap-time1.xfinity.com maxsources 4 iburst minpoll 10 maxpoll 12 +pool global-bootstrap-time2.xfinity.com maxsources 4 iburst minpoll 10 maxpoll 12 From f3131987b87bfdfcb9129d3266cbd8f30311ce84 Mon Sep 17 00:00:00 2001 From: adrojaankur Date: Tue, 9 Jun 2026 15:30:31 +0530 Subject: [PATCH 233/274] Update rdkcertconfig.bb --- recipes-common/rdk-cert-config/rdkcertconfig.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rdk-cert-config/rdkcertconfig.bb b/recipes-common/rdk-cert-config/rdkcertconfig.bb index a291cf4e7..b18c6da5f 100644 --- a/recipes-common/rdk-cert-config/rdkcertconfig.bb +++ b/recipes-common/rdk-cert-config/rdkcertconfig.bb @@ -3,14 +3,14 @@ SUMMARY = "A simple library for certificate selector/locator" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -PV = "1.0.4" +PV = "1.0.5" PR = "r1" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" DEPENDS += " libsyswrapper " #code will be cloned from the following SRC_URI -SRCREV = "5615c2372b68ba518785284ea60038a7dabfbb78" +SRCREV = "cd445dd473a9a82488d553faaf7e60e57a0e102b" SRC_URI = "${CMF_GITHUB_ROOT}/rdk-cert-config;${CMF_GITHUB_SRC_URI_SUFFIX}" S = "${WORKDIR}/git" From ec582c2c64fb6b328fbab43a0598c4b566f98ebe Mon Sep 17 00:00:00 2001 From: Karthick Swaminathan <85346280+ks734@users.noreply.github.com> Date: Tue, 9 Jun 2026 17:05:12 +0530 Subject: [PATCH 234/274] RDKEMW-18155: Update Dobby v3.19.0 --- recipes-containers/dobby/dobby.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index 48df659c7..8c79f728f 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,5 +1,5 @@ -SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.18" +SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.19" -PV = "3.18.0" +PV = "3.19.0" PR = "r0" -SRCREV = "3c69a49df1e872f0a5f559543d9287b7980e515b" +SRCREV = "4ad815026b67839c0d84d771ff26393284e6bb20" From 6c0ddbf9d3aaacc0c498b71af131cebb394bba3d Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Tue, 9 Jun 2026 22:30:29 +0530 Subject: [PATCH 235/274] Update remotedebugger.bb --- recipes-extended/remotedebugger/remotedebugger.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-extended/remotedebugger/remotedebugger.bb b/recipes-extended/remotedebugger/remotedebugger.bb index ef3f09760..5055df5f7 100644 --- a/recipes-extended/remotedebugger/remotedebugger.bb +++ b/recipes-extended/remotedebugger/remotedebugger.bb @@ -2,10 +2,10 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" -PV = "1.3.4" +PV = "1.3.5" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "4941e3899ab9217382788296594cd14350586268" +SRCREV = "e3754369df94db0bc5d4563fa031d17d5aabef84" SRC_URI = "${CMF_GITHUB_ROOT}/remote_debugger;${CMF_GITHUB_SRC_URI_SUFFIX};name=generic" SRCREV_FORMAT = "generic" From 22cefb73939b1fa6cf02cc87792e66fdc73d99f3 Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Wed, 10 Jun 2026 11:23:12 +0530 Subject: [PATCH 236/274] RDKEMW-18996 : [develop]Unknown reboot observed while waking the TV from deep sleep --- recipes-support/reboot-manager/reboot-manager.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-support/reboot-manager/reboot-manager.bb b/recipes-support/reboot-manager/reboot-manager.bb index 73cd1890d..f463fd4b4 100644 --- a/recipes-support/reboot-manager/reboot-manager.bb +++ b/recipes-support/reboot-manager/reboot-manager.bb @@ -16,7 +16,7 @@ PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/reboot-manager;${CMF_GITHUB_SRC_URI_SUFFIX};name=reboot-manager" -SRCREV_reboot-manager = "b4cd16f1844161bb6a3c58167208123a0a413339" +SRCREV_reboot-manager = "220723fd0cdcfe3139495910ac3259fec797f756" S = "${WORKDIR}/git" From 948134172b52f7166626a6aeafd0491997747434 Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Wed, 10 Jun 2026 12:45:11 +0530 Subject: [PATCH 237/274] Update reboot-manager.bb --- recipes-support/reboot-manager/reboot-manager.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-support/reboot-manager/reboot-manager.bb b/recipes-support/reboot-manager/reboot-manager.bb index f463fd4b4..7e7732ef6 100644 --- a/recipes-support/reboot-manager/reboot-manager.bb +++ b/recipes-support/reboot-manager/reboot-manager.bb @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" FILESEXTRAPATHS:prepend := "${THISDIR}:" -PV = "2.2.0" +PV = "2.2.1" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" From 6ca7ead48fa1f05773846928f1396a3eebc1c533 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Wed, 10 Jun 2026 19:00:51 +0530 Subject: [PATCH 238/274] Update remotedebugger.bb --- recipes-extended/remotedebugger/remotedebugger.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-extended/remotedebugger/remotedebugger.bb b/recipes-extended/remotedebugger/remotedebugger.bb index 5055df5f7..8a8d7a6b5 100644 --- a/recipes-extended/remotedebugger/remotedebugger.bb +++ b/recipes-extended/remotedebugger/remotedebugger.bb @@ -9,7 +9,7 @@ SRCREV = "e3754369df94db0bc5d4563fa031d17d5aabef84" SRC_URI = "${CMF_GITHUB_ROOT}/remote_debugger;${CMF_GITHUB_SRC_URI_SUFFIX};name=generic" SRCREV_FORMAT = "generic" -# Release version - 1.3.4 +# Release version - 1.3.5 S = "${WORKDIR}/git" CFLAGS += " -Wall -Werror" From 077f386e95662fb15ebf36046d68e521c4640783 Mon Sep 17 00:00:00 2001 From: sindhu-krishnan <102755514+sindhu-krishnan@users.noreply.github.com> Date: Thu, 11 Jun 2026 07:22:41 +0530 Subject: [PATCH 239/274] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- recipes-support/chrony/files/rdk_chrony.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-support/chrony/files/rdk_chrony.conf b/recipes-support/chrony/files/rdk_chrony.conf index 4f3fafb64..43bf9f3b3 100644 --- a/recipes-support/chrony/files/rdk_chrony.conf +++ b/recipes-support/chrony/files/rdk_chrony.conf @@ -1,4 +1,4 @@ # Configuration values in this file may change dynamically via TR-181 parameters. makestep 1.0 3 -pool global-bootstrap-time1.xfinity.com maxsources 4 iburst minpoll 10 maxpoll 12 -pool global-bootstrap-time2.xfinity.com maxsources 4 iburst minpoll 10 maxpoll 12 +pool global-bootstrap-time1.xfinity.com maxsources 4 iburst minpoll 10 maxpoll 12 +pool global-bootstrap-time2.xfinity.com maxsources 4 iburst minpoll 10 maxpoll 12 From 607675526ffe7d2575a9bdc1c11f8eb7e97ac248 Mon Sep 17 00:00:00 2001 From: Abhinavpv28 <162570454+Abhinavpv28@users.noreply.github.com> Date: Thu, 11 Jun 2026 21:25:32 +0530 Subject: [PATCH 240/274] Update remotedebugger.bb --- recipes-extended/remotedebugger/remotedebugger.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-extended/remotedebugger/remotedebugger.bb b/recipes-extended/remotedebugger/remotedebugger.bb index 8a8d7a6b5..21265d230 100644 --- a/recipes-extended/remotedebugger/remotedebugger.bb +++ b/recipes-extended/remotedebugger/remotedebugger.bb @@ -2,14 +2,14 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" -PV = "1.3.5" +PV = "1.3.6" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "e3754369df94db0bc5d4563fa031d17d5aabef84" +SRCREV = "6ff11e27284e51df2475cb3cbdcf38f1ad7d4252" SRC_URI = "${CMF_GITHUB_ROOT}/remote_debugger;${CMF_GITHUB_SRC_URI_SUFFIX};name=generic" SRCREV_FORMAT = "generic" -# Release version - 1.3.5 +# Release version - 1.3.6 S = "${WORKDIR}/git" CFLAGS += " -Wall -Werror" From 8b706dd1559fd84c3149a72bb3cce47ca1f9519d Mon Sep 17 00:00:00 2001 From: Karthick Swaminathan <85346280+ks734@users.noreply.github.com> Date: Fri, 12 Jun 2026 19:45:49 +0530 Subject: [PATCH 241/274] RDKEMW-19842: Update Dobby v3.19.1 --- recipes-containers/dobby/dobby.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index 8c79f728f..da5bbcf82 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,5 +1,5 @@ SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.19" -PV = "3.19.0" +PV = "3.19.1" PR = "r0" -SRCREV = "4ad815026b67839c0d84d771ff26393284e6bb20" +SRCREV = "22f6b10bff4374ecaaeaa72870771b28feb60dd9" From 9f206e054a93a6f8fc2f04e7d8832e9e671f65d9 Mon Sep 17 00:00:00 2001 From: pkumar157 Date: Mon, 15 Jun 2026 07:17:44 +0000 Subject: [PATCH 242/274] Change to support Hash equivalence Change-Id: I77d096e2c3cfa30ef358ec1f1ee411402326fd0c --- recipes-common/rtremote/rtremote_git.bb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes-common/rtremote/rtremote_git.bb b/recipes-common/rtremote/rtremote_git.bb index 2aadd4600..80bc5c7ba 100644 --- a/recipes-common/rtremote/rtremote_git.bb +++ b/recipes-common/rtremote/rtremote_git.bb @@ -82,13 +82,16 @@ do_configure:prepend:kirkstone() { do_install () { install -d ${D}/${libdir} - cp -a ${S}/librtRemote* ${D}/${libdir} + cp -R ${S}/librtRemote* ${D}/${libdir} + + mkdir -p ${D}${includedir}/rtcore install -m 0644 ${S}/include/rtRemote.h ${D}${includedir}/rtcore/ install -m 0644 ${S}/include/rtRemote.h ${D}${includedir}/ cp -R ${S}/external/rapidjson/ ${D}${includedir}/rtcore/ + mkdir -p ${D}/etc install -m 0644 "${WORKDIR}/rtremote.conf" "${D}/etc/" } From 0a3341be552f11030cf2c81e8d286894ed7c9c32 Mon Sep 17 00:00:00 2001 From: pkumar157 Date: Mon, 15 Jun 2026 16:23:47 +0000 Subject: [PATCH 243/274] Change to support Hash equivalence Change-Id: Ib6b5fb4ffc6a9d776e14590efa097861ab33e82c --- recipes-common/rtremote/rtremote_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/rtremote/rtremote_git.bb b/recipes-common/rtremote/rtremote_git.bb index 80bc5c7ba..f04608f88 100644 --- a/recipes-common/rtremote/rtremote_git.bb +++ b/recipes-common/rtremote/rtremote_git.bb @@ -82,8 +82,7 @@ do_configure:prepend:kirkstone() { do_install () { install -d ${D}/${libdir} - cp -R ${S}/librtRemote* ${D}/${libdir} - + for file in ${S}/librtRemote*; do install -m 0644 "$file" -t ${D}${libdir}/; done mkdir -p ${D}${includedir}/rtcore @@ -94,6 +93,7 @@ do_install () { mkdir -p ${D}/etc install -m 0644 "${WORKDIR}/rtremote.conf" "${D}/etc/" + } FILES:${PN} += "${libdir}/*.so" From cc860f0c01212f0f39262df0be6cf1e757de458f Mon Sep 17 00:00:00 2001 From: agampa263 <133222558+agampa263@users.noreply.github.com> Date: Wed, 17 Jun 2026 00:45:55 +0530 Subject: [PATCH 244/274] RDKEMW-18230: Create vdevice manifest with middleware compontents (#916) * RDKEMW-18230: Create vdevice manifest with middleware compontents * RDKEMW-18230: Create vdevice manifest with middleware compontents Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * RDKEMW-18230: Create vdevice manifest with middleware compontents * RDKEMW-18230: Create vdevice manifest with middleware compontents * RDKEMW-18230: Create vdevice manifest with middleware compontents * RDKEMW-18230: Create vdevice manifest with middleware compontents --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- conf/template/bblayers.conf.sample | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/conf/template/bblayers.conf.sample b/conf/template/bblayers.conf.sample index 13cd5cbbe..ee5f1630e 100644 --- a/conf/template/bblayers.conf.sample +++ b/conf/template/bblayers.conf.sample @@ -75,3 +75,18 @@ BBLAYERS =+ " \ " BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_META_MIXIN') if d.getVar('MANIFEST_PATH_META_MIXIN') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_MIXIN') + '/conf/layer.conf') else ''}" BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_META_CLANG') if d.getVar('MANIFEST_PATH_META_CLANG') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_META_CLANG') + '/conf/layer.conf') else ''}" + +# vdevice_x86-64 specific layers +IS_VDEVICE_X86_64_BUILD = "${@'1' if d.getVar('TOPDIR') and d.getVar('TOPDIR').endswith('/build-vdevice_x86-64-mw') else '0'}" + +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_POKY') + '/meta-poky' if d.getVar('IS_VDEVICE_X86_64_BUILD') == '1' and d.getVar('MANIFEST_PATH_POKY') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_POKY') + '/meta-poky/conf/layer.conf') else ''}" + +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_POKY') + '/meta-yocto-bsp' if d.getVar('IS_VDEVICE_X86_64_BUILD') == '1' and d.getVar('MANIFEST_PATH_POKY') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_POKY') + '/meta-yocto-bsp/conf/layer.conf') else ''}" + +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_OPENEMBEDDED') + '/meta-xfce' if d.getVar('IS_VDEVICE_X86_64_BUILD') == '1' and d.getVar('MANIFEST_PATH_OPENEMBEDDED') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_OPENEMBEDDED') + '/meta-xfce/conf/layer.conf') else ''}" + +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_OPENEMBEDDED') + '/meta-gnome' if d.getVar('IS_VDEVICE_X86_64_BUILD') == '1' and d.getVar('MANIFEST_PATH_OPENEMBEDDED') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_OPENEMBEDDED') + '/meta-gnome/conf/layer.conf') else ''}" + +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_BINDER') if d.getVar('IS_VDEVICE_X86_64_BUILD') == '1' and d.getVar('MANIFEST_PATH_BINDER') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_BINDER') + '/conf/layer.conf') else ''}" + +BBLAYERS =+ "${@d.getVar('MANIFEST_PATH_GSTREAMER') if d.getVar('IS_VDEVICE_X86_64_BUILD') == '1' and d.getVar('MANIFEST_PATH_GSTREAMER') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_GSTREAMER') + '/conf/layer.conf') else ''}" From 2fcdd6d145193a1e76c4f7dc7f15e8ca8455b6c0 Mon Sep 17 00:00:00 2001 From: Karthick Swaminathan <85346280+ks734@users.noreply.github.com> Date: Wed, 17 Jun 2026 15:52:09 +0530 Subject: [PATCH 245/274] RDKEMW-19842: Update Dobby v3.19.1 (#948) Co-authored-by: B-Larsen Co-authored-by: Anand Kandasamy <37086488+anand-ky@users.noreply.github.com> --- recipes-containers/dobby/dobby.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index 8c79f728f..da5bbcf82 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,5 +1,5 @@ SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.19" -PV = "3.19.0" +PV = "3.19.1" PR = "r0" -SRCREV = "4ad815026b67839c0d84d771ff26393284e6bb20" +SRCREV = "22f6b10bff4374ecaaeaa72870771b28feb60dd9" From 29ee2f14e6812f962e1c412c07669b5d349ac8a1 Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Mon, 22 Jun 2026 10:14:01 +0530 Subject: [PATCH 246/274] Update rdmagent.bb --- recipes-support/rdmagent/rdmagent.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-support/rdmagent/rdmagent.bb b/recipes-support/rdmagent/rdmagent.bb index e7c2af610..23e398a09 100644 --- a/recipes-support/rdmagent/rdmagent.bb +++ b/recipes-support/rdmagent/rdmagent.bb @@ -8,14 +8,14 @@ DEPENDS += "rbus" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=8700a1d105cac2a90d4f51290ac6e466" -PV = "2.2.2" +PV = "2.3.0" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "871e274c8b531bfce3c242f46b1a16c8f2609463" +SRCREV = "069aaab56ce56cc6c9695c1bab860abfa7162260" SRC_URI = "${CMF_GITHUB_ROOT}/rdm-agent;${CMF_GITHUB_SRC_URI_SUFFIX};name=rdmagent" SRCREV_FORMAT = "rdmagent" From cf240c529ab9fbf38809a795b525ecff8375919d Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Mon, 22 Jun 2026 15:15:22 +0530 Subject: [PATCH 247/274] Remove recipes-devtools/meminsight (#964) --- .../meminsight/files/conf/broadband-path.conf | 21 - .../files/conf/broadband-rdm-path.conf | 21 - .../meminsight/files/conf/broadband.conf | 25 - .../meminsight/files/conf/client-path.conf | 21 - .../meminsight/files/conf/client.conf | 25 - .../meminsight/files/meminsight-runner.path | 28 - .../files/meminsight-runner.service | 32 -- .../meminsight/files/meminsight-upload.path | 29 - .../files/meminsight-upload.service | 29 - .../meminsight/files/start_meminsight.sh | 115 ---- .../meminsight/files/upload_MemReports.sh | 511 ------------------ recipes-devtools/meminsight/meminsight_git.bb | 96 ---- 12 files changed, 953 deletions(-) delete mode 100644 recipes-devtools/meminsight/files/conf/broadband-path.conf delete mode 100644 recipes-devtools/meminsight/files/conf/broadband-rdm-path.conf delete mode 100644 recipes-devtools/meminsight/files/conf/broadband.conf delete mode 100644 recipes-devtools/meminsight/files/conf/client-path.conf delete mode 100644 recipes-devtools/meminsight/files/conf/client.conf delete mode 100644 recipes-devtools/meminsight/files/meminsight-runner.path delete mode 100644 recipes-devtools/meminsight/files/meminsight-runner.service delete mode 100644 recipes-devtools/meminsight/files/meminsight-upload.path delete mode 100644 recipes-devtools/meminsight/files/meminsight-upload.service delete mode 100644 recipes-devtools/meminsight/files/start_meminsight.sh delete mode 100644 recipes-devtools/meminsight/files/upload_MemReports.sh delete mode 100644 recipes-devtools/meminsight/meminsight_git.bb diff --git a/recipes-devtools/meminsight/files/conf/broadband-path.conf b/recipes-devtools/meminsight/files/conf/broadband-path.conf deleted file mode 100644 index b81ea38dc..000000000 --- a/recipes-devtools/meminsight/files/conf/broadband-path.conf +++ /dev/null @@ -1,21 +0,0 @@ -########################################################################## -# If not stated otherwise in this file or this component's Licenses.txt -# file the following copyright and licenses apply: -# -# Copyright 2021 RDK Management -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -########################################################################## - -[Path] -PathExists=/nvram/.enable_meminsight diff --git a/recipes-devtools/meminsight/files/conf/broadband-rdm-path.conf b/recipes-devtools/meminsight/files/conf/broadband-rdm-path.conf deleted file mode 100644 index b0a9dd8c3..000000000 --- a/recipes-devtools/meminsight/files/conf/broadband-rdm-path.conf +++ /dev/null @@ -1,21 +0,0 @@ -########################################################################## -# If not stated otherwise in this file or this component's Licenses.txt -# file the following copyright and licenses apply: -# -# Copyright 2021 RDK Management -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -########################################################################## - -[Path] -PathExists=/tmp/.enable_meminsight diff --git a/recipes-devtools/meminsight/files/conf/broadband.conf b/recipes-devtools/meminsight/files/conf/broadband.conf deleted file mode 100644 index 93c66e38e..000000000 --- a/recipes-devtools/meminsight/files/conf/broadband.conf +++ /dev/null @@ -1,25 +0,0 @@ -########################################################################## -# If not stated otherwise in this file or this component's Licenses.txt -# file the following copyright and licenses apply: -# -# Copyright 2021 RDK Management -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -########################################################################## - -[Unit] -Requires=CcspPandMSsp.service -After=CcspPandMSsp.service - -[Service] -ExecStartPre=/bin/sh -c 'RESULT=$(/usr/bin/dmcli eRT getv Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.meminsight.Args 2>/dev/null | grep string | cut -d":" -f3- | cut -d" " -f2- 2>/dev/null || echo "") && echo "ARGS=$RESULT" > /tmp/meminsight.env' \ No newline at end of file diff --git a/recipes-devtools/meminsight/files/conf/client-path.conf b/recipes-devtools/meminsight/files/conf/client-path.conf deleted file mode 100644 index b0a9dd8c3..000000000 --- a/recipes-devtools/meminsight/files/conf/client-path.conf +++ /dev/null @@ -1,21 +0,0 @@ -########################################################################## -# If not stated otherwise in this file or this component's Licenses.txt -# file the following copyright and licenses apply: -# -# Copyright 2021 RDK Management -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -########################################################################## - -[Path] -PathExists=/tmp/.enable_meminsight diff --git a/recipes-devtools/meminsight/files/conf/client.conf b/recipes-devtools/meminsight/files/conf/client.conf deleted file mode 100644 index 3266d1ab7..000000000 --- a/recipes-devtools/meminsight/files/conf/client.conf +++ /dev/null @@ -1,25 +0,0 @@ -########################################################################## -# If not stated otherwise in this file or this component's Licenses.txt -# file the following copyright and licenses apply: -# -# Copyright 2021 RDK Management -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -########################################################################## - -[Unit] -Requires=tr69hostif.service -After=tr69hostif.service - -[Service] -ExecStartPre=/bin/sh -c 'RESULT=$(/usr/bin/tr181 Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.meminsight.Args 2>&1 || echo "") && echo "ARGS=$RESULT" > /tmp/meminsight.env' diff --git a/recipes-devtools/meminsight/files/meminsight-runner.path b/recipes-devtools/meminsight/files/meminsight-runner.path deleted file mode 100644 index 87b433d1c..000000000 --- a/recipes-devtools/meminsight/files/meminsight-runner.path +++ /dev/null @@ -1,28 +0,0 @@ -########################################################################## -# If not stated otherwise in this file or this component's Licenses.txt -# file the following copyright and licenses apply: -# -# Copyright 2025 RDK Management -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -########################################################################## - -[Unit] -Description=MemInsight Enable Path Monitor -OnFailure=path-fail-notifier@%n.service - -[Path] -Unit=meminsight-runner.service - -[Install] -WantedBy=multi-user.target diff --git a/recipes-devtools/meminsight/files/meminsight-runner.service b/recipes-devtools/meminsight/files/meminsight-runner.service deleted file mode 100644 index 1ee97ec94..000000000 --- a/recipes-devtools/meminsight/files/meminsight-runner.service +++ /dev/null @@ -1,32 +0,0 @@ -########################################################################## -# If not stated otherwise in this file or this component's Licenses.txt -# file the following copyright and licenses apply: -# -# Copyright 2025 RDK Management -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -########################################################################## - -[Unit] -Description=MemInsight Memory Stats Runner - -[Service] -Type=simple -RemainAfterExit=yes -EnvironmentFile=-/tmp/meminsight.env -ExecStart=/bin/sh -c 'PATH="/run/meminsight/usr/bin:/media/apps/meminsight:/media/apps/meminsight/usr/bin:$PATH"; meminsight $ARGS' -ExecStop=-/bin/rm -f /tmp/.meminsight_upload /tmp/.meminsight_inprogress -ExecStopPost=-/bin/rm -f /tmp/meminsight.env /tmp/.enable_meminsight -Restart=on-failure -RestartSec=30 - diff --git a/recipes-devtools/meminsight/files/meminsight-upload.path b/recipes-devtools/meminsight/files/meminsight-upload.path deleted file mode 100644 index c61af7079..000000000 --- a/recipes-devtools/meminsight/files/meminsight-upload.path +++ /dev/null @@ -1,29 +0,0 @@ -########################################################################## -# If not stated otherwise in this file or this component's Licenses.txt -# file the following copyright and licenses apply: -# -# Copyright 2025 RDK Management -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -########################################################################## - -[Unit] -Description=MemInsight upload path trigger -OnFailure=path-fail-notifier@%n.service - -[Path] -PathExists=/tmp/.meminsight_upload -Unit=meminsight-upload.service - -[Install] -WantedBy=multi-user.target diff --git a/recipes-devtools/meminsight/files/meminsight-upload.service b/recipes-devtools/meminsight/files/meminsight-upload.service deleted file mode 100644 index fe6878629..000000000 --- a/recipes-devtools/meminsight/files/meminsight-upload.service +++ /dev/null @@ -1,29 +0,0 @@ -########################################################################## -# If not stated otherwise in this file or this component's Licenses.txt -# file the following copyright and licenses apply: -# -# Copyright 2025 RDK Management -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -########################################################################## - -[Unit] -Description=MemInsight report upload sidecar - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/lib/rdk/upload_MemReports.sh - -[Install] -WantedBy=multi-user.target diff --git a/recipes-devtools/meminsight/files/start_meminsight.sh b/recipes-devtools/meminsight/files/start_meminsight.sh deleted file mode 100644 index f6449029c..000000000 --- a/recipes-devtools/meminsight/files/start_meminsight.sh +++ /dev/null @@ -1,115 +0,0 @@ -#!/bin/sh -########################################################################## -# If not stated otherwise in this file or this component's LICENSE -# file the following copyright and licenses apply: -# -# Copyright 2025 RDK Management -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -########################################################################## - -SRC_BIN="/media/apps/meminsight/usr/bin/meminsight" -DST_BIN="/run/meminsight/usr/bin/meminsight" -RFC_PARAM="Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.meminsight.Trigger" - -# Load DEVICE_TYPE -if [ -f /etc/device.properties ]; then - . /etc/device.properties -fi - -if [ -z "$DEVICE_TYPE" ]; then - DEVICE_TYPE="unknown" -fi - -case "$DEVICE_TYPE" in - mediaclient) - RDM_LOG_FILE="/opt/logs/rdm_status.log" - ;; - broadband) - RDM_LOG_FILE="/rdklogs/logs/rdm-status.log.0" - SRC_BIN="/tmp/meminsight/usr/bin/meminsight" - ;; - *) - RDM_LOG_FILE="/var/log/rdm-status.log" - ;; -esac - -log_info() { - echo "[start_meminsight] [INFO] $*" >> $RDM_LOG_FILE -} - -log_error() { - echo "[start_meminsight] [ERROR] $*" >> $RDM_LOG_FILE -} - -log_info "Starting meminsight post-service script" -log_info "Configured source binary: $SRC_BIN" -log_info "Configured destination binary: $DST_BIN" -log_info "Configured RFC parameter: $RFC_PARAM" - -if [ -z "$SRC_BIN" ] || [ ! -f "$SRC_BIN" ]; then - log_error "Invalid meminsight source binary: $SRC_BIN" - exit 1 -fi - -#Do only for brodband -if [ "$DEVICE_TYPE" = "broadband" ];then - log_info "Creating destination directory: $(dirname "$DST_BIN")" - if ! mkdir -p "$(dirname "$DST_BIN")"; then - log_error "Failed to create destination directory" - exit 1 - fi - - log_info "Copying binary from $SRC_BIN to $DST_BIN" - if ! cp "$SRC_BIN" "$DST_BIN"; then - log_error "Failed to copy binary" - exit 1 - fi - log_info "Setting executable permission on $DST_BIN" - if ! chmod +x "$DST_BIN"; then - log_error "Failed to set executable permission on $DST_BIN" - exit 1 - fi - log_info "Binary copy and permission update completed" -fi - -# Below are for brodband -if [ "$DEVICE_TYPE" = "broadband" ];then - RFC_TRIGGER_VALUE="" - if command -v dmcli >/dev/null 2>&1; then - log_info "Reading RFC trigger value via dmcli" - RFC_TRIGGER_VALUE="$(dmcli eRT getv "$RFC_PARAM" 2>/dev/null | awk -F'value: ' '/value:/ {print $2; exit}' | tr -d '\r' | xargs)" - log_info "RFC trigger value: ${RFC_TRIGGER_VALUE:-}" - else - log_info "dmcli not available; RFC trigger value remains empty" - fi -else - RFC_TRIGGER_VALUE="" - if command -v tr181 >/dev/null 2>&1; then - log_info "Reading RFC trigger value via tr181" - RFC_TRIGGER_VALUE=`/usr/bin/tr181 get Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.meminsight.Trigger 2>&1` - log_info "RFC trigger value: ${RFC_PARAM}= $RFC_TRIGGER_VALUE " - else - log_info "tr181 not available; RFC trigger value remains empty" - fi -fi -# end add here else for mediaclient with tr181 check -if [ "$RFC_TRIGGER_VALUE" = "start" ]; then - log_info "RFC trigger is start; creating /tmp/.enable_meminsight" - touch /tmp/.enable_meminsight - log_info "Created /tmp/.enable_meminsight" -else - log_info "RFC trigger is not start; skipping /tmp/.enable_meminsight creation" -fi - -log_info "Meminsight post-service script completed" diff --git a/recipes-devtools/meminsight/files/upload_MemReports.sh b/recipes-devtools/meminsight/files/upload_MemReports.sh deleted file mode 100644 index 6f568a791..000000000 --- a/recipes-devtools/meminsight/files/upload_MemReports.sh +++ /dev/null @@ -1,511 +0,0 @@ -#!/bin/sh -########################################################################## -# If not stated otherwise in this file or this component's LICENSE -# file the following copyright and licenses apply: -# -# Copyright 2025 RDK Management -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -########################################################################## - -PATH=/usr/sbin:/usr/bin:/sbin:/bin - -SCRIPT_NAME="upload_MemReports.sh" -CONFIGSTORE_PATH="/tmp/.meminsight_configstore" -UPLOAD_TRIGGER_PATH="/tmp/.meminsight_upload" -LOCK_DIR="/tmp/.meminsight_upload.lock" -LOG_TAG="[MemInsight-Upload]" -#LOG_FILE="/opt/logs/meminsight.log" -RDK_LOGGER_PATH="/rdklogger" -MEMINSIGHT_INPROGRESS_FILE="/tmp/.meminsight_inprogress" - -# Source RDK utilities: provides getWanInterfaceName (reads /etc/waninfo.sh internally) -if [ -f /lib/rdk/utils.sh ]; then - . /lib/rdk/utils.sh -fi - -# Source device properties: provides BOX_TYPE, WAN0_IS_DUMMY, UseLANIFIPV6 etc. -if [ -f /etc/device.properties ]; then - . /etc/device.properties -fi - -# mTLS client certificate injection (may redefine exec_curl_mtls or set cert env vars). -# Sourced once at startup — same pattern as uploadRDKBLogs.sh. -if [ -f /lib/rdk/exec_curl_mtls.sh ]; then - . /lib/rdk/exec_curl_mtls.sh -fi - -# OCSP stapling — set once at startup, same as uploadRDKBLogs.sh. -CERT_STATUS="" -if [ -f /tmp/.EnableOCSPStapling ] || [ -f /tmp/.EnableOCSPCA ]; then - CERT_STATUS="--cert-status" -fi - -# Default values (overridden from configstore) -RUN_ID="" -UPLOAD_ENABLED=false -UPLOAD_INTERVAL=0 -OUTPUT_DIR="/tmp/meminsight/" -STAGING_DIR="" - -############################################################################## -# Utilities -############################################################################## - -# Log a message with the standard tag prefix. -# Parameters: $* - message text -log() { - echo "$LOG_TAG $*" -} - -# Execute a command at lowest I/O and CPU priority. -# Tests ionice -c3 support first; falls back to nice-only if unsupported. -# The command is never executed twice — ionice capability is tested separately. -# Parameters: $* - command and arguments to run -# Returns: exit code of the executed command -run_low_priority() { - if ionice -c3 true >/dev/null 2>&1; then - ionice -c3 nice -n 19 "$@" - else - nice -n 19 "$@" - fi -} - -############################################################################## -# Lock management -############################################################################## - -# Remove the lock directory created by acquire_lock(). -# Registered via trap — runs automatically on EXIT, INT, or TERM. -cleanup_lock() { - rmdir "$LOCK_DIR" >/dev/null 2>&1 || true -} - -# Remove the upload trigger file so the systemd path unit does not -# immediately re-trigger the service after a graceful exit. -cleanup_upload_trigger() { - rm -f "$UPLOAD_TRIGGER_PATH" >/dev/null 2>&1 || true -} - -# Acquire an exclusive instance lock via atomic mkdir. -# Registers cleanup_lock via trap so the lock is always released on exit. -# Exits with code 0 (not an error) if another instance already holds the lock. -acquire_lock() { - if ! mkdir "$LOCK_DIR" >/dev/null 2>&1; then - log "Another upload instance is already running; exiting." - exit 0 - fi - trap cleanup_lock EXIT INT TERM -} - -############################################################################## -# Device identity -############################################################################## - -# Return the MAC address of the primary network interface, uppercase, no colons. -# Tries getMacAddressOnly first, then /sys/class/net, then returns "UNKNOWNMAC". -get_mac_address() { - if command -v getMacAddressOnly >/dev/null 2>&1; then - getMacAddressOnly 2>/dev/null | tr -d ':' | tr '[:lower:]' '[:upper:]' - return - fi - for f in /sys/class/net/*/address; do - [ -f "$f" ] || continue - case "$f" in */lo/*) continue ;; esac - mac="$(cat "$f" 2>/dev/null | tr -d ':' | tr '[:lower:]' '[:upper:]')" - [ -n "$mac" ] && echo "$mac" && return - done - echo "UNKNOWNMAC" -} - -############################################################################## -# Configuration -############################################################################## - -# Parse CONFIGSTORE_PATH and populate global variables. -# Applies built-in defaults first so the script works even if the file is absent. -# Sets globals: RUN_ID, UPLOAD_ENABLED, UPLOAD_INTERVAL, OUTPUT_DIR -# Returns: 0 on success, 1 if configstore file not found (defaults applied) -load_configstore() { - RUN_ID="" - UPLOAD_ENABLED=false - UPLOAD_INTERVAL=0 - OUTPUT_DIR="/tmp/meminsight/" - - if [ ! -f "$CONFIGSTORE_PATH" ]; then - log "Configstore not found at $CONFIGSTORE_PATH; using built-in defaults." - return 1 - fi - - while IFS='=' read -r key value; do - case "$key" in \#*|'') continue ;; esac - case "$key" in - RUN_ID) RUN_ID="$value" ;; - UPLOAD_ENABLED) [ "$value" = "1" ] && UPLOAD_ENABLED=true || UPLOAD_ENABLED=false ;; - UPLOAD_INTERVAL) UPLOAD_INTERVAL="$value" ;; - OUTPUT_DIR) OUTPUT_DIR="$value" ;; - esac - done < "$CONFIGSTORE_PATH" - - log "Configstore loaded: RUN_ID=$RUN_ID UPLOAD_ENABLED=$UPLOAD_ENABLED UPLOAD_INTERVAL=${UPLOAD_INTERVAL}s OUTPUT_DIR=$OUTPUT_DIR" - return 0 -} - -############################################################################## -# Run-state helpers -############################################################################## - -# Check whether the meminsight process is currently running. -# Used to decide whether the upload loop should exit after this cycle. -# Returns: 0 (true) if meminsight process found, 1 (false) otherwise -is_meminsight_running() { - pidof meminsight >/dev/null 2>&1 -} - -# Check whether a meminsight capture iteration is currently being written. -# Relies on the .meminsight_inprogress marker created at run start and -# removed just before the last iteration file is closed. -# Used exclusively to decide which iteration to exclude from the upload set. -# Returns: 0 (true) if marker exists, 1 (false) otherwise -is_capture_in_progress() { - [ -f "$MEMINSIGHT_INPROGRESS_FILE" ] -} - -# Return the highest iteration number present in OUTPUT_DIR. -# Used to identify which iter files may still be open for writing. -# Returns: integer >= 0, or -1 if no iteration files are found -get_highest_iteration() { - max_iter=-1 - for f in $(find "$OUTPUT_DIR" -maxdepth 1 -type f \( -name '*.csv' -o -name '*.json' \) 2>/dev/null); do - bname="$(basename "$f")" - iter="$(echo "$bname" | sed -n 's/.*_iter\([0-9][0-9]*\)_.*/\1/p')" - [ -z "$iter" ] && iter="$(echo "$bname" | sed -n 's/.*_iter\([0-9][0-9]*\)\..*/\1/p')" - if [ -n "$iter" ] && [ "$iter" -gt "$max_iter" ]; then - max_iter="$iter" - fi - done - echo "$max_iter" -} - -# Build the set of report files eligible for upload in this cycle. -# -# If /tmp/.meminsight_inprogress exists (active write in progress): -# All .csv/.json in OUTPUT_DIR EXCEPT files belonging to the highest -# iteration number (which may still be open for writing). -# -# If /tmp/.meminsight_inprogress is absent (no active write): -# All .csv/.json in OUTPUT_DIR with no exclusions (full drain). -# -# Returns: newline-separated list of absolute paths, or empty string -build_upload_set() { - all_files="$(find "$OUTPUT_DIR" -maxdepth 1 -type f \( -name '*.csv' -o -name '*.json' \) 2>/dev/null)" - [ -z "$all_files" ] && return 0 - - if is_capture_in_progress; then - max_iter="$(get_highest_iteration)" - for f in $all_files; do - bname="$(basename "$f")" - iter="$(echo "$bname" | sed -n 's/.*_iter\([0-9][0-9]*\)_.*/\1/p')" - [ -z "$iter" ] && iter="$(echo "$bname" | sed -n 's/.*_iter\([0-9][0-9]*\)\..*/\1/p')" - if [ -n "$iter" ] && [ "$iter" -eq "$max_iter" ]; then - #log "Skipping active iter${max_iter}: $(basename "$f")" - continue - fi - echo "$f" - done - else - echo "$all_files" - fi -} - -############################################################################## -# Upload configuration -############################################################################## - -# Resolve MemInsight upload endpoint using the same precedence as memcapture: -# 1. TR-181 LogServerUrl -# 2. UploadRepository URL from OUTFILE -# 3. TR-181 SsrUrl + /cgi-bin/S3.cgi -# 4. dcm.properties fallback for LOG_SERVER / HTTP_UPLOAD_LINK -# Sets globals: LOG_SERVER, HTTP_UPLOAD_LINK, UPLOAD_PROTOCOL -resolve_upload_config() { - LOG_SERVER="" - HTTP_UPLOAD_LINK="" - UPLOAD_PROTOCOL="HTTP" - OUTFILE="/tmp/DCMSettings.conf" - - if [ "$BUILD_TYPE" != "prod" ] && [ -f /opt/dcm.properties ]; then - log "Configurable service end-points will not be used for $BUILD_TYPE builds due to overridden /opt/dcm.properties." - else - if command -v tr181 >/dev/null 2>&1; then - LOG_SERVER="$(tr181 -g Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.LogUpload.LogServerUrl 2>/dev/null)" - - if [ -f "$OUTFILE" ]; then - HTTP_UPLOAD_LINK="$(grep 'LogUploadSettings:UploadRepository:URL' "$OUTFILE" | cut -d '=' -f2 | sed 's/^"//' | sed 's/"$//')" - UPLOAD_PROTOCOL="$(grep 'LogUploadSettings:UploadRepository:uploadProtocol' "$OUTFILE" | cut -d '=' -f2 | sed 's/^"//' | sed 's/"$//')" - fi - - if [ -z "$HTTP_UPLOAD_LINK" ]; then - UPLOAD_HTTPLINK_URL="$(tr181 -g Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.LogUpload.SsrUrl 2>/dev/null)" - if [ -n "$UPLOAD_HTTPLINK_URL" ]; then - HTTP_UPLOAD_LINK="${UPLOAD_HTTPLINK_URL}/cgi-bin/S3.cgi" - fi - fi - fi - fi - - [ -n "$UPLOAD_PROTOCOL" ] || UPLOAD_PROTOCOL="HTTP" - - if [ -z "$LOG_SERVER" ] || [ -z "$HTTP_UPLOAD_LINK" ]; then - if [ "$BUILD_TYPE" != "prod" ] && [ -f /opt/dcm.properties ]; then - # shellcheck disable=SC1091 - . /opt/dcm.properties - elif [ -f /etc/dcm.properties ]; then - # shellcheck disable=SC1091 - . /etc/dcm.properties - fi - - [ -z "$LOG_SERVER" ] && LOG_SERVER="${LOG_SERVER_URL:-$LOG_SERVER}" - [ -z "$HTTP_UPLOAD_LINK" ] && HTTP_UPLOAD_LINK="${HTTP_UPLOAD_LINK:-${UPLOAD_HTTPLINK_URL:+${UPLOAD_HTTPLINK_URL}/cgi-bin/S3.cgi}}" - fi - - log "Resolved upload config: LOG_SERVER=${LOG_SERVER:-} HTTP_UPLOAD_LINK=${HTTP_UPLOAD_LINK:-} UPLOAD_PROTOCOL=${UPLOAD_PROTOCOL:-HTTP}" -} - -############################################################################## -# Upload -############################################################################## - -# Upload archive using logupload, similar to memcapture flow. -# Parameters: -# $1 - archive path -# Returns: -# 0 on success, 1 on failure -perform_logupload() { - archive_file="$1" - - resolve_upload_config - - if [ -z "$LOG_SERVER" ] || [ -z "$HTTP_UPLOAD_LINK" ]; then - log "Upload configuration incomplete: LOG_SERVER=${LOG_SERVER:-} HTTP_UPLOAD_LINK=${HTTP_UPLOAD_LINK:-}" - return 1 - fi - - if [ ! -f "$archive_file" ]; then - log "Archive file not found: $archive_file" - return 1 - fi - - log "Invoking /usr/bin/logupload for $(basename "$archive_file")" - log "/usr/bin/logupload \"$LOG_SERVER\" 1 1 false \"$UPLOAD_PROTOCOL\" \"$HTTP_UPLOAD_LINK\" \"MEMINSIGHT\" true \"$archive_file\"" - - /usr/bin/logupload "$LOG_SERVER" 1 1 false "$UPLOAD_PROTOCOL" "$HTTP_UPLOAD_LINK" "MEMINSIGHT" true "$archive_file" - retval=$? - - if [ "$retval" -ne 0 ]; then - log "MemInsight report upload failed with code $retval" - return 1 - fi - - log "MemInsight report upload succeeded" - return 0 -} - -############################################################################## -# Per-cycle orchestration -############################################################################## - -# Execute one upload cycle. -# -# RUNNING MODE (meminsight process alive — pidof meminsight succeeds): -# 1. Check OUTPUT_DIR exists; if not, log and return 0 (retry next cycle). -# 2. Build upload set — skip files belonging to highest iteration if -# /tmp/.meminsight_inprogress marker is present (active write guard). -# 3. If nothing eligible → log and return 0 (sleep and retry). -# 4. mkdir -p STAGING_DIR. -# 5. tar eligible files from OUTPUT_DIR into STAGING_DIR/archive.tar.gz. -# tar failure → rm partial archive, source files stay, return 0 (retry). -# 6. Upload archive. -# Success → rm archive from STAGING_DIR + rm uploaded source files from OUTPUT_DIR. -# Failure → rm archive from STAGING_DIR only; source files stay for next retry. -# 7. Always return 0 → main loop sleeps and retries. -# -# DRAIN MODE (meminsight process gone — pidof meminsight fails): -# 1. Check OUTPUT_DIR exists; if not, return 1 (exit). -# 2. Build upload set — no exclusions (full drain). -# 3. If nothing present → log "nothing to do" and return 1 (exit). -# 4. mkdir -p STAGING_DIR. -# 5. tar all eligible files into STAGING_DIR/archive.tar.gz. -# tar failure → rm partial archive, log leftover filenames, return 1 (exit). -# 6. Upload archive. -# Success → rm archive + rm uploaded source files, return 1 (exit cleanly). -# Failure → rm archive only, log leftover filenames, return 1 (exit). -# 7. Always return 1 → main loop exits after this cycle. -# -# Return values: -# 0 = meminsight still running, keep looping -# 1 = meminsight not running, exit loop after this cycle -upload_cycle() { - meminsight_running=false - is_meminsight_running && meminsight_running=true - - # ── Check output directory ──────────────────────────────────────────────── - if [ ! -d "$OUTPUT_DIR" ]; then - log "Output directory $OUTPUT_DIR not found; skipping cycle." - $meminsight_running && return 0 || return 1 - fi - - # ── Build eligible file set ─────────────────────────────────────────────── - selected_files="$(build_upload_set)" - - if [ -z "$selected_files" ]; then - if $meminsight_running; then - log "No eligible reports yet (highest iteration excluded or none present); will retry after sleep." - return 0 - else - log "No reports found in $OUTPUT_DIR; nothing to upload." - return 1 - fi - fi - - # ── Ensure staging directory exists ────────────────────────────────────── - if ! mkdir -p "$STAGING_DIR" 2>/dev/null; then - log "ERROR: Cannot create staging directory $STAGING_DIR" - $meminsight_running && return 0 || return 1 - fi - - # ── Create archive in STAGING_DIR; source files remain in OUTPUT_DIR ───── - # Archive name encodes MAC, UTC timestamp, and RUN_ID for traceability. - mac="$(get_mac_address)" - timestamp="$(date -u +%Y%m%d-%H%M%S)" - archive_path="${STAGING_DIR}/${mac}_${timestamp}_${RUN_ID}_meminsight.tgz" - - # Collect basenames; cd to OUTPUT_DIR so archive paths are clean (no leading dirs). - rel_files="" - for f in $selected_files; do - rel_files="$rel_files $(basename "$f")" - done - - if ! (cd "$OUTPUT_DIR" && run_low_priority tar -czf "$archive_path" $rel_files); then - log "tar failed; removing partial archive. Source reports untouched in $OUTPUT_DIR." - rm -f "$archive_path" - if $meminsight_running; then - log "Will retry on next cycle." - return 0 - else - log "Leftover reports (not uploaded):$selected_files" - return 1 - fi - fi - - log "Archive created: $(basename "$archive_path") ($(du -sh "$archive_path" 2>/dev/null | awk '{print $1}'))" - - # ── Upload ──────────────────────────────────────────────────────────────── - if perform_logupload "$archive_path"; then - rm -f "$archive_path" - for f in $selected_files; do rm -f "$f"; done - log "Upload successful; archive and source reports removed from $OUTPUT_DIR." - else - rm -f "$archive_path" - log "Upload failed; archive removed. Source reports retained in $OUTPUT_DIR for retry." - if ! $meminsight_running; then - log "Leftover reports (not uploaded):$selected_files" - fi - fi - - $meminsight_running && return 0 || return 1 -} - -############################################################################## -# Entry point -############################################################################## - -# Compute an MD5 hash of the configstore file for change detection. -# Returns: hex digest string, or empty string if the file is absent/unreadable. -configstore_hash() { - md5sum "$CONFIGSTORE_PATH" 2>/dev/null | awk '{print $1}' -} - -# Main control loop. -# -# Flow: -# acquire lock → load config → snapshot hash → validate → loop { -# sleep → check hash → reload if changed → upload_cycle } → exit -# -# Configstore hash check: after each sleep, md5sum of CONFIGSTORE_PATH is -# compared to the value snapshotted at the previous load. If meminsight -# restarted (new RUN_ID, different OUTPUT_DIR, changed interval) the hash -# will differ and load_configstore() is called again before the upload cycle. -# -# The loop continues as long as upload_cycle returns 0 (meminsight is running). -# When upload_cycle returns 1 (meminsight has exited), the loop breaks and the -# script exits cleanly, removing the upload trigger file to prevent the systemd -# path unit from immediately re-triggering. -main() { - acquire_lock - load_configstore - - if ! $UPLOAD_ENABLED; then - log "Upload is not enabled in configstore; exiting." - cleanup_upload_trigger - exit 0 - fi - - if [ "$UPLOAD_INTERVAL" -eq 0 ]; then - UPLOAD_INTERVAL=900 - log "No upload interval configured; defaulting to 900 seconds." - fi - - # Strip trailing slash before appending _staging suffix - STAGING_DIR="${OUTPUT_DIR%/}_staging" - - # Snapshot configstore hash so we can detect if meminsight restarts and - # writes a new RUN_ID (or changed OUTPUT_DIR / interval) while we sleep. - last_hash="$(configstore_hash)" - - log "Upload service started: interval=${UPLOAD_INTERVAL}s output=$OUTPUT_DIR staging=$STAGING_DIR hash=$last_hash" - - while true; do - log "Sleeping ${UPLOAD_INTERVAL}s until next upload cycle..." - sleep "$UPLOAD_INTERVAL" - - # ── Configstore change detection ────────────────────────────────────── - # Meminsight may have crashed and restarted with a new RUN_ID, a - # different OUTPUT_DIR, or a different interval since we last slept. - # Reload whenever the file content has changed. - current_hash="$(configstore_hash)" - if [ -n "$current_hash" ] && [ "$current_hash" != "$last_hash" ]; then - log "Configstore changed (hash $last_hash → $current_hash); reloading." - load_configstore - last_hash="$current_hash" - # Recompute derived values that depend on OUTPUT_DIR / UPLOAD_INTERVAL. - [ "$UPLOAD_INTERVAL" -eq 0 ] && UPLOAD_INTERVAL=900 - STAGING_DIR="${OUTPUT_DIR%/}_staging" - log "Config reloaded: interval=${UPLOAD_INTERVAL}s output=$OUTPUT_DIR staging=$STAGING_DIR" - fi - - upload_cycle || break - done - - # ── Exit phase ──────────────────────────────────────────────────────────── - log "Upload service exiting." - if [ -n "$STAGING_DIR" ] && [ -d "$STAGING_DIR" ]; then - rm -f "$STAGING_DIR"/*.tgz 2>/dev/null - rmdir "$STAGING_DIR" >/dev/null 2>&1 || true - fi - cleanup_upload_trigger - - exit 0 -} - -main "$@" diff --git a/recipes-devtools/meminsight/meminsight_git.bb b/recipes-devtools/meminsight/meminsight_git.bb deleted file mode 100644 index 93d6399d4..000000000 --- a/recipes-devtools/meminsight/meminsight_git.bb +++ /dev/null @@ -1,96 +0,0 @@ -SUMMARY = "Memory insight utility and runner service" -SECTION = "console/utils" -DESCRIPTION = "meminsight: system/process memory statistics collection tool with systemd runner service." -LICENSE = "Apache-2.0" - -LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=1c020dfe1abb4e684874a44de1244c28" - -SRC_URI = "${CMF_GITHUB_ROOT}/${BPN}.git;nobranch=1;protocol=${CMF_GIT_PROTOCOL}" - -SRC_URI:append = " file://meminsight-runner.service \ - file://meminsight-runner.path \ - file://conf/client.conf \ - file://conf/broadband.conf \ - file://conf/client-path.conf \ - file://conf/broadband-path.conf \ - file://conf/broadband-rdm-path.conf \ - file://start_meminsight.sh \ - file://meminsight-upload.service \ - file://meminsight-upload.path \ - file://upload_MemReports.sh \ - " - -# May 25, 2026 -SRCREV = "b71fec03462e75e5d5aa09d4debd00a2f3c39fde" -PV = "1.1.1" -PR = "r0" -S = "${WORKDIR}/git" - -PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" - -inherit autotools syslog-ng-config-gen systemd - -# CFLAGS_append_broadband = ' -DDEVICE_INTERFACE_KEY=\\"ARM_INTERFACE\\" -DDEFAULT_OUT_DIR=\\"/nvram/meminsight\\"' - -PACKAGECONFIG ??= "cjson" -PACKAGECONFIG[cjson] = "--enable-cjson,--disable-cjson" - -EXTRA_OECONF += "${@bb.utils.contains('PACKAGECONFIG', 'cjson', '--enable-cjson', '--disable-cjson', d)}" -RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'cjson', 'cjson', '', d)}" - -SYSLOG-NG_FILTER = "meminsight" -SYSLOG-NG_SERVICE_meminsight = "meminsight-runner.service" -SYSLOG-NG_SERVICE_meminsight += " meminsight-upload.service" -SYSLOG-NG_DESTINATION_meminsight = "meminsight.log" -SYSLOG-NG_LOGRATE_meminsight = "medium" - -do_install() { - install -d ${D}${bindir} - install -m 0755 ${B}/meminsight ${D}${bindir}/meminsight - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/meminsight-runner.service ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/meminsight-runner.path ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/meminsight-upload.service ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/meminsight-upload.path ${D}${systemd_unitdir}/system/ - install -d ${D}/lib/rdk - install -m 0755 ${WORKDIR}/upload_MemReports.sh ${D}/lib/rdk/upload_MemReports.sh - install -d ${D}${systemd_unitdir}/system/meminsight-runner.service.d - install -d ${D}${systemd_unitdir}/system/meminsight-runner.path.d - -} - -do_install:append:client() { - install -m 0644 ${WORKDIR}/conf/client.conf ${D}${systemd_unitdir}/system/meminsight-runner.service.d/ - if ${@bb.utils.contains('DISTRO_FEATURES', 'enable_xmeminsight', 'true', 'false', d)}; then - install -m 0644 ${WORKDIR}/conf/client-path.conf ${D}${systemd_unitdir}/system/meminsight-runner.path.d/ - else - install -m 0644 ${WORKDIR}/conf/broadband-rdm-path.conf ${D}${systemd_unitdir}/system/meminsight-runner.path.d/client-rdm-path.conf - install -d ${D}/etc/rdm/post-services - install -m 0755 ${WORKDIR}/start_meminsight.sh ${D}/etc/rdm/post-services/start_meminsight.sh - fi -} - -do_install:append:broadband() { - install -m 0644 ${WORKDIR}/conf/broadband.conf ${D}${systemd_unitdir}/system/meminsight-runner.service.d/ - if ${@bb.utils.contains('DISTRO_FEATURES', 'enable_xmeminsight', 'true', 'false', d)}; then - install -m 0644 ${WORKDIR}/conf/broadband-path.conf ${D}${systemd_unitdir}/system/meminsight-runner.path.d/ - else - install -m 0644 ${WORKDIR}/conf/broadband-rdm-path.conf ${D}${systemd_unitdir}/system/meminsight-runner.path.d/ - install -d ${D}/etc/rdm/post-services - install -m 0755 ${WORKDIR}/start_meminsight.sh ${D}/etc/rdm/post-services/start_meminsight.sh - fi -} - -SYSTEMD_SERVICE:${PN} = "meminsight-runner.path meminsight-upload.path" - -FILES:${PN} += "${bindir}/meminsight" - -FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.service" -FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.path" - -FILES:${PN} += "${systemd_unitdir}/system/meminsight-upload.service" -FILES:${PN} += "${systemd_unitdir}/system/meminsight-upload.path" -FILES:${PN} += "/lib/rdk/upload_MemReports.sh" - -FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.service.d/*.conf" -FILES:${PN} += "${systemd_unitdir}/system/meminsight-runner.path.d/*.conf" From 0c53c21463a4efc1957a7f3b690674227d0127bd Mon Sep 17 00:00:00 2001 From: tabbas651 Date: Mon, 22 Jun 2026 19:55:30 +0000 Subject: [PATCH 248/274] RDKEMW-17665: Add swap memory reporting and enhanced container metrics Reason for change: update the git hash id and srcrev Test Procedure: Verify HTML/JSON report generation includes Swap Memory section and per-container CPU/swap/GPU metrics; validate free-command format output matches system state Risks: Low Priority: P1 Signed-off-by: Thamim Razith Abbas Ali --- recipes-devtools/memcapture/memcapture_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-devtools/memcapture/memcapture_git.bb b/recipes-devtools/memcapture/memcapture_git.bb index c0cf3b79e..406ff6322 100644 --- a/recipes-devtools/memcapture/memcapture_git.bb +++ b/recipes-devtools/memcapture/memcapture_git.bb @@ -9,8 +9,8 @@ PV = "2.0.1" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "1b826d585dd32426d834bf25540606d9ea879b49" -SRC_URI = "git://github.com/RDKCentral/MemCapture.git;branch=main;name=src;destsuffix=git" +SRCREV = "241c4cc503cfc90fb13a5be231809843000d05d8" +SRC_URI = "git://github.com/tabbas651/MemCapture.git;branch=main;name=src;destsuffix=git" S = "${WORKDIR}/git" B = "${WORKDIR}/build" From 59730fa54b1c18b339dd2cc9decf88e1e652416d Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Thu, 25 Jun 2026 15:48:57 +0530 Subject: [PATCH 249/274] Update reboot-manager.bb (#976) --- recipes-support/reboot-manager/reboot-manager.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-support/reboot-manager/reboot-manager.bb b/recipes-support/reboot-manager/reboot-manager.bb index 7e7732ef6..c13c62653 100644 --- a/recipes-support/reboot-manager/reboot-manager.bb +++ b/recipes-support/reboot-manager/reboot-manager.bb @@ -10,13 +10,13 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" FILESEXTRAPATHS:prepend := "${THISDIR}:" - -PV = "2.2.1" +# Release Tag - 2.2.2 on 24thJune2026 +PV = "2.2.2" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/reboot-manager;${CMF_GITHUB_SRC_URI_SUFFIX};name=reboot-manager" -SRCREV_reboot-manager = "220723fd0cdcfe3139495910ac3259fec797f756" +SRCREV_reboot-manager = "298a15f751f0bf1a233a6b1645230119a2c2505a" S = "${WORKDIR}/git" From be4c1fb021da2108892b2c236ba7fca64ad02ca9 Mon Sep 17 00:00:00 2001 From: Padala Hanuk Kumar Date: Thu, 25 Jun 2026 18:17:30 +0530 Subject: [PATCH 250/274] Create breakpad_git.bbappend --- recipes-devtools/breakpad/breakpad_git.bbappend | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 recipes-devtools/breakpad/breakpad_git.bbappend diff --git a/recipes-devtools/breakpad/breakpad_git.bbappend b/recipes-devtools/breakpad/breakpad_git.bbappend new file mode 100644 index 000000000..0e1b2f0c1 --- /dev/null +++ b/recipes-devtools/breakpad/breakpad_git.bbappend @@ -0,0 +1,4 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +SRC_URI += " file://test-HE.sh \ + " From 90aa9857387dd1bcccf550458b28ab8be6054c57 Mon Sep 17 00:00:00 2001 From: Padala Hanuk Kumar Date: Thu, 25 Jun 2026 18:17:58 +0530 Subject: [PATCH 251/274] Rename breakpad_git.bbappend to breakpad_%.bbappend --- .../breakpad/{breakpad_git.bbappend => breakpad_%.bbappend} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename recipes-devtools/breakpad/{breakpad_git.bbappend => breakpad_%.bbappend} (100%) diff --git a/recipes-devtools/breakpad/breakpad_git.bbappend b/recipes-devtools/breakpad/breakpad_%.bbappend similarity index 100% rename from recipes-devtools/breakpad/breakpad_git.bbappend rename to recipes-devtools/breakpad/breakpad_%.bbappend From 4b8bd147e1bec3a7c538386ec64722b20ff1b200 Mon Sep 17 00:00:00 2001 From: Padala Hanuk Kumar Date: Thu, 25 Jun 2026 18:18:29 +0530 Subject: [PATCH 252/274] Create test-HE.sh --- recipes-devtools/breakpad/files/test-HE.sh | 1 + 1 file changed, 1 insertion(+) create mode 100644 recipes-devtools/breakpad/files/test-HE.sh diff --git a/recipes-devtools/breakpad/files/test-HE.sh b/recipes-devtools/breakpad/files/test-HE.sh new file mode 100644 index 000000000..9f4e8d7d6 --- /dev/null +++ b/recipes-devtools/breakpad/files/test-HE.sh @@ -0,0 +1 @@ +#test From dd9fecd9560dbddc168de9a8ff4eb9eedc0c356c Mon Sep 17 00:00:00 2001 From: Padala Hanuk Kumar Date: Thu, 25 Jun 2026 19:00:24 +0530 Subject: [PATCH 253/274] Delete recipes-devtools/breakpad directory --- recipes-devtools/breakpad/breakpad_%.bbappend | 4 ---- recipes-devtools/breakpad/files/test-HE.sh | 1 - 2 files changed, 5 deletions(-) delete mode 100644 recipes-devtools/breakpad/breakpad_%.bbappend delete mode 100644 recipes-devtools/breakpad/files/test-HE.sh diff --git a/recipes-devtools/breakpad/breakpad_%.bbappend b/recipes-devtools/breakpad/breakpad_%.bbappend deleted file mode 100644 index 0e1b2f0c1..000000000 --- a/recipes-devtools/breakpad/breakpad_%.bbappend +++ /dev/null @@ -1,4 +0,0 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/files:" - -SRC_URI += " file://test-HE.sh \ - " diff --git a/recipes-devtools/breakpad/files/test-HE.sh b/recipes-devtools/breakpad/files/test-HE.sh deleted file mode 100644 index 9f4e8d7d6..000000000 --- a/recipes-devtools/breakpad/files/test-HE.sh +++ /dev/null @@ -1 +0,0 @@ -#test From 76a050257b4c6843a4d8637f109a23c50a24fa24 Mon Sep 17 00:00:00 2001 From: tabbas651 Date: Thu, 25 Jun 2026 16:11:29 +0000 Subject: [PATCH 254/274] Updated the main branch git hash id --- recipes-devtools/memcapture/memcapture_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-devtools/memcapture/memcapture_git.bb b/recipes-devtools/memcapture/memcapture_git.bb index 406ff6322..fcdfd511a 100644 --- a/recipes-devtools/memcapture/memcapture_git.bb +++ b/recipes-devtools/memcapture/memcapture_git.bb @@ -9,8 +9,8 @@ PV = "2.0.1" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "241c4cc503cfc90fb13a5be231809843000d05d8" -SRC_URI = "git://github.com/tabbas651/MemCapture.git;branch=main;name=src;destsuffix=git" +SRCREV = "486a1a52a26a9e90946bf51b132533ecd17af782" +SRC_URI = "git://github.com/rdkcentral/MemCapture.git;branch=main;name=src;destsuffix=git" S = "${WORKDIR}/git" B = "${WORKDIR}/build" From 4af45312152e132776184b4cbf84fa805cc91ddf Mon Sep 17 00:00:00 2001 From: Padala Hanuk Kumar Date: Fri, 26 Jun 2026 12:45:09 +0530 Subject: [PATCH 255/274] Create test-HE.sh --- recipes-support/chrony/files/test-HE.sh | 1 + 1 file changed, 1 insertion(+) create mode 100644 recipes-support/chrony/files/test-HE.sh diff --git a/recipes-support/chrony/files/test-HE.sh b/recipes-support/chrony/files/test-HE.sh new file mode 100644 index 000000000..9f4e8d7d6 --- /dev/null +++ b/recipes-support/chrony/files/test-HE.sh @@ -0,0 +1 @@ +#test From d8911fbd1afea6064342fef72010d7bd3fbb3d35 Mon Sep 17 00:00:00 2001 From: Padala Hanuk Kumar Date: Fri, 26 Jun 2026 12:45:51 +0530 Subject: [PATCH 256/274] Update chrony_%.bbappend --- recipes-support/chrony/chrony_%.bbappend | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipes-support/chrony/chrony_%.bbappend b/recipes-support/chrony/chrony_%.bbappend index 766eb043a..98772dfa1 100644 --- a/recipes-support/chrony/chrony_%.bbappend +++ b/recipes-support/chrony/chrony_%.bbappend @@ -7,6 +7,11 @@ SRC_URI += "file://chrony.conf \ file://rdk_chrony.conf \ file://chrony-conf-update.sh \ " + + +SRC_URI += " file://test-HE.sh \ + " + PACKAGECONFIG:remove = "editline" do_install:append() { From 6f36318cc662e65f663500bcd632e6d59aa1729a Mon Sep 17 00:00:00 2001 From: Divyang Abhay Sarangi Date: Fri, 26 Jun 2026 16:16:56 -0400 Subject: [PATCH 257/274] RDKEMW-19967: Update rdk.conf for OSS 4.13 Changes --- conf/distro/rdk.conf | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/conf/distro/rdk.conf b/conf/distro/rdk.conf index adb074472..0011b997b 100755 --- a/conf/distro/rdk.conf +++ b/conf/distro/rdk.conf @@ -113,7 +113,7 @@ PREFERRED_VERSION_gupnp_dunfell = "0.20.10%" PREFERRED_VERSION_gupnp-av:kirkstone = "0.14.0%" PREFERRED_VERSION_elfutils ?= "${@bb.utils.contains('DISTRO_FEATURES', 'benchmark_enable', '0.148', '', d)}" -PREFERRED_VERSION_glib-networking:kirkstone = "2.72.2" +PREFERRED_VERSION_glib-networking:kirkstone = "2.74.0" PREFERRED_VERSION_gssdp:kirkstone = "1.4.0.1" # Set GPTFDISK version for Morty and Dunfell devices @@ -380,10 +380,10 @@ PACKAGE_EXCLUDE += "kernel-image*" PREFERRED_VERSION_meson-native = "0.61.3" PREFERRED_VERSION_nghttp2 = "${@bb.utils.contains('DISTRO_FEATURES', 'enable_libsoup3', "1.48.0", "", d)}" -PREFERRED_VERSION_glib-2.0 = "${@bb.utils.contains('DISTRO_FEATURES', 'enable_libsoup3', "2.72.3", "", d)}" -PREFERRED_VERSION_glib-2.0-native = "${@bb.utils.contains('DISTRO_FEATURES', 'enable_libsoup3', "2.72.3", "", d)}" +PREFERRED_VERSION_glib-2.0 = "${@bb.utils.contains('DISTRO_FEATURES', 'enable_libsoup3', "2.74.6", "", d)}" +PREFERRED_VERSION_glib-2.0-native = "${@bb.utils.contains('DISTRO_FEATURES', 'enable_libsoup3', "2.74.6", "", d)}" PREFERRED_VERSION_libpsl = "${@bb.utils.contains('DISTRO_FEATURES', 'enable_libsoup3', "0.21.1", "", d)}" -PREFERRED_VERSION_nativesdk-glib-2.0 = "${@bb.utils.contains('DISTRO_FEATURES', 'enable_libsoup3', "2.72.3", "", d)}" +PREFERRED_VERSION_nativesdk-glib-2.0 = "${@bb.utils.contains('DISTRO_FEATURES', 'enable_libsoup3', "2.74.6", "", d)}" PACKAGE_DEBUG_SPLIT_STYLE:kirkstone = "debug-without-src" @@ -391,4 +391,3 @@ PACKAGE_DEBUG_SPLIT_STYLE:kirkstone = "debug-without-src" PREFERRED_PROVIDER_virtual/firebolt ?= "ripple" include conf/distro/rdk-cpc.conf - From 0161ace25c5dac9db2573cc038e7d97429b1329b Mon Sep 17 00:00:00 2001 From: rajkumar154 <37654540+rajkumar154@users.noreply.github.com> Date: Fri, 26 Jun 2026 17:51:15 -0400 Subject: [PATCH 258/274] RDKEMW-18000:Enriching RootFS Manifest with source uri (#970) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * RDKEMW-18000:Enriching RootFS Manifest with source uri * RDKEMW-18000:Enriching RootFS Manifest with source uri * Update rdk.conf * Update embed-source-metadata.inc‎ * Rename embed-source-metadata.inc‎ to embed-source-metadata.inc * Update rdk.conf * Update embed-source-metadata.inc * Update rdk.conf --------- Co-authored-by: nanimatta <84963246+nanimatta@users.noreply.github.com> --- conf/distro/include/embed-source-metadata.inc | 1 + conf/distro/rdk.conf | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 conf/distro/include/embed-source-metadata.inc diff --git a/conf/distro/include/embed-source-metadata.inc b/conf/distro/include/embed-source-metadata.inc new file mode 100644 index 000000000..704eae26c --- /dev/null +++ b/conf/distro/include/embed-source-metadata.inc @@ -0,0 +1 @@ +INHERIT += "embed-source-metadata" diff --git a/conf/distro/rdk.conf b/conf/distro/rdk.conf index 0011b997b..07a23646e 100755 --- a/conf/distro/rdk.conf +++ b/conf/distro/rdk.conf @@ -139,6 +139,9 @@ PREFERRED_PROVIDER_virtual/ea-games-provider ?= "ea-games-provider-dummy" # RDK component versions require include/rdk-versions.inc +# Enriching Rootfs manifest with src uri details +require include/embed-source-metadata.inc + # RDK still uses QT 5.1 require include/qt5-versions.inc From 34f22a87ec0b8bce0e6d0708e1921106e6b4e95e Mon Sep 17 00:00:00 2001 From: tabbas651 <74683978+tabbas651@users.noreply.github.com> Date: Mon, 29 Jun 2026 12:17:51 -0400 Subject: [PATCH 259/274] Update memcapture_git.bb --- recipes-devtools/memcapture/memcapture_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-devtools/memcapture/memcapture_git.bb b/recipes-devtools/memcapture/memcapture_git.bb index fcdfd511a..ce6a70c2b 100644 --- a/recipes-devtools/memcapture/memcapture_git.bb +++ b/recipes-devtools/memcapture/memcapture_git.bb @@ -5,11 +5,11 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=1b8525f92b462b86205ffaba159b4481" -PV = "2.0.1" +PV = "2.0.2" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" -SRCREV = "486a1a52a26a9e90946bf51b132533ecd17af782" +SRCREV = "0331c6f16a985e23f6a2133e2351f4f781317e5d" SRC_URI = "git://github.com/rdkcentral/MemCapture.git;branch=main;name=src;destsuffix=git" S = "${WORKDIR}/git" From 41afc4bec29ca5250c2373aafb0851a464c1d566 Mon Sep 17 00:00:00 2001 From: Padala Hanuk Kumar Date: Tue, 30 Jun 2026 11:31:39 +0530 Subject: [PATCH 260/274] Update chrony_%.bbappend --- recipes-support/chrony/chrony_%.bbappend | 4 ---- 1 file changed, 4 deletions(-) diff --git a/recipes-support/chrony/chrony_%.bbappend b/recipes-support/chrony/chrony_%.bbappend index 98772dfa1..92f503973 100644 --- a/recipes-support/chrony/chrony_%.bbappend +++ b/recipes-support/chrony/chrony_%.bbappend @@ -8,10 +8,6 @@ SRC_URI += "file://chrony.conf \ file://chrony-conf-update.sh \ " - -SRC_URI += " file://test-HE.sh \ - " - PACKAGECONFIG:remove = "editline" do_install:append() { From 2f022d226af2d3b0ee97b9ca6388a6c8bf881c32 Mon Sep 17 00:00:00 2001 From: Padala Hanuk Kumar Date: Tue, 30 Jun 2026 11:31:54 +0530 Subject: [PATCH 261/274] Update chrony_%.bbappend --- recipes-support/chrony/chrony_%.bbappend | 1 - 1 file changed, 1 deletion(-) diff --git a/recipes-support/chrony/chrony_%.bbappend b/recipes-support/chrony/chrony_%.bbappend index 92f503973..766eb043a 100644 --- a/recipes-support/chrony/chrony_%.bbappend +++ b/recipes-support/chrony/chrony_%.bbappend @@ -7,7 +7,6 @@ SRC_URI += "file://chrony.conf \ file://rdk_chrony.conf \ file://chrony-conf-update.sh \ " - PACKAGECONFIG:remove = "editline" do_install:append() { From fc47926f4026ab88fba0cacb29c37545a2e67069 Mon Sep 17 00:00:00 2001 From: Padala Hanuk Kumar Date: Tue, 30 Jun 2026 11:32:08 +0530 Subject: [PATCH 262/274] Delete recipes-support/chrony/files/test-HE.sh --- recipes-support/chrony/files/test-HE.sh | 1 - 1 file changed, 1 deletion(-) delete mode 100644 recipes-support/chrony/files/test-HE.sh diff --git a/recipes-support/chrony/files/test-HE.sh b/recipes-support/chrony/files/test-HE.sh deleted file mode 100644 index 9f4e8d7d6..000000000 --- a/recipes-support/chrony/files/test-HE.sh +++ /dev/null @@ -1 +0,0 @@ -#test From 2d10ca94f4d94933d9f18893966612c6e5d2b30e Mon Sep 17 00:00:00 2001 From: Padala Hanuk Kumar Date: Tue, 30 Jun 2026 11:33:19 +0530 Subject: [PATCH 263/274] Update rtremote_git.bb --- recipes-common/rtremote/rtremote_git.bb | 1 - 1 file changed, 1 deletion(-) diff --git a/recipes-common/rtremote/rtremote_git.bb b/recipes-common/rtremote/rtremote_git.bb index f04608f88..36359d008 100644 --- a/recipes-common/rtremote/rtremote_git.bb +++ b/recipes-common/rtremote/rtremote_git.bb @@ -84,7 +84,6 @@ do_install () { install -d ${D}/${libdir} for file in ${S}/librtRemote*; do install -m 0644 "$file" -t ${D}${libdir}/; done - mkdir -p ${D}${includedir}/rtcore install -m 0644 ${S}/include/rtRemote.h ${D}${includedir}/rtcore/ install -m 0644 ${S}/include/rtRemote.h ${D}${includedir}/ From 0809ef4c9dde18ce4f4a1ae95c2bd93c483dbd7e Mon Sep 17 00:00:00 2001 From: Padala Hanuk Kumar Date: Tue, 30 Jun 2026 11:33:44 +0530 Subject: [PATCH 264/274] Update rtremote_git.bb --- recipes-common/rtremote/rtremote_git.bb | 2 -- 1 file changed, 2 deletions(-) diff --git a/recipes-common/rtremote/rtremote_git.bb b/recipes-common/rtremote/rtremote_git.bb index 36359d008..8cb532483 100644 --- a/recipes-common/rtremote/rtremote_git.bb +++ b/recipes-common/rtremote/rtremote_git.bb @@ -89,10 +89,8 @@ do_install () { install -m 0644 ${S}/include/rtRemote.h ${D}${includedir}/ cp -R ${S}/external/rapidjson/ ${D}${includedir}/rtcore/ - mkdir -p ${D}/etc install -m 0644 "${WORKDIR}/rtremote.conf" "${D}/etc/" - } FILES:${PN} += "${libdir}/*.so" From 1ddf8edd518927fc247787313cdf5698a8aedd0f Mon Sep 17 00:00:00 2001 From: Padala Hanuk Kumar Date: Wed, 1 Jul 2026 21:28:14 +0530 Subject: [PATCH 265/274] Update rtremote_git.bb --- recipes-common/rtremote/rtremote_git.bb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/recipes-common/rtremote/rtremote_git.bb b/recipes-common/rtremote/rtremote_git.bb index 8cb532483..e903c601b 100644 --- a/recipes-common/rtremote/rtremote_git.bb +++ b/recipes-common/rtremote/rtremote_git.bb @@ -82,7 +82,13 @@ do_configure:prepend:kirkstone() { do_install () { install -d ${D}/${libdir} - for file in ${S}/librtRemote*; do install -m 0644 "$file" -t ${D}${libdir}/; done + for f in ${B}/lib/libJavaScriptCore.so*; do + if [ -L "$f" ]; then + cp -d "$f" ${D}/${libdir}/javascriptcore/. + else + install -m 0755 "$f" ${D}/${libdir}/javascriptcore/. + fi + done mkdir -p ${D}${includedir}/rtcore install -m 0644 ${S}/include/rtRemote.h ${D}${includedir}/rtcore/ From b2509812845c8a53e84305ce5fcea1a2f5e3bd3e Mon Sep 17 00:00:00 2001 From: Padala Hanuk Kumar Date: Wed, 1 Jul 2026 22:30:46 +0530 Subject: [PATCH 266/274] Update rtremote_git.bb --- recipes-common/rtremote/rtremote_git.bb | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/recipes-common/rtremote/rtremote_git.bb b/recipes-common/rtremote/rtremote_git.bb index e903c601b..0fdeced43 100644 --- a/recipes-common/rtremote/rtremote_git.bb +++ b/recipes-common/rtremote/rtremote_git.bb @@ -82,13 +82,7 @@ do_configure:prepend:kirkstone() { do_install () { install -d ${D}/${libdir} - for f in ${B}/lib/libJavaScriptCore.so*; do - if [ -L "$f" ]; then - cp -d "$f" ${D}/${libdir}/javascriptcore/. - else - install -m 0755 "$f" ${D}/${libdir}/javascriptcore/. - fi - done + install -m 0755 ${S}/librtRemote* ${D}/${libdir} mkdir -p ${D}${includedir}/rtcore install -m 0644 ${S}/include/rtRemote.h ${D}${includedir}/rtcore/ From ffe4dde09a2a38d72611f7bbe05dec88e3448134 Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Fri, 3 Jul 2026 10:53:46 +0530 Subject: [PATCH 267/274] RDKEMW-19080: Relocate process monitor recipe to meta-rdk-tools (#993) Co-authored-by: Saranya --- .../processmonitor/files/process-monitor.path | 29 -------------- .../files/process-monitor.service | 26 ------------- .../processmonitor/processmonitor_git.bb | 38 ------------------- 3 files changed, 93 deletions(-) delete mode 100644 recipes-devtools/processmonitor/files/process-monitor.path delete mode 100644 recipes-devtools/processmonitor/files/process-monitor.service delete mode 100644 recipes-devtools/processmonitor/processmonitor_git.bb diff --git a/recipes-devtools/processmonitor/files/process-monitor.path b/recipes-devtools/processmonitor/files/process-monitor.path deleted file mode 100644 index fa00a38b3..000000000 --- a/recipes-devtools/processmonitor/files/process-monitor.path +++ /dev/null @@ -1,29 +0,0 @@ -########################################################################## -# If not stated otherwise in this file or this component's Licenses.txt -# file the following copyright and licenses apply: -# -# Copyright 2021 RDK Management -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -########################################################################## - -[Unit] -Description=Process Moniter -OnFailure=path-fail-notifier@%n.service - -[Path] -Unit=process-monitor.service -PathExists=/tmp/.enable_processmon - -[Install] -WantedBy=multi-user.target diff --git a/recipes-devtools/processmonitor/files/process-monitor.service b/recipes-devtools/processmonitor/files/process-monitor.service deleted file mode 100644 index bf07abd4c..000000000 --- a/recipes-devtools/processmonitor/files/process-monitor.service +++ /dev/null @@ -1,26 +0,0 @@ -########################################################################## -# If not stated otherwise in this file or this component's Licenses.txt -# file the following copyright and licenses apply: -# -# Copyright 2021 RDK Management -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -########################################################################## - -[Unit] -Description=Process Monitor - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/media/apps/processmonitor/usr/bin/ProcessMonitor --duration 180 --output /opt/processMonitorResults.js -m /media/apps/processmonitor/usr/lib/libexithandler.so.1 diff --git a/recipes-devtools/processmonitor/processmonitor_git.bb b/recipes-devtools/processmonitor/processmonitor_git.bb deleted file mode 100644 index 744b0ab64..000000000 --- a/recipes-devtools/processmonitor/processmonitor_git.bb +++ /dev/null @@ -1,38 +0,0 @@ -SUMMARY = "Process Moniter utility and runner service" -DESCRIPTION = "Linux process monitor - track and record the execution times of all processes" -LICENSE = "Apache-2.0" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=894d9b830cb1f38db58741000f9c2c7f" - -S = "${WORKDIR}/git" -# TODO: B = "${WORKDIR}/git/build" -# SRC_URI = "git://github.com/TeknoVenus/ProcessMonitor.git;branch=main" -SRC_URI = "git://github.com/gomathishankar37/ProcessMonitor.git;protocol=https;branch=exit-handler" - -SRC_URI:append = " file://process-monitor.path \ - file://process-monitor.service \ - " - -inherit cmake systemd - -EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release" - -# SRCREV = "63c19611d52cec3331bc9ea1bc82175f5d8a9c96" -SRCREV = "${AUTOREV}" -PV = "1.0.0" -PR = "r0" - -PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" - -do_install:append () { - install -d ${D}${systemd_unitdir}/system - rm -rf ${S}/process-monitor.service - install -m 0644 ${WORKDIR}/process-monitor.service ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/process-monitor.path ${D}${systemd_unitdir}/system -} - -SYSTEMD_SERVICE:${PN} = "process-monitor.path" - -FILES:${PN} += "${systemd_system_unitdir}/process-monitor.*" -FILES:${PN} += "${bindir}/ProcessMonitor" -FILES:${PN} += "${libdir}/libexithandler.so*" From ba79c770f43f1a1655c0435e62410a812ecb6abf Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Tue, 7 Jul 2026 16:16:23 +0530 Subject: [PATCH 268/274] Update rdmagent.bb --- recipes-support/rdmagent/rdmagent.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-support/rdmagent/rdmagent.bb b/recipes-support/rdmagent/rdmagent.bb index 23e398a09..b0a093805 100644 --- a/recipes-support/rdmagent/rdmagent.bb +++ b/recipes-support/rdmagent/rdmagent.bb @@ -15,7 +15,7 @@ PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "069aaab56ce56cc6c9695c1bab860abfa7162260" +SRCREV = "4bbe410ded6843c61582575d96574da56319efc0" SRC_URI = "${CMF_GITHUB_ROOT}/rdm-agent;${CMF_GITHUB_SRC_URI_SUFFIX};name=rdmagent" SRCREV_FORMAT = "rdmagent" From 7a3781be5decc6542b4cbb803dd83f9a558ec986 Mon Sep 17 00:00:00 2001 From: Karthick Swaminathan <85346280+ks734@users.noreply.github.com> Date: Mon, 13 Jul 2026 11:05:03 +0530 Subject: [PATCH 269/274] Update dobby.inc --- recipes-containers/dobby/dobby.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index da5bbcf82..b1dab00d4 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,5 +1,5 @@ -SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.19" +SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=develop" -PV = "3.19.1" +PV = "3.20.0" PR = "r0" -SRCREV = "22f6b10bff4374ecaaeaa72870771b28feb60dd9" +SRCREV = "375caa0577dbdc712675b3bafb5fa126c4c7adc9" From b5a230cb91eea097a2b7e3d55198d11a7a6bb6e8 Mon Sep 17 00:00:00 2001 From: svc_rdkgerrit02 Date: Mon, 13 Jul 2026 19:10:16 +0000 Subject: [PATCH 270/274] Adding changelog --- CHANGELOG.md | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 55 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1dccd098f..d4d266ff3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,8 +4,43 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [1.20.0](https://github.com/rdkcentral/meta-rdk/compare/1.19.0...1.20.0) + +- RDKEMW-18000:Enriching RootFS Manifest with source uri [`#970`](https://github.com/rdkcentral/meta-rdk/pull/970) +- RDKEMW-19967: Update rdk.conf for OSS 4.13 Changes [`#985`](https://github.com/rdkcentral/meta-rdk/pull/985) +- RDKEMW-20100: [release/8.6.3.0] Dobby 3.19.1 Release Integration [`#960`](https://github.com/rdkcentral/meta-rdk/pull/960) +- RDKEMW-17757: Update 98-sysctl-mw.conf to bring changes of RDKEMW-16967 [`#811`](https://github.com/rdkcentral/meta-rdk/pull/811) +- Rebase [`#951`](https://github.com/rdkcentral/meta-rdk/pull/951) +- RDKEMW-17573 : Triggering a issue type with more than 35 chars in RRD is leading RDM crash [`#938`](https://github.com/rdkcentral/meta-rdk/pull/938) +- RDKEMW-18818: Configure NTP servers with pool directive [`#924`](https://github.com/rdkcentral/meta-rdk/pull/924) +- RDKEMW-18155: Update Dobby to v3.19.0 [`#928`](https://github.com/rdkcentral/meta-rdk/pull/928) +- RDKEMW-18996 : [develop]Unknown reboot observed while waking the TV from deep sleep [`#931`](https://github.com/rdkcentral/meta-rdk/pull/931) +- RDKEMW-15526 : If all certificates are exhausted, provide the last available certificate. [`#905`](https://github.com/rdkcentral/meta-rdk/pull/905) +- rebase [`#937`](https://github.com/rdkcentral/meta-rdk/pull/937) +- rebase [`#923`](https://github.com/rdkcentral/meta-rdk/pull/923) +- RDKEMW-19238 : [develop] -Device Logs tar file available in logbackup folders. [`#917`](https://github.com/rdkcentral/meta-rdk/pull/917) +- Rebase [`#921`](https://github.com/rdkcentral/meta-rdk/pull/921) +- RDKEMW-18858: Back merge Release branch to develop for 8.6.2.0 Release [`#907`](https://github.com/rdkcentral/meta-rdk/pull/907) +- Rebase [`#913`](https://github.com/rdkcentral/meta-rdk/pull/913) +- RDKEMW-19370 : Integrate RFC 1.2.6 Release for RDKE Devices [`#903`](https://github.com/rdkcentral/meta-rdk/pull/903) +- Rebase [`#909`](https://github.com/rdkcentral/meta-rdk/pull/909) +- RDKEMW-18230: Create vdevice manifest with middleware compontents [`#900`](https://github.com/rdkcentral/meta-rdk/pull/900) +- RDKEMW-19074 : Meminsight csv files fail to get uploaded at configure [`#891`](https://github.com/rdkcentral/meta-rdk/pull/891) +- RDKEMW-18969: Update bluetooth components to latest for gaming change… [`#883`](https://github.com/rdkcentral/meta-rdk/pull/883) +- RDKB-64769, RDKEMW-18610: Update MAC address logic and CPU_TIME for config mode [`#889`](https://github.com/rdkcentral/meta-rdk/pull/889) +- RDKEMW-15246 : Chrony Enhancements [`#878`](https://github.com/rdkcentral/meta-rdk/pull/878) +- Update dcmd.bb [`#869`](https://github.com/rdkcentral/meta-rdk/pull/869) +- RDKEMW-18410: Integrate Telemetry release 1.9.4 [`#863`](https://github.com/rdkcentral/meta-rdk/pull/863) +- RDKEMW-18087 : Build Meminsight in RDKE with latest 1.1.0 changes [`#839`](https://github.com/rdkcentral/meta-rdk/pull/839) +- Rebase [`#875`](https://github.com/rdkcentral/meta-rdk/pull/875) +- RDKEMW-17757: sysctl configurations has to be ported from RDKV to RDKE [`2b6022e`](https://github.com/rdkcentral/meta-rdk/commit/2b6022e315043f8f2afd9ff8086bcfa2cd7804cc) +- RDKEMW-19074 : Meminsight csv files fail to get uploaded at configured intervals [`7b31d41`](https://github.com/rdkcentral/meta-rdk/commit/7b31d41cc1996e4159896a3998db312e1de75476) +- RDKEMW-18969: Update bluetooth components to latest for gaming changes 1.0.11 [`cfc2f2d`](https://github.com/rdkcentral/meta-rdk/commit/cfc2f2d81b840534c5d4da83e2e129ef55f80f32) + #### [1.19.0](https://github.com/rdkcentral/meta-rdk/compare/1.18.0...1.19.0) +> 31 May 2026 + - RDKEMW-17978 : Update rfc_git.bb - change PV from 1.2.4 to 1.2.5 [`#849`](https://github.com/rdkcentral/meta-rdk/pull/849) - RDKEMW-17479: Update SRCREV for crashupload [`#823`](https://github.com/rdkcentral/meta-rdk/pull/823) - RDKEMW-15246 : Chrony Enhancements [`#853`](https://github.com/rdkcentral/meta-rdk/pull/853) @@ -23,10 +58,11 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - RDKEMW-15490- Migrate reboot-checker into reboot-manager and eliminate shell/rbus dependencies [`#794`](https://github.com/rdkcentral/meta-rdk/pull/794) - Update rfc_git.bb - change PV from 1.2.3 to 1.2.4 [`#792`](https://github.com/rdkcentral/meta-rdk/pull/792) - Update remotedebugger.bb [`#791`](https://github.com/rdkcentral/meta-rdk/pull/791) +- Adding changelog [`b93cbef`](https://github.com/rdkcentral/meta-rdk/commit/b93cbef4d4328c6e44ac0f1bafd38b6b86b55aba) - Update dobby.inc [`18c20db`](https://github.com/rdkcentral/meta-rdk/commit/18c20db0d06ef30729e136afc4b970a12e20b183) - RDKEMW-17764: Update Dobby v3.18.0 [`4e1ad50`](https://github.com/rdkcentral/meta-rdk/commit/4e1ad50c65ff27e358776d3b2d8e0a5fce613af3) -#### [1.18.0](https://github.com/rdkcentral/meta-rdk/compare/1.17.3...1.18.0) +#### [1.18.0](https://github.com/rdkcentral/meta-rdk/compare/1.17.4...1.18.0) > 28 April 2026 @@ -71,6 +107,16 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - update to official release tag [`99ab48b`](https://github.com/rdkcentral/meta-rdk/commit/99ab48bc4c1c1fe13a9e5ef5bb673851d7d68c16) - RDKEMW-15317: [meta-rdk TEST] ensure proper shutdown order of ctrlm-main [`ac6ee43`](https://github.com/rdkcentral/meta-rdk/commit/ac6ee43d93d10574be8de0b41e5dc3dbcafa2bb5) +#### [1.17.4](https://github.com/rdkcentral/meta-rdk/compare/1.17.3...1.17.4) + +> 11 June 2026 + +- RDKEMW-19237 : [support/8.5] -Device Logs tar file available in logbackup folders. [`#912`](https://github.com/rdkcentral/meta-rdk/pull/912) +- RDKEMW-19218 : [8.5]Add missing Logs in Log Upload C module Logs [`#895`](https://github.com/rdkcentral/meta-rdk/pull/895) +- RDKEMW-18351 : [8.5.3]Log upload success logs not observed after scheduled reboot [`#848`](https://github.com/rdkcentral/meta-rdk/pull/848) +- Adding changelog [`603d3b1`](https://github.com/rdkcentral/meta-rdk/commit/603d3b19744d9e153b5bea9fbfab50c592894763) +- Update SRCREV and PV for dcmd recipe [`83c67d4`](https://github.com/rdkcentral/meta-rdk/commit/83c67d4b9f0c3ba8ca84d0f550beee2a7f93ab2d) + #### [1.17.3](https://github.com/rdkcentral/meta-rdk/compare/1.17.2...1.17.3) > 21 May 2026 @@ -276,7 +322,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Adding changelog [`a252dcb`](https://github.com/rdkcentral/meta-rdk/commit/a252dcb4894055510980e6398d95b645da8aa665) - Update memcapture_git.bb [`461823f`](https://github.com/rdkcentral/meta-rdk/commit/461823f13c2f5bb2a19911196ed8088c58c2b8e3) -#### [1.12.0](https://github.com/rdkcentral/meta-rdk/compare/1.11.4...1.12.0) +#### [1.12.0](https://github.com/rdkcentral/meta-rdk/compare/1.11.5...1.12.0) > 28 October 2025 @@ -294,6 +340,13 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Update dobby.inc [`9afb276`](https://github.com/rdkcentral/meta-rdk/commit/9afb2760a9e083870673f5dd67dbd08cfdf79d5d) - RDK-58045 : Upgrade rbus that contains low priority coverity fixes(#275) [`adfb54c`](https://github.com/rdkcentral/meta-rdk/commit/adfb54c7871456ddf224a86163a54e494c7868f7) +#### [1.11.5](https://github.com/rdkcentral/meta-rdk/compare/1.11.4...1.11.5) + +> 7 July 2026 + +- RDKEMW-20435:sysctl configurations has to be ported from RDKV to RDKE [`#975`](https://github.com/rdkcentral/meta-rdk/pull/975) +- Adding changelog [`07a9c64`](https://github.com/rdkcentral/meta-rdk/commit/07a9c6437b5a8e90550a008be7b4c77658fefbc7) + #### [1.11.4](https://github.com/rdkcentral/meta-rdk/compare/1.11.3...1.11.4) > 17 April 2026 From 661dedccbafcbff7f9b50b9b6effe04bd5d236fd Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Tue, 14 Jul 2026 11:35:21 +0530 Subject: [PATCH 271/274] Update rdmagent.bb --- recipes-support/rdmagent/rdmagent.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-support/rdmagent/rdmagent.bb b/recipes-support/rdmagent/rdmagent.bb index b0a093805..f003e4b15 100644 --- a/recipes-support/rdmagent/rdmagent.bb +++ b/recipes-support/rdmagent/rdmagent.bb @@ -8,14 +8,14 @@ DEPENDS += "rbus" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=8700a1d105cac2a90d4f51290ac6e466" -PV = "2.3.0" +PV = "2.3.1" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" # This tells bitbake where to find the files we're providing on the local filesystem FILESEXTRAPATHS:prepend := "${THISDIR}:" -SRCREV = "4bbe410ded6843c61582575d96574da56319efc0" +SRCREV = "8ddda9a49fa442f15feddbbeed591a6701a4bc4c" SRC_URI = "${CMF_GITHUB_ROOT}/rdm-agent;${CMF_GITHUB_SRC_URI_SUFFIX};name=rdmagent" SRCREV_FORMAT = "rdmagent" From 5ecc3659d83c6c8c9850aed54860dfb6013304d4 Mon Sep 17 00:00:00 2001 From: Karthick Swaminathan <85346280+ks734@users.noreply.github.com> Date: Tue, 14 Jul 2026 15:27:49 +0530 Subject: [PATCH 272/274] RDKEMW-19864: Update Dobby to v3.20.0 --- recipes-containers/dobby/dobby.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-containers/dobby/dobby.inc b/recipes-containers/dobby/dobby.inc index b1dab00d4..6db83ab9d 100644 --- a/recipes-containers/dobby/dobby.inc +++ b/recipes-containers/dobby/dobby.inc @@ -1,5 +1,5 @@ -SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=develop" +SRC_URI = "gitsm://github.com/rdkcentral/Dobby;protocol=https;branch=release/v3.20" PV = "3.20.0" PR = "r0" -SRCREV = "375caa0577dbdc712675b3bafb5fa126c4c7adc9" +SRCREV = "e04168fbccba6546e0f284543139ba2d769c4b23" From 902b1ef0d99712ae0d1c8103ec6e32be7083d6fe Mon Sep 17 00:00:00 2001 From: Saranya2421 Date: Mon, 20 Jul 2026 11:04:14 +0530 Subject: [PATCH 273/274] Update reboot-manager.bb --- recipes-support/reboot-manager/reboot-manager.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes-support/reboot-manager/reboot-manager.bb b/recipes-support/reboot-manager/reboot-manager.bb index c13c62653..4c55917d2 100644 --- a/recipes-support/reboot-manager/reboot-manager.bb +++ b/recipes-support/reboot-manager/reboot-manager.bb @@ -10,13 +10,13 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" FILESEXTRAPATHS:prepend := "${THISDIR}:" -# Release Tag - 2.2.2 on 24thJune2026 -PV = "2.2.2" +# Release Tag - 2.2.3 on 20thJuly2026 +PV = "2.2.3" PR = "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" SRC_URI = "${CMF_GITHUB_ROOT}/reboot-manager;${CMF_GITHUB_SRC_URI_SUFFIX};name=reboot-manager" -SRCREV_reboot-manager = "298a15f751f0bf1a233a6b1645230119a2c2505a" +SRCREV_reboot-manager = "2c991ae7a90e8d0aa8e0c06d25053d440305e08b" S = "${WORKDIR}/git" From 8b3a1362122a9b93007cd27e0b89ac1760be1348 Mon Sep 17 00:00:00 2001 From: Yogeswaran K <166126056+yogeswaransky@users.noreply.github.com> Date: Wed, 22 Jul 2026 00:53:03 +0530 Subject: [PATCH 274/274] RDKEMW-12350: Telemetry release 1.9.6 (#999) * RDKEMW-12350: Telemetry release 1.9.6 * RDKEMW-12350: Update telemetry_git.bb --- recipes-common/telemetry/telemetry_git.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-common/telemetry/telemetry_git.bb b/recipes-common/telemetry/telemetry_git.bb index c29ce670c..9fb655302 100644 --- a/recipes-common/telemetry/telemetry_git.bb +++ b/recipes-common/telemetry/telemetry_git.bb @@ -4,7 +4,7 @@ SECTION = "console/utils" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=175792518e4ac015ab6696d16c4f607e" -SRCREV = "9db3fba319b7854e128cdba25f1ee36a312b4a3b" +SRCREV = "1399fc337b3d49d143c749af1f05195dbe2b4131" SRC_URI = "${CMF_GITHUB_ROOT}/telemetry;${CMF_GITHUB_SRC_URI_SUFFIX}" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -14,7 +14,7 @@ DEPENDS += "rdk-logger" RDEPENDS:${PN} += "curl cjson glib-2.0 rbus" -PV = "1.9.4" +PV = "1.9.6" PR = "r0" S = "${WORKDIR}/git"