Skip to content

RDKOSS-134: Build systemd V250#386

Open
maniselva006c wants to merge 3 commits intodevelopfrom
feature/RDKOSS-134
Open

RDKOSS-134: Build systemd V250#386
maniselva006c wants to merge 3 commits intodevelopfrom
feature/RDKOSS-134

Conversation

@maniselva006c
Copy link
Copy Markdown
Contributor

Reason for the change:
Configured systemd PREFERRED version to 1:250
Backport tar_1.17 recipe which is gplv2 licenced required for building systemd v250 Backport systemd v250 changes for RDKE

Reason for the change:
Configured systemd PREFERRED version to 1:250
Backport tar_1.17 recipe which is gplv2 licenced required for building systemd v250
Backport systemd v250 changes for RDKE

Signed-off-by: mselva006c <mani_selvaraj@comcast.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Yocto layer to support building against systemd v250 in the OSS configuration by pinning the preferred systemd version and adding a GPLv2 tar recipe (1.17) plus related systemd bbappend adjustments.

Changes:

  • Added a GPL-2.0-only tar_1.17 recipe (with required patches) to satisfy build constraints when GPLv3 components are excluded.
  • Pinned PREFERRED_VERSION_systemd to 1:250% and added OSS packaging revision metadata for tar.
  • Updated systemd_250.%.bbappend to include additional patches/feature-conditionals and adjusted timesyncd configuration.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
recipes-extended/tar/tar_1.17.bb Introduces tar 1.17 recipe and applies required backported patches.
recipes-extended/tar/tar.inc Adds shared tar build/install logic used by tar recipes.
recipes-extended/tar/tar/0001-lib-argp-parse.c-Fix-compiler-error.patch Fixes -Wformat-security build failure in old tar sources.
recipes-extended/tar/tar-1.17/m4extensions.patch Autoconf compatibility fix for older tar sources.
recipes-extended/tar/tar-1.17/gcc43build.patch GCC inline handling fixes for older toolchains.
recipes-extended/tar/tar-1.17/avoid_heap_overflow.patch Backported CVE fix to avoid a heap overflow.
recipes-core/systemd/systemd_250.%.bbappend Backports/overrides for systemd 250 builds and configuration adjustments.
conf/include/package_revisions_oss.inc Pins systemd to 1:250% and adds tar PR/PACKAGE_ARCH entries.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread conf/include/package_revisions_oss.inc
Comment thread recipes-core/systemd/systemd_250.%.bbappend Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 11, 2026 19:11
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 129 to 133
BACKPORTS ?= " "

RRECOMMENDS:${PN} += " \
util-linux-swaponoff util-linux-losetup \
util-linux-libmount util-linux-umount \
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The recipe removes custom SRC_URI entries for sysctl and USB-mount artifacts, but later in this .bbappend those artifacts are still referenced/used (e.g., install -m 644 ${WORKDIR}/50-portreserv.conf ... in do_install:append:hybrid() and SYSTEMD_SERVICE:${PN} += "usb-mount@.service"). As-is, ${WORKDIR}/50-portreserv.conf and usb-mount@.service won't be available/installed, which is likely to break the do_install task and/or systemd service packaging. Either re-add the needed files to SRC_URI and install them, or remove the dependent install/SYSTEMD_SERVICE/FILES references if this functionality is being dropped.

Copilot uses AI. Check for mistakes.
Comment on lines +284 to +285
#Journal conf overide
sed -i -e 's/.*ForwardToSyslog=.*/#ForwardToSyslog=no/g' ${D}${sysconfdir}/systemd/journald.conf
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling: overide should be override in this comment (searchability/consistency).

Copilot uses AI. Check for mistakes.

do_install:append() {
if ${@bb.utils.contains('DISTRO_FEATURES', 'syslog-ng', 'false', 'true', d)}; then
#Journal conf overide
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling: overide should be override in this comment (searchability/consistency).

Suggested change
#Journal conf overide
#Journal conf override

Copilot uses AI. Check for mistakes.
Comment on lines +302 to +309
do_install:append:client() {
install -d ${D}/media/tsb
}

do_install:append:hybrid() {
install -d ${D}/media/tsb
}

Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/media/tsb is already created earlier in this file in do_install:append() (line 38), so these per-variant install -d ${D}/media/tsb blocks are redundant and increase the risk of future drift between variants. Consider removing these duplicate blocks or consolidating /media/tsb directory creation in a single task/variant-specific helper.

Suggested change
do_install:append:client() {
install -d ${D}/media/tsb
}
do_install:append:hybrid() {
install -d ${D}/media/tsb
}

Copilot uses AI. Check for mistakes.
@rdkcmf-jenkins
Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/meta-rdk-oss-reference/386/rdkcentral/meta-rdk-oss-reference

  • Commit: d2ceacb

Report detail: gist'

@rdkcmf-jenkins
Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/meta-rdk-oss-reference/386/rdkcentral/meta-rdk-oss-reference

  • Commit: d2ceacb

Report detail: gist'

@rdkcmf-jenkins
Copy link
Copy Markdown
Contributor

b'## Blackduck scan failure details

Summary: 0 violations, 0 files pending approval, 1 file pending identification.

  • Protex Server Path: /home/blackduck/github/meta-rdk-oss-reference/386/rdkcentral/meta-rdk-oss-reference

  • Commit: d2ceacb

Report detail: gist'

@rdkcmf-jenkins
Copy link
Copy Markdown
Contributor

b'## WARNING: A Blackduck scan failure has been waived

A prior failure has been upvoted

  • Upvote reason: Cleared

  • Commit: d2ceacb
    '

Reason for the change: Remove reference to default-time-setter.sh script in systemd-timesyncd to fix the build error.
Copilot AI review requested due to automatic review settings March 17, 2026 19:20
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +39 to +41
#Configure NTP server (time.google.com) in timesyncd.conf
if [ -n "${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', 'timesyncd', '', d)}" ]; then
sed -i -e 's/^#NTP=.*/NTP=ntp.ccp.xcal.tv/g' ${D}${sysconfdir}/systemd/timesyncd.conf
sed -i -e 's/^#NTP=.*/NTP=time.google.com/g' ${D}${sysconfdir}/systemd/timesyncd.conf
Comment on lines 137 to 139
do_install:append() {
install -d ${D}${sysconfdir}/sysctl.d
install -d ${D}${localstatedir}/lib/systemd/coredump
install -m 644 ${WORKDIR}/50-coredump.conf ${D}${sysconfdir}/sysctl.d
install -m 644 ${WORKDIR}/50-panic.conf ${D}${sysconfdir}/sysctl.d
install -m 644 ${WORKDIR}/50-netfilter.conf ${D}${sysconfdir}/sysctl.d
install -m 644 ${WORKDIR}/traffic-filter.conf ${D}${sysconfdir}/sysctl.d
install -m 644 ${WORKDIR}/protected_regular.conf ${D}${sysconfdir}/sysctl.d
mkdir -pv ${D}/usb
mkdir -pv ${D}/usb0
mkdir -pv ${D}/usb1
install -D -m 0644 ${S}/../usb-mount@.service ${D}${systemd_unitdir}/system/usb-mount@.service
install -D -m 0755 ${S}/../usb-mount.sh ${D}${sbindir}/usb-mount.sh
install -D -m 0644 ${S}/../99-usb-mount.rules ${D}${sysconfdir}/udev/rules.d/99-usb-mount.rules
install -D -m 0644 ${S}/../99-usb-mount.rules ${D}${rootlibexecdir}/udev/rules.d/99-usb-mount.rules
ln -s /dev/null ${D}${sysconfdir}/udev/rules.d/80-net-setup-link.rules
Comment on lines 128 to 136
BACKPORTS ?= " "

RRECOMMENDS:${PN} += " \
util-linux-swaponoff util-linux-losetup \
util-linux-libmount util-linux-umount \
"

PACKAGES =+ "${PN}-usb-support"

FILES:${PN}-usb-support = " \
/usb \
/usb0 \
/usb1 \
${systemd_unitdir}/system/usb-mount@.service \
${sbindir}/usb-mount.sh \
${sysconfdir}/udev/rules.d/99-usb-mount.rules \
${rootlibexecdir}/udev/rules.d/99-usb-mount.rules \
"

FILES:${PN}:append = " ${datadir}/bash-completion"
FILES:${PN}:append = " ${sbindir}/usb-mount.sh"

sed -i -e 's/.*RuntimeMaxFileSize=.*/RuntimeMaxFileSize=4M/g' ${D}${sysconfdir}/systemd/journald.conf
sed -i -e 's/.*SystemMaxFileSize=.*/SystemMaxFileSize=4M/g' ${D}${sysconfdir}/systemd/journald.conf
else
#Update Journal configuration if syslog-ng is enabled

do_install:append() {
if ${@bb.utils.contains('DISTRO_FEATURES', 'syslog-ng', 'false', 'true', d)}; then
#Journal conf overide
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants