Rebase#680
Conversation
Reason for change: Added forked version git hash id for testing Test Procedure: please refer the ticket comments Risks: Medium
rebase develop
Rebased develop
Change-Id: Ie81f3292f451e48577ee30acecc96d7e623c9ed8 Signed-off-by: Gurdal Oruklu <gurdal_oruklu@comcast.com>
RDKEMW-14726 : Implement Chrony runtime selection for Time Sync (#632)
Signed-off-by: PriyaDharshini_Kathiravan <priyakathiravan05@gmail.com>
…-swap-limit RDKEMW-15176: added dobby patch for increased swap limit for containers
RDKEMW-15233: Integrate 0.0.1 release for reboot-manager
* Update rfc_git.bb * RDKEMW-15263: command injection via /lib/rdk/getRFC.sh --------- Co-authored-by: Saranya2421 <saranya.suvi@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR updates several Yocto/OE recipes to new source revisions/versions as part of a rebase, and adjusts the chrony first-sync notification script behavior/logging.
Changes:
- Bump
systimemgrrecipe PV and SRCREV. - Adjust
rfcrecipe PV/PR metadata. - Update
reboot-managerrecipe SRCREV (and PV). - Change
chrony-sync-notify.shlogging format and NTP-flag creation behavior.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| recipes-support/reboot-manager/reboot-manager.bb | Updates reboot-manager PV and SRCREV to a new revision. |
| recipes-support/chrony/files/chrony-sync-notify.sh | Changes logging format and alters creation/handling of the NTP flag file. |
| recipes-common/systimemgr/systimemgr_git.bb | Bumps PV and advances SRCREV for systemtimemgr. |
| recipes-common/rfc/rfc_git.bb | Updates PV/PR metadata for RFC recipe. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| 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" |
There was a problem hiding this comment.
The script used to create $NTP_DIR when missing, but now exits with an error if /tmp/systimemgr does not exist. Since this directory is only referenced in this script (no other creators found), this change can cause chrony-sync-notify to fail on first boot and never create the NTP flag. Consider restoring mkdir -p "$NTP_DIR" (and logging) when the directory is absent, instead of exiting.
| 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" | |
| if [ ! -d "$NTP_DIR" ]; then | |
| log "Creating $NTP_DIR" | |
| if ! mkdir -p "$NTP_DIR"; then | |
| log "Failed to create $NTP_DIR" | |
| exit 1 | |
| fi | |
| fi | |
| if touch "$NTP_FILE" && chmod 644 "$NTP_FILE"; then | |
| log "Created $NTP_FILE" | |
| else | |
| log "Failed to create or set permissions on $NTP_FILE" |
| 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 |
There was a problem hiding this comment.
This block unconditionally runs touch "$NTP_FILE" and logs "Created" even if the file already exists, which changes the previous behavior (only create/log when missing) and may unnecessarily update mtime for any watcher. Consider keeping the old if [ ! -f "$NTP_FILE" ] guard or adjusting the log message to reflect whether the file was newly created.
| 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 | |
| if [ -d "$NTP_DIR" ]; then | |
| if [ ! -f "$NTP_FILE" ]; 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 | |
| if chmod 644 "$NTP_FILE"; then | |
| log "Updated permissions on existing $NTP_FILE" | |
| else | |
| log "Failed to set permissions on existing $NTP_FILE" | |
| exit 1 | |
| fi |
| @@ -11,12 +11,12 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" | |||
|
|
|||
| FILESEXTRAPATHS:prepend := "${THISDIR}:" | |||
|
|
|||
There was a problem hiding this comment.
PV is being lowered from 1.0.0 to 0.0.1. In Yocto/OE version comparisons, decreasing PV can prevent upgrades or cause downgrades in feeds/images unless PE is bumped. If this is intentional (e.g., previous PV was incorrect), consider adding/adjusting PE or keeping PV monotonic to avoid upgrade-path issues.
| PE = "1" |
| PR = "r1" | ||
| PV = "1.2.3" | ||
| PR = "r0" | ||
|
|
There was a problem hiding this comment.
PV/PR are updated (1.2.1-r1 -> 1.2.3-r0) but SRCREV is unchanged. If this is meant to be an upstream version bump, SRCREV should typically move to the corresponding revision/tag; otherwise consumers may assume new code when the source is identical. If the intent is only to correct the displayed version, please add a brief comment clarifying why the commit stays the same.
| # Note: PV/PR updated for packaging/version display only; upstream source remains at this SRCREV. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| echo "Synchronized" > /tmp/ntp_status | ||
|
|
||
| if [ -d "$NTP_DIR" ]; then | ||
| if touch "$NTP_FILE" && chmod 644 "$NTP_FILE"; then |
There was a problem hiding this comment.
/tmp/ntp_status is written before the new $NTP_DIR/$NTP_FILE creation logic that can now fail and exit 1. That can leave ntp_status saying "Synchronized" even though the script reports failure. Consider only writing ntp_status after the $NTP_FILE step succeeds (or cleaning it up on failure).
| echo "Synchronized" > /tmp/ntp_status | |
| if [ -d "$NTP_DIR" ]; then | |
| if touch "$NTP_FILE" && chmod 644 "$NTP_FILE"; then | |
| if [ -d "$NTP_DIR" ]; then | |
| if touch "$NTP_FILE" && chmod 644 "$NTP_FILE"; then | |
| echo "Synchronized" > /tmp/ntp_status |
| PV = "1.2.3" | ||
| PR = "r0" | ||
|
|
||
| SRCREV = "904a9167f2cbe87dc34d342e32f5ca16b177432c" | ||
| SRC_URI = "${CMF_GITHUB_ROOT}/rfc;${CMF_GITHUB_SRC_URI_SUFFIX};name=rfc" |
There was a problem hiding this comment.
PV was bumped to 1.2.3, but SRCREV is unchanged. As written, this will build the same source revision under a new version, which can confuse debugging and package feeds. Either update SRCREV to the commit that corresponds to 1.2.3, or keep PV aligned to the pinned revision (common pattern is PV = "<release>+git${SRCPV}").
| 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}" |
| 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" | ||
| } |
| log_info() { | ||
| echo "[start_meminsight] [INFO] $*" >> $RDM_LOG_FILE | ||
| } | ||
|
|
||
| log_error() { | ||
| echo "[start_meminsight] [ERROR] $*" >> $RDM_LOG_FILE | ||
| } | ||
|
|
| [Unit] | ||
| Description=Process Moniter | ||
| OnFailure=path-fail-notifier@%n.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 /tmp/.meminsight_upload /tmp/.meminsight_inprogress | ||
| ExecStopPost=-/bin/rm /tmp/meminsight.env /tmp/.enable_meminsight /nvram/.enable_meminsight | ||
| Restart=on-failure | ||
| RestartSec=30 |
| log_info() { | ||
| echo "[start_meminsight] [INFO] $*" >> $RDM_LOG_FILE | ||
| } | ||
|
|
||
| log_error() { | ||
| echo "[start_meminsight] [ERROR] $*" >> $RDM_LOG_FILE | ||
| } |
| log_info() { | ||
| echo "[start_meminsight] [INFO] $*" >> $RDM_LOG_FILE | ||
| } | ||
|
|
||
| log_error() { | ||
| echo "[start_meminsight] [ERROR] $*" >> $RDM_LOG_FILE | ||
| } |
|
|
||
| [Service] | ||
| Type=simple | ||
| RemainAfterExit=yes |
| # 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 | ||
| } |
RDKEMW-18969: Update bluetooth components to latest for gaming change…
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 48 out of 48 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (1)
recipes-devtools/meminsight/files/meminsight-upload.service:27
- This oneshot unit sets RemainAfterExit=yes. Because it is started by a .path trigger, keeping the service in "active" state after the script exits can prevent subsequent path events from starting it again (e.g., next meminsight run). Consider removing RemainAfterExit (default no) so the service returns to inactive after completion.
| SUMMARY = "Process Moniter utility and runner service" | ||
| DESCRIPTION = "Linux process monitor - track and record the execution times of all processes" |
| [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 /tmp/.meminsight_upload /tmp/.meminsight_inprogress | ||
| ExecStopPost=-/bin/rm /tmp/meminsight.env /tmp/.enable_meminsight /nvram/.enable_meminsight | ||
| Restart=on-failure |
RDKEMW-19074 : Meminsight csv files fail to get uploaded at configure
RDKEMW-18230: Create vdevice manifest with middleware compontents
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 49 out of 49 changed files in this pull request and generated 6 comments.
Comments suppressed due to low confidence (1)
recipes-devtools/meminsight/files/meminsight-upload.service:26
- RemainAfterExit=yes keeps this oneshot service in an ‘active’ state after it exits, which can prevent subsequent path-triggered starts (systemd won’t start an already-active unit). For a PathExists-triggered oneshot, this should typically be removed.
| do_install:append() { | ||
| install -d ${D}${bindir} | ||
| install -d ${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 | ||
| fi | ||
|
|
| @@ -0,0 +1,38 @@ | |||
| SUMMARY = "Process Moniter utility and runner service" | |||
| [Unit] | ||
| Description=Process Moniter | ||
| OnFailure=path-fail-notifier@%n.service |
| 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 | ||
| } |
| [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 |
| [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 |
RDKEMW-19370 : Integrate RFC 1.2.6 Release for RDKE Devices
No description provided.