RDKOSS-134: Build systemd V250#386
Conversation
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>
There was a problem hiding this comment.
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.17recipe (with required patches) to satisfy build constraints when GPLv3 components are excluded. - Pinned
PREFERRED_VERSION_systemdto1:250%and added OSS packaging revision metadata fortar. - Updated
systemd_250.%.bbappendto 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.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
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.
| BACKPORTS ?= " " | ||
|
|
||
| RRECOMMENDS:${PN} += " \ | ||
| util-linux-swaponoff util-linux-losetup \ | ||
| util-linux-libmount util-linux-umount \ |
There was a problem hiding this comment.
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.
| #Journal conf overide | ||
| sed -i -e 's/.*ForwardToSyslog=.*/#ForwardToSyslog=no/g' ${D}${sysconfdir}/systemd/journald.conf |
There was a problem hiding this comment.
Spelling: overide should be override in this comment (searchability/consistency).
|
|
||
| do_install:append() { | ||
| if ${@bb.utils.contains('DISTRO_FEATURES', 'syslog-ng', 'false', 'true', d)}; then | ||
| #Journal conf overide |
There was a problem hiding this comment.
Spelling: overide should be override in this comment (searchability/consistency).
| #Journal conf overide | |
| #Journal conf override |
| do_install:append:client() { | ||
| install -d ${D}/media/tsb | ||
| } | ||
|
|
||
| do_install:append:hybrid() { | ||
| install -d ${D}/media/tsb | ||
| } | ||
|
|
There was a problem hiding this comment.
/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.
| do_install:append:client() { | |
| install -d ${D}/media/tsb | |
| } | |
| do_install:append:hybrid() { | |
| install -d ${D}/media/tsb | |
| } |
|
b'## WARNING: A Blackduck scan failure has been waived A prior failure has been upvoted
|
Reason for the change: Remove reference to default-time-setter.sh script in systemd-timesyncd to fix the build error.
There was a problem hiding this comment.
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.
| #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 |
| 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 |
| 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 |
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