summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core')
-rw-r--r--meta/recipes-core/base-files/base-files_3.0.14.bb27
-rw-r--r--meta/recipes-core/busybox/busybox-inittab_1.36.1.bb5
-rw-r--r--meta/recipes-core/busybox/busybox.inc46
-rw-r--r--meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch2
-rw-r--r--meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch2
-rw-r--r--meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch87
-rw-r--r--meta/recipes-core/busybox/busybox_1.36.1.bb1
-rw-r--r--meta/recipes-core/dbus/dbus_1.14.10.bb4
-rw-r--r--meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch14
-rw-r--r--meta/recipes-core/dropbear/dropbear/0005-dropbear-enable-pam.patch8
-rw-r--r--meta/recipes-core/dropbear/dropbear/0006-dropbear-configuration-file.patch8
-rw-r--r--meta/recipes-core/dropbear/dropbear/CVE-2023-36328.patch144
-rw-r--r--meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch8
-rw-r--r--meta/recipes-core/dropbear/dropbear_2024.84.bb (renamed from meta/recipes-core/dropbear/dropbear_2022.83.bb)15
-rw-r--r--meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb2
-rw-r--r--meta/recipes-core/glib-2.0/files/0001-Do-not-write-bindir-into-pkg-config-files.patch (renamed from meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch)31
-rw-r--r--meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch (renamed from meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch)2
-rw-r--r--meta/recipes-core/glib-2.0/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch (renamed from meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch)6
-rw-r--r--meta/recipes-core/glib-2.0/files/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch (renamed from meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch)2
-rw-r--r--meta/recipes-core/glib-2.0/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch (renamed from meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch)20
-rw-r--r--meta/recipes-core/glib-2.0/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch (renamed from meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch)4
-rw-r--r--meta/recipes-core/glib-2.0/files/0001-girepository-introspection-correctly-install-.gir-fi.patch88
-rw-r--r--meta/recipes-core/glib-2.0/files/0001-meson-Run-atomics-test-on-clang-as-well.patch (renamed from meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch)6
-rw-r--r--meta/recipes-core/glib-2.0/files/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch (renamed from meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch)6
-rw-r--r--meta/recipes-core/glib-2.0/files/0010-Do-not-hardcode-python-path-into-various-tools.patch (renamed from meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch)4
-rw-r--r--meta/recipes-core/glib-2.0/files/meson.cross.d/common (renamed from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common)0
-rw-r--r--meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc (renamed from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc)0
-rw-r--r--meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux (renamed from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux)0
-rw-r--r--meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw (renamed from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw)0
-rw-r--r--meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl (renamed from meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl)0
-rw-r--r--meta/recipes-core/glib-2.0/files/relocate-modules.patch (renamed from meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch)8
-rw-r--r--meta/recipes-core/glib-2.0/files/run-ptest (renamed from meta/recipes-core/glib-2.0/glib-2.0/run-ptest)0
-rw-r--r--meta/recipes-core/glib-2.0/files/skip-timeout.patch (renamed from meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch)7
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0-initial_2.80.0.bb5
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch34
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch54
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch361
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb57
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0_2.80.0.bb1
-rw-r--r--meta/recipes-core/glib-2.0/glib.inc73
-rw-r--r--meta/recipes-core/glibc/glibc-common.inc2
-rw-r--r--meta/recipes-core/glibc/glibc-package.inc6
-rw-r--r--meta/recipes-core/glibc/glibc-testsuite_2.39.bb4
-rw-r--r--meta/recipes-core/glibc/glibc-version.inc2
-rw-r--r--meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb2
-rw-r--r--meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch47
-rw-r--r--meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch62
-rw-r--r--meta/recipes-core/glibc/glibc/0023-qemu-stale-process.patch (renamed from meta/recipes-core/glibc/glibc/0024-qemu-stale-process.patch)0
-rw-r--r--meta/recipes-core/glibc/glibc_2.39.bb7
-rw-r--r--meta/recipes-core/ifupdown/ifupdown_0.8.41.bb2
-rw-r--r--meta/recipes-core/images/build-appliance-image_15.0.0.bb17
-rw-r--r--meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb11
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb6
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb25
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb6
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb6
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb5
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb6
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb5
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb6
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb5
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb5
-rw-r--r--meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb5
-rw-r--r--meta/recipes-core/initscripts/initscripts_1.0.bb61
-rw-r--r--meta/recipes-core/libcgroup/libcgroup/0001-include-Makefile-install-systemd.h-by-default.patch37
-rw-r--r--meta/recipes-core/libcgroup/libcgroup_3.1.0.bb1
-rw-r--r--meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.36.bb2
-rw-r--r--meta/recipes-core/meta/uninative-tarball.bb2
-rw-r--r--meta/recipes-core/musl/bsd-headers.bb3
-rw-r--r--meta/recipes-core/musl/libc-test_git.bb2
-rw-r--r--meta/recipes-core/musl/libssp-nonshared.bb3
-rw-r--r--meta/recipes-core/musl/musl-legacy-error.bb3
-rw-r--r--meta/recipes-core/ncurses/files/CVE-2023-45918.patch180
-rw-r--r--meta/recipes-core/ncurses/files/CVE-2023-50495.patch301
-rw-r--r--meta/recipes-core/ncurses/ncurses_6.4.bb2
-rw-r--r--meta/recipes-core/psplash/psplash_git.bb8
-rw-r--r--meta/recipes-core/readline/readline.inc4
-rw-r--r--meta/recipes-core/seatd/seatd_0.8.0.bb2
-rw-r--r--meta/recipes-core/systemd/systemd-bootconf_1.00.bb3
-rw-r--r--meta/recipes-core/systemd/systemd-compat-units.bb3
-rw-r--r--meta/recipes-core/systemd/systemd-conf_1.0.bb13
-rw-r--r--meta/recipes-core/systemd/systemd-serialgetty.bb7
-rw-r--r--meta/recipes-core/systemd/systemd-systemctl-native.bb5
-rw-r--r--meta/recipes-core/systemd/systemd/0001-basic-add-PIDFS-magic-31709.patch53
-rw-r--r--meta/recipes-core/systemd/systemd_255.4.bb33
-rw-r--r--meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb7
-rw-r--r--meta/recipes-core/sysvinit/sysvinit_3.04.bb10
-rw-r--r--meta/recipes-core/ttyrun/ttyrun_2.32.0.bb2
-rw-r--r--meta/recipes-core/udev/eudev_3.2.14.bb4
-rw-r--r--meta/recipes-core/udev/udev-extraconf_1.1.bb15
-rw-r--r--meta/recipes-core/update-rc.d/update-rc.d_0.8.bb1
-rw-r--r--meta/recipes-core/util-linux/util-linux_2.39.3.bb11
-rw-r--r--meta/recipes-core/volatile-binds/volatile-binds.bb5
93 files changed, 1083 insertions, 1084 deletions
diff --git a/meta/recipes-core/base-files/base-files_3.0.14.bb b/meta/recipes-core/base-files/base-files_3.0.14.bb
index 9fab53ce63..1b6e9671e4 100644
--- a/meta/recipes-core/base-files/base-files_3.0.14.bb
+++ b/meta/recipes-core/base-files/base-files_3.0.14.bb
@@ -25,7 +25,8 @@ SRC_URI = "file://rotation \
25 " 25 "
26SRC_URI:append:libc-glibc = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd systemd-resolved', ' file://0001-add-nss-resolve-to-nsswitch.patch', '', d)}" 26SRC_URI:append:libc-glibc = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd systemd-resolved', ' file://0001-add-nss-resolve-to-nsswitch.patch', '', d)}"
27 27
28S = "${WORKDIR}" 28S = "${WORKDIR}/sources"
29UNPACKDIR = "${S}"
29 30
30INHIBIT_DEFAULT_DEPS = "1" 31INHIBIT_DEFAULT_DEPS = "1"
31 32
@@ -113,23 +114,23 @@ do_install () {
113 ln -snf ../run ${D}${localstatedir}/run 114 ln -snf ../run ${D}${localstatedir}/run
114 ln -snf ../run/lock ${D}${localstatedir}/lock 115 ln -snf ../run/lock ${D}${localstatedir}/lock
115 116
116 install -m 0644 ${WORKDIR}/hosts ${D}${sysconfdir}/hosts 117 install -m 0644 ${S}/hosts ${D}${sysconfdir}/hosts
117 ${BASEFILESISSUEINSTALL} 118 ${BASEFILESISSUEINSTALL}
118 119
119 rotation=`cat ${WORKDIR}/rotation` 120 rotation=`cat ${S}/rotation`
120 if [ "$rotation" != "0" ]; then 121 if [ "$rotation" != "0" ]; then
121 install -m 0644 ${WORKDIR}/rotation ${D}${sysconfdir}/rotation 122 install -m 0644 ${S}/rotation ${D}${sysconfdir}/rotation
122 fi 123 fi
123 124
124 install -m 0644 ${WORKDIR}/fstab ${D}${sysconfdir}/fstab 125 install -m 0644 ${S}/fstab ${D}${sysconfdir}/fstab
125 install -m 0644 ${WORKDIR}/profile ${D}${sysconfdir}/profile 126 install -m 0644 ${S}/profile ${D}${sysconfdir}/profile
126 sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}${sysconfdir}/profile 127 sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}${sysconfdir}/profile
127 sed -i 's#@BINDIR@#${bindir}#g' ${D}${sysconfdir}/profile 128 sed -i 's#@BINDIR@#${bindir}#g' ${D}${sysconfdir}/profile
128 install -m 0644 ${WORKDIR}/shells ${D}${sysconfdir}/shells 129 install -m 0644 ${S}/shells ${D}${sysconfdir}/shells
129 install -m 0755 ${WORKDIR}/share/dot.profile ${D}${sysconfdir}/skel/.profile 130 install -m 0755 ${S}/share/dot.profile ${D}${sysconfdir}/skel/.profile
130 install -m 0755 ${WORKDIR}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc 131 install -m 0755 ${S}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc
131 install -m 0644 ${WORKDIR}/host.conf ${D}${sysconfdir}/host.conf 132 install -m 0644 ${S}/host.conf ${D}${sysconfdir}/host.conf
132 install -m 0644 ${WORKDIR}/motd ${D}${sysconfdir}/motd 133 install -m 0644 ${S}/motd ${D}${sysconfdir}/motd
133 134
134 ln -sf /proc/mounts ${D}${sysconfdir}/mtab 135 ln -sf /proc/mounts ${D}${sysconfdir}/mtab
135 136
@@ -145,12 +146,12 @@ do_install () {
145} 146}
146 147
147do_install:append:libc-glibc () { 148do_install:append:libc-glibc () {
148 install -m 0644 ${WORKDIR}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf 149 install -m 0644 ${S}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf
149} 150}
150 151
151DISTRO_VERSION[vardepsexclude] += "DATE" 152DISTRO_VERSION[vardepsexclude] += "DATE"
152do_install_basefilesissue () { 153do_install_basefilesissue () {
153 install -m 644 ${WORKDIR}/issue* ${D}${sysconfdir} 154 install -m 644 ${S}/issue* ${D}${sysconfdir}
154 if [ -n "${DISTRO_NAME}" ]; then 155 if [ -n "${DISTRO_NAME}" ]; then
155 printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue 156 printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue
156 printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue.net 157 printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue.net
diff --git a/meta/recipes-core/busybox/busybox-inittab_1.36.1.bb b/meta/recipes-core/busybox/busybox-inittab_1.36.1.bb
index 6904a91930..4ffc44c808 100644
--- a/meta/recipes-core/busybox/busybox-inittab_1.36.1.bb
+++ b/meta/recipes-core/busybox/busybox-inittab_1.36.1.bb
@@ -4,7 +4,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;m
4 4
5SRC_URI = "file://inittab" 5SRC_URI = "file://inittab"
6 6
7S = "${WORKDIR}" 7S = "${WORKDIR}/sources"
8UNPACKDIR = "${S}"
8 9
9INHIBIT_DEFAULT_DEPS = "1" 10INHIBIT_DEFAULT_DEPS = "1"
10 11
@@ -14,7 +15,7 @@ do_compile() {
14 15
15do_install() { 16do_install() {
16 install -d ${D}${sysconfdir} 17 install -d ${D}${sysconfdir}
17 install -D -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab 18 install -D -m 0644 ${S}/inittab ${D}${sysconfdir}/inittab
18 19
19 CONSOLES="${SERIAL_CONSOLES}" 20 CONSOLES="${SERIAL_CONSOLES}"
20 for s in $CONSOLES 21 for s in $CONSOLES
diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
index f5d7c3f9c8..67a9111e5b 100644
--- a/meta/recipes-core/busybox/busybox.inc
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -114,7 +114,7 @@ do_prepare_config () {
114 export KCONFIG_NOTIMESTAMP=1 114 export KCONFIG_NOTIMESTAMP=1
115 115
116 sed -e '/CONFIG_STATIC/d' \ 116 sed -e '/CONFIG_STATIC/d' \
117 < ${WORKDIR}/defconfig > ${S}/.config 117 < ${UNPACKDIR}/defconfig > ${S}/.config
118 echo "# CONFIG_STATIC is not set" >> .config 118 echo "# CONFIG_STATIC is not set" >> .config
119 for i in 'CROSS' 'DISTRO FEATURES'; do echo "### $i"; done >> \ 119 for i in 'CROSS' 'DISTRO FEATURES'; do echo "### $i"; done >> \
120 ${S}/.config 120 ${S}/.config
@@ -280,67 +280,67 @@ do_install () {
280 fi 280 fi
281 281
282 if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then 282 if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then
283 install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/syslog 283 install -m 0755 ${UNPACKDIR}/syslog ${D}${sysconfdir}/init.d/syslog
284 install -m 644 ${WORKDIR}/syslog-startup.conf ${D}${sysconfdir}/syslog-startup.conf 284 install -m 644 ${UNPACKDIR}/syslog-startup.conf ${D}${sysconfdir}/syslog-startup.conf
285 install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/syslog.conf 285 install -m 644 ${UNPACKDIR}/syslog.conf ${D}${sysconfdir}/syslog.conf
286 fi 286 fi
287 if grep -q "CONFIG_CROND=y" ${B}/.config; then 287 if grep -q "CONFIG_CROND=y" ${B}/.config; then
288 install -m 0755 ${WORKDIR}/busybox-cron ${D}${sysconfdir}/init.d/ 288 install -m 0755 ${UNPACKDIR}/busybox-cron ${D}${sysconfdir}/init.d/
289 fi 289 fi
290 if grep -q "CONFIG_HTTPD=y" ${B}/.config; then 290 if grep -q "CONFIG_HTTPD=y" ${B}/.config; then
291 install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/ 291 install -m 0755 ${UNPACKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/
292 install -d ${D}/srv/www 292 install -d ${D}/srv/www
293 fi 293 fi
294 if grep -q "CONFIG_UDHCPD=y" ${B}/.config; then 294 if grep -q "CONFIG_UDHCPD=y" ${B}/.config; then
295 install -m 0755 ${WORKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/ 295 install -m 0755 ${UNPACKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/
296 fi 296 fi
297 if grep -q "CONFIG_HWCLOCK=y" ${B}/.config; then 297 if grep -q "CONFIG_HWCLOCK=y" ${B}/.config; then
298 install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/ 298 install -m 0755 ${UNPACKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/
299 fi 299 fi
300 if grep -q "CONFIG_UDHCPC=y" ${B}/.config; then 300 if grep -q "CONFIG_UDHCPC=y" ${B}/.config; then
301 install -d ${D}${sysconfdir}/udhcpc.d 301 install -d ${D}${sysconfdir}/udhcpc.d
302 install -d ${D}${datadir}/udhcpc 302 install -d ${D}${datadir}/udhcpc
303 install -m 0755 ${WORKDIR}/simple.script ${D}${sysconfdir}/udhcpc.d/50default 303 install -m 0755 ${UNPACKDIR}/simple.script ${D}${sysconfdir}/udhcpc.d/50default
304 sed -i "s:/SBIN_DIR/:${base_sbindir}/:" ${D}${sysconfdir}/udhcpc.d/50default 304 sed -i "s:/SBIN_DIR/:${base_sbindir}/:" ${D}${sysconfdir}/udhcpc.d/50default
305 install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script 305 install -m 0755 ${UNPACKDIR}/default.script ${D}${datadir}/udhcpc/default.script
306 fi 306 fi
307 if grep -q "CONFIG_INETD=y" ${B}/.config; then 307 if grep -q "CONFIG_INETD=y" ${B}/.config; then
308 install -m 0755 ${WORKDIR}/inetd ${D}${sysconfdir}/init.d/inetd.${BPN} 308 install -m 0755 ${UNPACKDIR}/inetd ${D}${sysconfdir}/init.d/inetd.${BPN}
309 sed -i "s:/usr/sbin/:${sbindir}/:" ${D}${sysconfdir}/init.d/inetd.${BPN} 309 sed -i "s:/usr/sbin/:${sbindir}/:" ${D}${sysconfdir}/init.d/inetd.${BPN}
310 install -m 0644 ${WORKDIR}/inetd.conf ${D}${sysconfdir}/ 310 install -m 0644 ${UNPACKDIR}/inetd.conf ${D}${sysconfdir}/
311 fi 311 fi
312 if grep -q "CONFIG_MDEV=y" ${B}/.config; then 312 if grep -q "CONFIG_MDEV=y" ${B}/.config; then
313 install -m 0755 ${WORKDIR}/mdev ${D}${sysconfdir}/init.d/mdev 313 install -m 0755 ${UNPACKDIR}/mdev ${D}${sysconfdir}/init.d/mdev
314 if grep "CONFIG_FEATURE_MDEV_CONF=y" ${B}/.config; then 314 if grep "CONFIG_FEATURE_MDEV_CONF=y" ${B}/.config; then
315 install -m 644 ${WORKDIR}/mdev.conf ${D}${sysconfdir}/mdev.conf 315 install -m 644 ${UNPACKDIR}/mdev.conf ${D}${sysconfdir}/mdev.conf
316 install -d ${D}${sysconfdir}/mdev 316 install -d ${D}${sysconfdir}/mdev
317 install -m 0755 ${WORKDIR}/find-touchscreen.sh ${D}${sysconfdir}/mdev 317 install -m 0755 ${UNPACKDIR}/find-touchscreen.sh ${D}${sysconfdir}/mdev
318 install -m 0755 ${WORKDIR}/mdev-mount.sh ${D}${sysconfdir}/mdev 318 install -m 0755 ${UNPACKDIR}/mdev-mount.sh ${D}${sysconfdir}/mdev
319 fi 319 fi
320 fi 320 fi
321 if grep -q "CONFIG_INIT=y" ${B}/.config && ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','busybox','true','false',d)}; then 321 if grep -q "CONFIG_INIT=y" ${B}/.config && ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','busybox','true','false',d)}; then
322 install -D -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d/rcS 322 install -D -m 0755 ${UNPACKDIR}/rcS ${D}${sysconfdir}/init.d/rcS
323 install -D -m 0755 ${WORKDIR}/rcK ${D}${sysconfdir}/init.d/rcK 323 install -D -m 0755 ${UNPACKDIR}/rcK ${D}${sysconfdir}/init.d/rcK
324 install -D -m 0755 ${WORKDIR}/rcS.default ${D}${sysconfdir}/default/rcS 324 install -D -m 0755 ${UNPACKDIR}/rcS.default ${D}${sysconfdir}/default/rcS
325 fi 325 fi
326 326
327 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then 327 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
328 if grep -q "CONFIG_KLOGD=y" ${B}/.config; then 328 if grep -q "CONFIG_KLOGD=y" ${B}/.config; then
329 install -d ${D}${systemd_system_unitdir} 329 install -d ${D}${systemd_system_unitdir}
330 sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-klogd.service.in \ 330 sed 's,@base_sbindir@,${base_sbindir},g' < ${UNPACKDIR}/busybox-klogd.service.in \
331 > ${D}${systemd_system_unitdir}/busybox-klogd.service 331 > ${D}${systemd_system_unitdir}/busybox-klogd.service
332 fi 332 fi
333 333
334 if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then 334 if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then
335 install -d ${D}${systemd_system_unitdir} 335 install -d ${D}${systemd_system_unitdir}
336 sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-syslog.service.in \ 336 sed 's,@base_sbindir@,${base_sbindir},g' < ${UNPACKDIR}/busybox-syslog.service.in \
337 > ${D}${systemd_system_unitdir}/busybox-syslog.service 337 > ${D}${systemd_system_unitdir}/busybox-syslog.service
338 if [ ! -e ${D}${systemd_system_unitdir}/busybox-klogd.service ] ; then 338 if [ ! -e ${D}${systemd_system_unitdir}/busybox-klogd.service ] ; then
339 sed -i '/klog/d' ${D}${systemd_system_unitdir}/busybox-syslog.service 339 sed -i '/klog/d' ${D}${systemd_system_unitdir}/busybox-syslog.service
340 fi 340 fi
341 if [ -f ${WORKDIR}/busybox-syslog.default ] ; then 341 if [ -f ${UNPACKDIR}/busybox-syslog.default ] ; then
342 install -d ${D}${sysconfdir}/default 342 install -d ${D}${sysconfdir}/default
343 install -m 0644 ${WORKDIR}/busybox-syslog.default ${D}${sysconfdir}/default/busybox-syslog 343 install -m 0644 ${UNPACKDIR}/busybox-syslog.default ${D}${sysconfdir}/default/busybox-syslog
344 fi 344 fi
345 fi 345 fi
346 fi 346 fi
diff --git a/meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch b/meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch
index 4635250170..ceb3ad7250 100644
--- a/meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch
+++ b/meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch
@@ -5,7 +5,7 @@ Subject: [PATCH 1/2] libbb: sockaddr2str: ensure only printable characters are
5 returned for the hostname part 5 returned for the hostname part
6 6
7CVE: CVE-2022-28391 7CVE: CVE-2022-28391
8Upstream-Status: Pending 8Upstream-Status: Submitted [https://bugs.busybox.net/show_bug.cgi?id=15001]
9Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> 9Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
10Signed-off-by: Steve Sakoman <steve@sakoman.com> 10Signed-off-by: Steve Sakoman <steve@sakoman.com>
11--- 11---
diff --git a/meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch b/meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch
index 0d7409ddc3..1dbc3388a4 100644
--- a/meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch
+++ b/meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch
@@ -8,7 +8,7 @@ Otherwise, terminal sequences can be injected, which enables various terminal in
8attacks from DNS results. 8attacks from DNS results.
9 9
10CVE: CVE-2022-28391 10CVE: CVE-2022-28391
11Upstream-Status: Pending 11Upstream-Status: Submitted [https://bugs.busybox.net/show_bug.cgi?id=15001]
12Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> 12Signed-off-by: Ariadne Conill <ariadne@dereferenced.org>
13Signed-off-by: Steve Sakoman <steve@sakoman.com> 13Signed-off-by: Steve Sakoman <steve@sakoman.com>
14--- 14---
diff --git a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch b/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
deleted file mode 100644
index 948932a3e8..0000000000
--- a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
+++ /dev/null
@@ -1,87 +0,0 @@
1From 53626cd06a3ef05ed847daea802ef0aa9661caa7 Mon Sep 17 00:00:00 2001
2From: Anders Darander <anders@chargestorm.se>
3Date: Thu, 3 Nov 2011 08:51:31 +0100
4Subject: [PATCH] busybox-udhcpc-no_deconfig.patch
5
6Upstream-Status: Pending
7
8Add a new option -D to the udhcpc client that allows for
9dhcp renewal to occur without having to down the interface
10in the process.
11
12Signed-off-by: Greg Moffatt <greg.moffatt@windriver.com>
13
14Updated to latest Busybox 1.17.3
15
16Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
17
18Updated to Busybox 1.18.4
19option spec is changed
20
21Signed-off-by: Qing He <qing.he@intel.com>
22
23Updated to Busybox 1.19.3
24
25Signed-off-by: Anders Darander <anders@chargestorm.se>
26
27Fixed options -b, -a and -P.
28
29Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
30---
31 networking/udhcp/dhcpc.c | 29 ++++++++++++++++------
32 1 file changed, 21 insertions(+), 8 deletions(-)
33
34Index: busybox-1.34.0/networking/udhcp/dhcpc.c
35===================================================================
36--- busybox-1.34.0.orig/networking/udhcp/dhcpc.c
37+++ busybox-1.34.0/networking/udhcp/dhcpc.c
38@@ -48,6 +48,8 @@
39 };
40 #endif
41
42+/* option whether to down the interface when reconfiguring */
43+static int allow_deconfig = 1;
44
45 /* "struct client_data_t client_data" is in bb_common_bufsiz1 */
46
47@@ -100,8 +102,10 @@
48 OPT_x = 1 << 16,
49 OPT_f = 1 << 17,
50 OPT_B = 1 << 18,
51+ OPT_D = 1 << 19,
52 /* The rest has variable bit positions, need to be clever */
53 OPTBIT_B = 18,
54+ OPTBIT_D = 19,
55 USE_FOR_MMU( OPTBIT_b,)
56 IF_FEATURE_UDHCPC_ARPING(OPTBIT_a,)
57 IF_FEATURE_UDHCP_PORT( OPTBIT_P,)
58@@ -587,7 +591,8 @@
59
60 static void d4_run_script_deconfig(void)
61 {
62- d4_run_script(NULL, "deconfig");
63+ if (allow_deconfig)
64+ d4_run_script(NULL, "deconfig");
65 }
66
67 /*** Sending/receiving packets ***/
68@@ -1244,7 +1249,7 @@
69 /* Parse command line */
70 opt = getopt32long(argv, "^"
71 /* O,x: list; -T,-t,-A take numeric param */
72- "CV:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fB"
73+ "CV:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fBD"
74 USE_FOR_MMU("b")
75 IF_FEATURE_UDHCPC_ARPING("a::")
76 IF_FEATURE_UDHCP_PORT("P:")
77@@ -1361,6 +1366,10 @@
78 logmode |= LOGMODE_SYSLOG;
79 }
80
81+ if (opt & OPT_D) {
82+ allow_deconfig = 0;
83+ }
84+
85 /* Create pidfile */
86 write_pidfile(client_data.pidfile);
87 /* Goes to stdout (unless NOMMU) and possibly syslog */
diff --git a/meta/recipes-core/busybox/busybox_1.36.1.bb b/meta/recipes-core/busybox/busybox_1.36.1.bb
index 06eb9eb999..373a6b7781 100644
--- a/meta/recipes-core/busybox/busybox_1.36.1.bb
+++ b/meta/recipes-core/busybox/busybox_1.36.1.bb
@@ -2,7 +2,6 @@ require busybox.inc
2 2
3SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ 3SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
4 file://0001-depmod-Ignore-.debug-directories.patch \ 4 file://0001-depmod-Ignore-.debug-directories.patch \
5 file://busybox-udhcpc-no_deconfig.patch \
6 file://find-touchscreen.sh \ 5 file://find-touchscreen.sh \
7 file://busybox-cron \ 6 file://busybox-cron \
8 file://busybox-httpd \ 7 file://busybox-httpd \
diff --git a/meta/recipes-core/dbus/dbus_1.14.10.bb b/meta/recipes-core/dbus/dbus_1.14.10.bb
index 4fe7af7512..6a08f6984e 100644
--- a/meta/recipes-core/dbus/dbus_1.14.10.bb
+++ b/meta/recipes-core/dbus/dbus_1.14.10.bb
@@ -129,8 +129,8 @@ do_install() {
129 129
130 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then 130 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
131 install -d ${D}${sysconfdir}/init.d 131 install -d ${D}${sysconfdir}/init.d
132 sed 's:@bindir@:${bindir}:' < ${WORKDIR}/dbus-1.init >${WORKDIR}/dbus-1.init.sh 132 sed 's:@bindir@:${bindir}:' < ${UNPACKDIR}/dbus-1.init > ${S}/dbus-1.init.sh
133 install -m 0755 ${WORKDIR}/dbus-1.init.sh ${D}${sysconfdir}/init.d/dbus-1 133 install -m 0755 ${S}/dbus-1.init.sh ${D}${sysconfdir}/init.d/dbus-1
134 install -d ${D}${sysconfdir}/default/volatiles 134 install -d ${D}${sysconfdir}/default/volatiles
135 echo "d messagebus messagebus 0755 /run/dbus none" \ 135 echo "d messagebus messagebus 0755 /run/dbus none" \
136 > ${D}${sysconfdir}/default/volatiles/99_dbus 136 > ${D}${sysconfdir}/default/volatiles/99_dbus
diff --git a/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch b/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch
index 99adcfd770..c74f09e484 100644
--- a/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch
+++ b/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch
@@ -2,14 +2,14 @@ Subject: [PATCH 1/6] urandom-xauth-changes-to-options.h
2 2
3Upstream-Status: Inappropriate [configuration] 3Upstream-Status: Inappropriate [configuration]
4--- 4---
5 default_options.h | 2 +- 5 src/default_options.h | 2 +-
6 1 file changed, 1 insertion(+), 1 deletion(-) 6 1 file changed, 1 insertion(+), 1 deletion(-)
7 7
8diff --git a/default_options.h b/default_options.h 8diff --git a/src/default_options.h b/src/default_options.h
9index 349338c..5ffac25 100644 9index 6e970bb..ccc8b47 100644
10--- a/default_options.h 10--- a/src/default_options.h
11+++ b/default_options.h 11+++ b/src/default_options.h
12@@ -289,7 +289,7 @@ group1 in Dropbear server too */ 12@@ -311,7 +311,7 @@ group1 in Dropbear server too */
13 13
14 /* The command to invoke for xauth when using X11 forwarding. 14 /* The command to invoke for xauth when using X11 forwarding.
15 * "-q" for quiet */ 15 * "-q" for quiet */
@@ -19,5 +19,5 @@ index 349338c..5ffac25 100644
19 19
20 /* If you want to enable running an sftp server (such as the one included with 20 /* If you want to enable running an sftp server (such as the one included with
21-- 21--
222.25.1 222.34.1
23 23
diff --git a/meta/recipes-core/dropbear/dropbear/0005-dropbear-enable-pam.patch b/meta/recipes-core/dropbear/dropbear/0005-dropbear-enable-pam.patch
index 32c3ea5f08..fe667ddc25 100644
--- a/meta/recipes-core/dropbear/dropbear/0005-dropbear-enable-pam.patch
+++ b/meta/recipes-core/dropbear/dropbear/0005-dropbear-enable-pam.patch
@@ -11,13 +11,13 @@ Upstream-Status: Pending
11Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> 11Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
12Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> 12Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
13--- 13---
14 default_options.h | 4 ++-- 14 src/default_options.h | 4 ++--
15 1 file changed, 2 insertions(+), 2 deletions(-) 15 1 file changed, 2 insertions(+), 2 deletions(-)
16 16
17diff --git a/default_options.h b/default_options.h 17diff --git a/src/default_options.h b/src/default_options.h
18index 0e3d027..349338c 100644 18index 0e3d027..349338c 100644
19--- a/default_options.h 19--- a/src/default_options.h
20+++ b/default_options.h 20+++ b/src/default_options.h
21@@ -210,7 +210,7 @@ group1 in Dropbear server too */ 21@@ -210,7 +210,7 @@ group1 in Dropbear server too */
22 22
23 /* Authentication Types - at least one required. 23 /* Authentication Types - at least one required.
diff --git a/meta/recipes-core/dropbear/dropbear/0006-dropbear-configuration-file.patch b/meta/recipes-core/dropbear/dropbear/0006-dropbear-configuration-file.patch
index deed78ffb9..f54f634a4e 100644
--- a/meta/recipes-core/dropbear/dropbear/0006-dropbear-configuration-file.patch
+++ b/meta/recipes-core/dropbear/dropbear/0006-dropbear-configuration-file.patch
@@ -12,13 +12,13 @@ Signed-off-by: Maxin B. John <maxin.john@enea.com>
12Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> 12Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
13Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> 13Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
14--- 14---
15 svr-authpam.c | 2 +- 15 src/svr-authpam.c | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-) 16 1 file changed, 1 insertion(+), 1 deletion(-)
17 17
18diff --git a/svr-authpam.c b/svr-authpam.c 18diff --git a/srec/svr-authpam.c b/src/svr-authpam.c
19index d201bc9..165ec5c 100644 19index d201bc9..165ec5c 100644
20--- a/svr-authpam.c 20--- a/src/svr-authpam.c
21+++ b/svr-authpam.c 21+++ b/src/svr-authpam.c
22@@ -223,7 +223,7 @@ void svr_auth_pam(int valid_user) { 22@@ -223,7 +223,7 @@ void svr_auth_pam(int valid_user) {
23 } 23 }
24 24
diff --git a/meta/recipes-core/dropbear/dropbear/CVE-2023-36328.patch b/meta/recipes-core/dropbear/dropbear/CVE-2023-36328.patch
deleted file mode 100644
index ec50d69816..0000000000
--- a/meta/recipes-core/dropbear/dropbear/CVE-2023-36328.patch
+++ /dev/null
@@ -1,144 +0,0 @@
1From beba892bc0d4e4ded4d667ab1d2a94f4d75109a9 Mon Sep 17 00:00:00 2001
2From: czurnieden <czurnieden@gmx.de>
3Date: Fri, 8 Sep 2023 10:07:32 +0000
4Subject: [PATCH] Fix possible integer overflow
5
6CVE: CVE-2023-36328
7
8Upstream-Status: Backport [https://github.com/libtom/libtommath/commit/beba892bc0d4e4ded4d667ab1d2a94f4d75109a9]
9
10Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
11---
12 libtommath/bn_mp_2expt.c | 4 ++++
13 libtommath/bn_mp_grow.c | 4 ++++
14 libtommath/bn_mp_init_size.c | 5 +++++
15 libtommath/bn_mp_mul_2d.c | 4 ++++
16 libtommath/bn_s_mp_mul_digs.c | 4 ++++
17 libtommath/bn_s_mp_mul_digs_fast.c | 4 ++++
18 libtommath/bn_s_mp_mul_high_digs.c | 4 ++++
19 libtommath/bn_s_mp_mul_high_digs_fast.c | 4 ++++
20 8 files changed, 33 insertions(+)
21
22diff --git a/libtommath/bn_mp_2expt.c b/libtommath/bn_mp_2expt.c
23index 0ae3df1..ca6fbc3 100644
24--- a/libtommath/bn_mp_2expt.c
25+++ b/libtommath/bn_mp_2expt.c
26@@ -12,6 +12,10 @@ mp_err mp_2expt(mp_int *a, int b)
27 {
28 mp_err err;
29
30+ if (b < 0) {
31+ return MP_VAL;
32+ }
33+
34 /* zero a as per default */
35 mp_zero(a);
36
37diff --git a/libtommath/bn_mp_grow.c b/libtommath/bn_mp_grow.c
38index 9e904c5..2b16826 100644
39--- a/libtommath/bn_mp_grow.c
40+++ b/libtommath/bn_mp_grow.c
41@@ -9,6 +9,10 @@ mp_err mp_grow(mp_int *a, int size)
42 int i;
43 mp_digit *tmp;
44
45+ if (size < 0) {
46+ return MP_VAL;
47+ }
48+
49 /* if the alloc size is smaller alloc more ram */
50 if (a->alloc < size) {
51 /* reallocate the array a->dp
52diff --git a/libtommath/bn_mp_init_size.c b/libtommath/bn_mp_init_size.c
53index d622687..5fefa96 100644
54--- a/libtommath/bn_mp_init_size.c
55+++ b/libtommath/bn_mp_init_size.c
56@@ -6,6 +6,11 @@
57 /* init an mp_init for a given size */
58 mp_err mp_init_size(mp_int *a, int size)
59 {
60+
61+ if (size < 0) {
62+ return MP_VAL;
63+ }
64+
65 size = MP_MAX(MP_MIN_PREC, size);
66
67 /* alloc mem */
68diff --git a/libtommath/bn_mp_mul_2d.c b/libtommath/bn_mp_mul_2d.c
69index 87354de..2744163 100644
70--- a/libtommath/bn_mp_mul_2d.c
71+++ b/libtommath/bn_mp_mul_2d.c
72@@ -9,6 +9,10 @@ mp_err mp_mul_2d(const mp_int *a, int b, mp_int *c)
73 mp_digit d;
74 mp_err err;
75
76+ if (b < 0) {
77+ return MP_VAL;
78+ }
79+
80 /* copy */
81 if (a != c) {
82 if ((err = mp_copy(a, c)) != MP_OKAY) {
83diff --git a/libtommath/bn_s_mp_mul_digs.c b/libtommath/bn_s_mp_mul_digs.c
84index 64509d4..2d2f5b0 100644
85--- a/libtommath/bn_s_mp_mul_digs.c
86+++ b/libtommath/bn_s_mp_mul_digs.c
87@@ -16,6 +16,10 @@ mp_err s_mp_mul_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs)
88 mp_word r;
89 mp_digit tmpx, *tmpt, *tmpy;
90
91+ if (digs < 0) {
92+ return MP_VAL;
93+ }
94+
95 /* can we use the fast multiplier? */
96 if ((digs < MP_WARRAY) &&
97 (MP_MIN(a->used, b->used) < MP_MAXFAST)) {
98diff --git a/libtommath/bn_s_mp_mul_digs_fast.c b/libtommath/bn_s_mp_mul_digs_fast.c
99index b2a287b..d6dd3cc 100644
100--- a/libtommath/bn_s_mp_mul_digs_fast.c
101+++ b/libtommath/bn_s_mp_mul_digs_fast.c
102@@ -26,6 +26,10 @@ mp_err s_mp_mul_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int digs)
103 mp_digit W[MP_WARRAY];
104 mp_word _W;
105
106+ if (digs < 0) {
107+ return MP_VAL;
108+ }
109+
110 /* grow the destination as required */
111 if (c->alloc < digs) {
112 if ((err = mp_grow(c, digs)) != MP_OKAY) {
113diff --git a/libtommath/bn_s_mp_mul_high_digs.c b/libtommath/bn_s_mp_mul_high_digs.c
114index 2bb2a50..c9dd355 100644
115--- a/libtommath/bn_s_mp_mul_high_digs.c
116+++ b/libtommath/bn_s_mp_mul_high_digs.c
117@@ -15,6 +15,10 @@ mp_err s_mp_mul_high_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs)
118 mp_word r;
119 mp_digit tmpx, *tmpt, *tmpy;
120
121+ if (digs < 0) {
122+ return MP_VAL;
123+ }
124+
125 /* can we use the fast multiplier? */
126 if (MP_HAS(S_MP_MUL_HIGH_DIGS_FAST)
127 && ((a->used + b->used + 1) < MP_WARRAY)
128diff --git a/libtommath/bn_s_mp_mul_high_digs_fast.c b/libtommath/bn_s_mp_mul_high_digs_fast.c
129index a2c4fb6..afe3e4b 100644
130--- a/libtommath/bn_s_mp_mul_high_digs_fast.c
131+++ b/libtommath/bn_s_mp_mul_high_digs_fast.c
132@@ -19,6 +19,10 @@ mp_err s_mp_mul_high_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int
133 mp_digit W[MP_WARRAY];
134 mp_word _W;
135
136+ if (digs < 0) {
137+ return MP_VAL;
138+ }
139+
140 /* grow the destination as required */
141 pa = a->used + b->used;
142 if (c->alloc < pa) {
143--
1442.35.5
diff --git a/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch b/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch
index 5c60868ed8..f998caa255 100644
--- a/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch
+++ b/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch
@@ -10,13 +10,13 @@ and we want to support the stong algorithms.
10Upstream-Status: Inappropriate [configuration] 10Upstream-Status: Inappropriate [configuration]
11Signed-off-by: Joseph Reynolds <joseph.reynolds1@ibm.com> 11Signed-off-by: Joseph Reynolds <joseph.reynolds1@ibm.com>
12--- 12---
13 default_options.h | 2 +- 13 src/default_options.h | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-) 14 1 file changed, 1 insertion(+), 1 deletion(-)
15 15
16diff --git a/default_options.h b/default_options.h 16diff --git a/src/default_options.h b/src/default_options.h
17index d417588..bc5200f 100644 17index d417588..bc5200f 100644
18--- a/default_options.h 18--- a/src/default_options.h
19+++ b/default_options.h 19+++ b/src/default_options.h
20@@ -180,7 +180,7 @@ IMPORTANT: Some options will require "make clean" after changes */ 20@@ -180,7 +180,7 @@ IMPORTANT: Some options will require "make clean" after changes */
21 * Small systems should generally include either curve25519 or ecdh for performance. 21 * Small systems should generally include either curve25519 or ecdh for performance.
22 * curve25519 is less widely supported but is faster 22 * curve25519 is less widely supported but is faster
diff --git a/meta/recipes-core/dropbear/dropbear_2022.83.bb b/meta/recipes-core/dropbear/dropbear_2024.84.bb
index 528eff1a10..3ea64b13d0 100644
--- a/meta/recipes-core/dropbear/dropbear_2022.83.bb
+++ b/meta/recipes-core/dropbear/dropbear_2024.84.bb
@@ -21,10 +21,9 @@ SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
21 file://dropbear.default \ 21 file://dropbear.default \
22 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ 22 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
23 ${@bb.utils.contains('PACKAGECONFIG', 'disable-weak-ciphers', 'file://dropbear-disable-weak-ciphers.patch', '', d)} \ 23 ${@bb.utils.contains('PACKAGECONFIG', 'disable-weak-ciphers', 'file://dropbear-disable-weak-ciphers.patch', '', d)} \
24 file://CVE-2023-36328.patch \
25 " 24 "
26 25
27SRC_URI[sha256sum] = "bc5a121ffbc94b5171ad5ebe01be42746d50aa797c9549a4639894a16749443b" 26SRC_URI[sha256sum] = "16e22b66b333d6b7e504c43679d04ed6ca30f2838db40a21f935c850dfc01009"
28 27
29PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \ 28PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \
30 file://0006-dropbear-configuration-file.patch \ 29 file://0006-dropbear-configuration-file.patch \
@@ -77,7 +76,7 @@ do_install() {
77 ${D}${sbindir} \ 76 ${D}${sbindir} \
78 ${D}${localstatedir} 77 ${D}${localstatedir}
79 78
80 install -m 0644 ${WORKDIR}/dropbear.default ${D}${sysconfdir}/default/dropbear 79 install -m 0644 ${UNPACKDIR}/dropbear.default ${D}${sysconfdir}/default/dropbear
81 80
82 install -m 0755 dropbearmulti ${D}${sbindir}/ 81 install -m 0755 dropbearmulti ${D}${sbindir}/
83 82
@@ -95,18 +94,18 @@ do_install() {
95 -e 's,/usr/sbin,${sbindir},g' \ 94 -e 's,/usr/sbin,${sbindir},g' \
96 -e 's,/var,${localstatedir},g' \ 95 -e 's,/var,${localstatedir},g' \
97 -e 's,/usr/bin,${bindir},g' \ 96 -e 's,/usr/bin,${bindir},g' \
98 -e 's,/usr,${prefix},g' ${WORKDIR}/init > ${D}${sysconfdir}/init.d/dropbear 97 -e 's,/usr,${prefix},g' ${UNPACKDIR}/init > ${D}${sysconfdir}/init.d/dropbear
99 chmod 755 ${D}${sysconfdir}/init.d/dropbear 98 chmod 755 ${D}${sysconfdir}/init.d/dropbear
100 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then 99 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
101 install -d ${D}${sysconfdir}/pam.d 100 install -d ${D}${sysconfdir}/pam.d
102 install -m 0644 ${WORKDIR}/dropbear ${D}${sysconfdir}/pam.d/ 101 install -m 0644 ${UNPACKDIR}/dropbear ${D}${sysconfdir}/pam.d/
103 fi 102 fi
104 103
105 # deal with systemd unit files 104 # deal with systemd unit files
106 install -d ${D}${systemd_system_unitdir} 105 install -d ${D}${systemd_system_unitdir}
107 install -m 0644 ${WORKDIR}/dropbearkey.service ${D}${systemd_system_unitdir} 106 install -m 0644 ${UNPACKDIR}/dropbearkey.service ${D}${systemd_system_unitdir}
108 install -m 0644 ${WORKDIR}/dropbear@.service ${D}${systemd_system_unitdir} 107 install -m 0644 ${UNPACKDIR}/dropbear@.service ${D}${systemd_system_unitdir}
109 install -m 0644 ${WORKDIR}/dropbear.socket ${D}${systemd_system_unitdir} 108 install -m 0644 ${UNPACKDIR}/dropbear.socket ${D}${systemd_system_unitdir}
110 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ 109 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
111 -e 's,@BINDIR@,${bindir},g' \ 110 -e 's,@BINDIR@,${bindir},g' \
112 -e 's,@SBINDIR@,${sbindir},g' \ 111 -e 's,@SBINDIR@,${sbindir},g' \
diff --git a/meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb b/meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb
index db1bbb7e68..96acf9bb9f 100644
--- a/meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb
+++ b/meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb
@@ -13,7 +13,7 @@ INHIBIT_DEFAULT_DEPS = "1"
13INHIBIT_AUTOTOOLS_DEPS = "1" 13INHIBIT_AUTOTOOLS_DEPS = "1"
14 14
15LICENSE = "FSF-Unlimited" 15LICENSE = "FSF-Unlimited"
16LIC_FILES_CHKSUM = "file://../COPYING;md5=4bd090a20bfcd1a18f1f79837b5e3e91" 16LIC_FILES_CHKSUM = "file://${UNPACKDIR}/COPYING;md5=4bd090a20bfcd1a18f1f79837b5e3e91"
17 17
18inherit native 18inherit native
19 19
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch b/meta/recipes-core/glib-2.0/files/0001-Do-not-write-bindir-into-pkg-config-files.patch
index 8e6598fbef..f6eba04fd4 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch
+++ b/meta/recipes-core/glib-2.0/files/0001-Do-not-write-bindir-into-pkg-config-files.patch
@@ -1,26 +1,30 @@
1From e7077aa23bfcd31a8e72e39dc93ce4f854678376 Mon Sep 17 00:00:00 2001 1From 0561dcbf0918631d8106c3f6c2d8e92a5ec4b887 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Fri, 15 Feb 2019 11:17:27 +0100 3Date: Fri, 15 Feb 2019 11:17:27 +0100
4Subject: [PATCH] Do not write $bindir into pkg-config files 4Subject: [PATCH] Do not prefix executables with $bindir in pkg-config files
5 5
6This would otherwise break when using the files to build other target 6This would otherwise break when using the executables to build other target
7components (we need to rely on PATH containing the paths to utilities, 7components (we need to rely on PATH containing the paths to utilities,
8rather than use target paths). 8rather than use target paths).
9 9
10Upstream-Status: Inappropriate [upstream wants the paths in .pc files] 10Upstream-Status: Inappropriate [upstream wants the paths in .pc files]
11Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 11Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
12--- 12---
13 gio/meson.build | 16 ++++++++-------- 13 gio/meson.build | 17 +++++++++--------
14 glib/meson.build | 6 +++--- 14 glib/meson.build | 7 ++++---
15 2 files changed, 11 insertions(+), 11 deletions(-) 15 2 files changed, 13 insertions(+), 11 deletions(-)
16 16
17diff --git a/gio/meson.build b/gio/meson.build 17diff --git a/gio/meson.build b/gio/meson.build
18index 5f91586..1a95f4f 100644 18index 77cba7b..25d709e 100644
19--- a/gio/meson.build 19--- a/gio/meson.build
20+++ b/gio/meson.build 20+++ b/gio/meson.build
21@@ -884,14 +884,14 @@ pkg.generate(libgio, 21@@ -883,17 +883,18 @@ libgio_dep = declare_dependency(link_with : libgio,
22 pkg.generate(libgio,
23 requires : ['glib-2.0', 'gobject-2.0'],
24 variables : [
25+ 'bindir=' + '${prefix}' / get_option('bindir'),
26 'schemasdir=' + '${datadir}' / schemas_subdir,
22 'dtdsdir=' + '${datadir}' / dtds_subdir, 27 'dtdsdir=' + '${datadir}' / dtds_subdir,
23 'bindir=' + '${prefix}' / get_option('bindir'),
24 'giomoduledir=' + pkgconfig_giomodulesdir, 28 'giomoduledir=' + pkgconfig_giomodulesdir,
25- 'gio=' + '${bindir}' / 'gio', 29- 'gio=' + '${bindir}' / 'gio',
26- 'gio_querymodules=' + pkgconfig_multiarch_bindir / 'gio-querymodules', 30- 'gio_querymodules=' + pkgconfig_multiarch_bindir / 'gio-querymodules',
@@ -42,16 +46,17 @@ index 5f91586..1a95f4f 100644
42 version : glib_version, 46 version : glib_version,
43 install_dir : glib_pkgconfigreldir, 47 install_dir : glib_pkgconfigreldir,
44diff --git a/glib/meson.build b/glib/meson.build 48diff --git a/glib/meson.build b/glib/meson.build
45index c26a35e..1d8ca6b 100644 49index d2efeba..5f5841d 100644
46--- a/glib/meson.build 50--- a/glib/meson.build
47+++ b/glib/meson.build 51+++ b/glib/meson.build
48@@ -447,9 +447,9 @@ pkg.generate(libglib, 52@@ -447,9 +447,10 @@ pkg.generate(libglib,
53 subdirs : ['glib-2.0'],
54 extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags,
49 variables : [ 55 variables : [
50 'bindir=' + '${prefix}' / get_option('bindir'),
51 'datadir=' + '${prefix}' / get_option('datadir'),
52- 'glib_genmarshal=' + '${bindir}' / 'glib-genmarshal', 56- 'glib_genmarshal=' + '${bindir}' / 'glib-genmarshal',
53- 'gobject_query=' + '${bindir}' / 'gobject-query', 57- 'gobject_query=' + '${bindir}' / 'gobject-query',
54- 'glib_mkenums=' + '${bindir}' / 'glib-mkenums', 58- 'glib_mkenums=' + '${bindir}' / 'glib-mkenums',
59+ 'bindir=' + '${prefix}' / get_option('bindir'),
55+ 'glib_genmarshal=glib-genmarshal', 60+ 'glib_genmarshal=glib-genmarshal',
56+ 'gobject_query=gobject-query', 61+ 'gobject_query=gobject-query',
57+ 'glib_mkenums=glib-mkenums', 62+ 'glib_mkenums=glib-mkenums',
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch b/meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch
index eb9dfdbcf9..129bc7f8ae 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch
+++ b/meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch
@@ -1,4 +1,4 @@
1From 9a5d4bf65b658d744d610ee27ecd2ae65b14b158 Mon Sep 17 00:00:00 2001 1From ccb25e8c0bab54eac8ba0e9d7083ce81461ab72a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 15 Mar 2014 22:42:29 -0700 3Date: Sat, 15 Mar 2014 22:42:29 -0700
4Subject: [PATCH] Fix DATADIRNAME on uclibc/Linux 4Subject: [PATCH] Fix DATADIRNAME on uclibc/Linux
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/meta/recipes-core/glib-2.0/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
index ad69f7ec65..3e12f8abbe 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
+++ b/meta/recipes-core/glib-2.0/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
@@ -1,4 +1,4 @@
1From 4933aef791857a5aac650b60af800778658b875b Mon Sep 17 00:00:00 2001 1From caab40411d8520dae77a4b7933ebaffbb00559fe Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com> 2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Tue, 22 Mar 2016 15:14:58 +0200 3Date: Tue, 22 Mar 2016 15:14:58 +0200
4Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM 4Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM
@@ -13,10 +13,10 @@ Upstream-Status: Inappropriate [OE specific]
13 1 file changed, 1 insertion(+) 13 1 file changed, 1 insertion(+)
14 14
15diff --git a/gio/meson.build b/gio/meson.build 15diff --git a/gio/meson.build b/gio/meson.build
16index f9fdf6e..5f91586 100644 16index 59c2b0f..77cba7b 100644
17--- a/gio/meson.build 17--- a/gio/meson.build
18+++ b/gio/meson.build 18+++ b/gio/meson.build
19@@ -1005,6 +1005,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu 19@@ -1007,6 +1007,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu
20 c_args : gio_c_args, 20 c_args : gio_c_args,
21 # intl.lib is not compatible with SAFESEH 21 # intl.lib is not compatible with SAFESEH
22 link_args : noseh_link_args, 22 link_args : noseh_link_args,
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch b/meta/recipes-core/glib-2.0/files/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch
index 0e3a62af6a..9b0b83afa4 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch
+++ b/meta/recipes-core/glib-2.0/files/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch
@@ -1,4 +1,4 @@
1From 8ae2e9c2a04e089306693a021149dc6b7d1bd679 Mon Sep 17 00:00:00 2001 1From 65c036b1ede453e89893076f4ece21c946505096 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Fri, 12 Jun 2015 17:08:46 +0300 3Date: Fri, 12 Jun 2015 17:08:46 +0300
4Subject: [PATCH] Remove the warning about deprecated paths in schemas 4Subject: [PATCH] Remove the warning about deprecated paths in schemas
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/meta/recipes-core/glib-2.0/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
index 32b4cea409..a2f9dd9672 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
+++ b/meta/recipes-core/glib-2.0/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch
@@ -1,4 +1,4 @@
1From c0733f7a91dfe13152abc60c5a3064456b3e9d63 Mon Sep 17 00:00:00 2001 1From 01810df82fae752428d3756c85edb2eb7bbf3c15 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Wed, 13 Feb 2019 15:32:05 +0100 3Date: Wed, 13 Feb 2019 15:32:05 +0100
4Subject: [PATCH] Set host_machine correctly when building with mingw32 4Subject: [PATCH] Set host_machine correctly when building with mingw32
@@ -12,7 +12,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
12 3 files changed, 8 insertions(+), 5 deletions(-) 12 3 files changed, 8 insertions(+), 5 deletions(-)
13 13
14diff --git a/gio/tests/meson.build b/gio/tests/meson.build 14diff --git a/gio/tests/meson.build b/gio/tests/meson.build
15index 4ef3343..e498e7e 100644 15index 232ecca..563298b 100644
16--- a/gio/tests/meson.build 16--- a/gio/tests/meson.build
17+++ b/gio/tests/meson.build 17+++ b/gio/tests/meson.build
18@@ -29,7 +29,7 @@ endif 18@@ -29,7 +29,7 @@ endif
@@ -24,16 +24,16 @@ index 4ef3343..e498e7e 100644
24 common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')] 24 common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')]
25 endif 25 endif
26 26
27@@ -230,7 +230,7 @@ if have_dbus_daemon 27@@ -244,7 +244,7 @@ if have_dbus_daemon
28 endif 28 endif
29 29
30 # Test programs buildable on UNIX only 30 # Test programs buildable on UNIX only
31-if host_machine.system() != 'windows' 31-if host_machine.system() != 'windows'
32+if host_system != 'windows' 32+if host_system != 'windows'
33 gio_tests += { 33 gio_tests += {
34 'file' : {}, 34 'file' : {
35 'gdbus-peer-object-manager' : {}, 35 # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148
36@@ -562,7 +562,7 @@ if host_machine.system() != 'windows' 36@@ -593,7 +593,7 @@ if host_machine.system() != 'windows'
37 endif # unix 37 endif # unix
38 38
39 # Test programs buildable on Windows only 39 # Test programs buildable on Windows only
@@ -42,7 +42,7 @@ index 4ef3343..e498e7e 100644
42 gio_tests += {'win32-streams' : {}} 42 gio_tests += {'win32-streams' : {}}
43 endif 43 endif
44 44
45@@ -632,7 +632,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl' 45@@ -663,7 +663,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl'
46 } 46 }
47 endif 47 endif
48 48
@@ -52,10 +52,10 @@ index 4ef3343..e498e7e 100644
52 'gdbus-example-unix-fd-client' : { 52 'gdbus-example-unix-fd-client' : {
53 'install' : false, 53 'install' : false,
54diff --git a/glib/tests/meson.build b/glib/tests/meson.build 54diff --git a/glib/tests/meson.build b/glib/tests/meson.build
55index d80c86e..5329cda 100644 55index f6efc59..83eb5a5 100644
56--- a/glib/tests/meson.build 56--- a/glib/tests/meson.build
57+++ b/glib/tests/meson.build 57+++ b/glib/tests/meson.build
58@@ -216,7 +216,7 @@ if glib_conf.has('HAVE_EVENTFD') 58@@ -226,7 +226,7 @@ if glib_conf.has('HAVE_EVENTFD')
59 } 59 }
60 endif 60 endif
61 61
@@ -65,7 +65,7 @@ index d80c86e..5329cda 100644
65 glib_tests += { 65 glib_tests += {
66 'gpoll' : { 66 'gpoll' : {
67diff --git a/meson.build b/meson.build 67diff --git a/meson.build b/meson.build
68index 813c9b7..6ee775e 100644 68index 7534542..2560686 100644
69--- a/meson.build 69--- a/meson.build
70+++ b/meson.build 70+++ b/meson.build
71@@ -54,6 +54,9 @@ else 71@@ -54,6 +54,9 @@ else
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch b/meta/recipes-core/glib-2.0/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch
index aee2986033..bb84f3969e 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch
+++ b/meta/recipes-core/glib-2.0/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch
@@ -1,4 +1,4 @@
1From 878e51f82100c698236fda0e069e14ea9249350c Mon Sep 17 00:00:00 2001 1From e8b4f53b567339aad90b585673d55a5c6176535a Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Wed, 8 Jan 2020 18:22:46 +0100 3Date: Wed, 8 Jan 2020 18:22:46 +0100
4Subject: [PATCH] gio/tests/resources.c: comment out a build host-only test 4Subject: [PATCH] gio/tests/resources.c: comment out a build host-only test
@@ -13,7 +13,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
13 1 file changed, 1 insertion(+), 1 deletion(-) 13 1 file changed, 1 insertion(+), 1 deletion(-)
14 14
15diff --git a/gio/tests/resources.c b/gio/tests/resources.c 15diff --git a/gio/tests/resources.c b/gio/tests/resources.c
16index f567914..b21b616 100644 16index f7dc039..f708876 100644
17--- a/gio/tests/resources.c 17--- a/gio/tests/resources.c
18+++ b/gio/tests/resources.c 18+++ b/gio/tests/resources.c
19@@ -1068,7 +1068,7 @@ main (int argc, 19@@ -1068,7 +1068,7 @@ main (int argc,
diff --git a/meta/recipes-core/glib-2.0/files/0001-girepository-introspection-correctly-install-.gir-fi.patch b/meta/recipes-core/glib-2.0/files/0001-girepository-introspection-correctly-install-.gir-fi.patch
new file mode 100644
index 0000000000..76e5f58748
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/files/0001-girepository-introspection-correctly-install-.gir-fi.patch
@@ -0,0 +1,88 @@
1From 4e6be5d15e5d2f8e494d22a3d49b623064f9c1a5 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Tue, 23 Apr 2024 11:24:34 +0200
4Subject: [PATCH] girepository/introspection: correctly install .gir files into
5 custom locations provided via meson option
6
7Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4020]
8Signed-off-by: Alexander Kanavin <alex@linutronix.de>
9---
10 girepository/introspection/meson.build | 9 +++++++++
11 1 file changed, 9 insertions(+)
12
13diff --git a/girepository/introspection/meson.build b/girepository/introspection/meson.build
14index 9405686..862ca61 100644
15--- a/girepository/introspection/meson.build
16+++ b/girepository/introspection/meson.build
17@@ -49,6 +49,7 @@ glib_gir = gnome.generate_gir(libglib,
18 export_packages: 'glib-2.0',
19 header: 'glib.h',
20 install: true,
21+ install_dir_gir: glib_girdir,
22 dependencies: [
23 libgobject_dep,
24 ],
25@@ -76,6 +77,7 @@ if host_system == 'windows'
26 header: 'glib.h',
27 includes: [ glib_gir[0] ],
28 install: true,
29+ install_dir_gir: glib_girdir,
30 dependencies: [
31 libgobject_dep,
32 ],
33@@ -104,6 +106,7 @@ else
34 header: 'glib.h',
35 includes: [ glib_gir[0] ],
36 install: true,
37+ install_dir_gir: glib_girdir,
38 dependencies: [
39 libgobject_dep,
40 ],
41@@ -137,6 +140,7 @@ gobject_gir = gnome.generate_gir(libgobject,
42 header: 'glib-object.h',
43 includes: [ glib_gir[0] ],
44 install: true,
45+ install_dir_gir: glib_girdir,
46 env: gi_gen_env_variables,
47 extra_args: gir_args + [
48 '-DGOBJECT_COMPILATION',
49@@ -162,6 +166,7 @@ gmodule_gir = gnome.generate_gir(libgmodule,
50 header: 'gmodule.h',
51 includes: [ glib_gir[0] ],
52 install: true,
53+ install_dir_gir: glib_girdir,
54 dependencies: [
55 libglib_dep,
56 ],
57@@ -224,6 +229,7 @@ gio_gir = gnome.generate_gir(libgio,
58 header: 'gio/gio.h',
59 includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0] ],
60 install: true,
61+ install_dir_gir: glib_girdir,
62 dependencies: [
63 libglib_dep,
64 libgobject_dep,
65@@ -249,6 +255,7 @@ if host_system == 'windows'
66 header: 'gio/gio.h',
67 includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ],
68 install: true,
69+ install_dir_gir: glib_girdir,
70 dependencies: [
71 libglib_dep,
72 libgobject_dep,
73@@ -277,6 +284,7 @@ else
74 header: 'gio/gio.h',
75 includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ],
76 install: true,
77+ install_dir_gir: glib_girdir,
78 dependencies: [
79 libglib_dep,
80 libgobject_dep,
81@@ -314,6 +322,7 @@ girepository_gir = gnome.generate_gir(libgirepository,
82 header: 'girepository/girepository.h',
83 includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ],
84 install: true,
85+ install_dir_gir: glib_girdir,
86 dependencies: [ libglib_dep, libgobject_dep, libgmodule_dep, libgio_dep ],
87 extra_args: gir_args + libgirepository_gir_args,
88 )
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch b/meta/recipes-core/glib-2.0/files/0001-meson-Run-atomics-test-on-clang-as-well.patch
index 0b10269114..2f80529987 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch
+++ b/meta/recipes-core/glib-2.0/files/0001-meson-Run-atomics-test-on-clang-as-well.patch
@@ -1,4 +1,4 @@
1From b4b523160ef550a53705fcc45ac6e10d086ce491 Mon Sep 17 00:00:00 2001 1From 3dc2e741e18ccb740e98eb4e808ff83153b70e83 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 12 Oct 2019 17:46:26 -0700 3Date: Sat, 12 Oct 2019 17:46:26 -0700
4Subject: [PATCH] meson: Run atomics test on clang as well 4Subject: [PATCH] meson: Run atomics test on clang as well
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 1 file changed, 1 insertion(+), 1 deletion(-) 14 1 file changed, 1 insertion(+), 1 deletion(-)
15 15
16diff --git a/meson.build b/meson.build 16diff --git a/meson.build b/meson.build
17index 6ee775e..8bc5fa7 100644 17index 2560686..5c46d0b 100644
18--- a/meson.build 18--- a/meson.build
19+++ b/meson.build 19+++ b/meson.build
20@@ -1938,7 +1938,7 @@ atomicdefine = ''' 20@@ -2024,7 +2024,7 @@ atomicdefine = '''
21 # We know that we can always use real ("lock free") atomic operations with MSVC 21 # We know that we can always use real ("lock free") atomic operations with MSVC
22 if cc.get_id() == 'msvc' or cc.get_id() == 'clang-cl' or cc.links(atomictest, name : 'atomic ops') 22 if cc.get_id() == 'msvc' or cc.get_id() == 'clang-cl' or cc.links(atomictest, name : 'atomic ops')
23 have_atomic_lock_free = true 23 have_atomic_lock_free = true
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch b/meta/recipes-core/glib-2.0/files/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch
index 14dcb278e0..82955de671 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch
+++ b/meta/recipes-core/glib-2.0/files/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch
@@ -1,4 +1,4 @@
1From 294f3e6e9a0a9f4733e85ed6810d1b743055370b Mon Sep 17 00:00:00 2001 1From 59525eedfbbfe4a16fdd0b340bc3f2479431c7d5 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de> 2From: Alexander Kanavin <alex@linutronix.de>
3Date: Sat, 16 Sep 2023 22:28:27 +0200 3Date: Sat, 16 Sep 2023 22:28:27 +0200
4Subject: [PATCH] meson.build: do not enable pidfd features on native glib 4Subject: [PATCH] meson.build: do not enable pidfd features on native glib
@@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de>
14 1 file changed, 2 insertions(+), 1 deletion(-) 14 1 file changed, 2 insertions(+), 1 deletion(-)
15 15
16diff --git a/meson.build b/meson.build 16diff --git a/meson.build b/meson.build
17index 8bc5fa7..df1fa60 100644 17index 5c46d0b..222c1a1 100644
18--- a/meson.build 18--- a/meson.build
19+++ b/meson.build 19+++ b/meson.build
20@@ -981,7 +981,8 @@ if cc.links('''#include <sys/syscall.h> 20@@ -1022,7 +1022,8 @@ if cc.links('''#include <sys/syscall.h>
21 waitid (P_PIDFD, 0, &child_info, WEXITED | WNOHANG); 21 waitid (P_PIDFD, 0, &child_info, WEXITED | WNOHANG);
22 return 0; 22 return 0;
23 }''', name : 'pidfd_open(2) system call') 23 }''', name : 'pidfd_open(2) system call')
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch b/meta/recipes-core/glib-2.0/files/0010-Do-not-hardcode-python-path-into-various-tools.patch
index 6dff5179c7..a51c186b00 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch
+++ b/meta/recipes-core/glib-2.0/files/0010-Do-not-hardcode-python-path-into-various-tools.patch
@@ -1,4 +1,4 @@
1From 50636758c73e5e61212a8f801c6c602b8aab5ba7 Mon Sep 17 00:00:00 2001 1From e6784ba43af83e22556921786c8f15e4cd246298 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Tue, 3 Oct 2017 10:45:55 +0300 3Date: Tue, 3 Oct 2017 10:45:55 +0300
4Subject: [PATCH] Do not hardcode python path into various tools 4Subject: [PATCH] Do not hardcode python path into various tools
@@ -32,7 +32,7 @@ index aa5af43..56e8e2e 100755
32 # pylint: disable=too-many-lines, missing-docstring, invalid-name 32 # pylint: disable=too-many-lines, missing-docstring, invalid-name
33 33
34diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in 34diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in
35index 353e53a..8ed6c39 100755 35index e10b910..4b619f8 100755
36--- a/gobject/glib-mkenums.in 36--- a/gobject/glib-mkenums.in
37+++ b/gobject/glib-mkenums.in 37+++ b/gobject/glib-mkenums.in
38@@ -1,4 +1,4 @@ 38@@ -1,4 +1,4 @@
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common b/meta/recipes-core/glib-2.0/files/meson.cross.d/common
index 0d7c5fa3f8..0d7c5fa3f8 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common
+++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc
index 3049e5116e..3049e5116e 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc
+++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux
index adad7e62ee..adad7e62ee 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux
+++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw
index 75f911ba1e..75f911ba1e 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw
+++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl
index 3049e5116e..3049e5116e 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl
+++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/meta/recipes-core/glib-2.0/files/relocate-modules.patch
index 3e79bbf679..d6e9019f39 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch
+++ b/meta/recipes-core/glib-2.0/files/relocate-modules.patch
@@ -1,4 +1,4 @@
1From f40e89b3852df37959606ee13b1a14ade81fa886 Mon Sep 17 00:00:00 2001 1From 47ea2576a13d5bc86692b4ba8cb4a8f2fd38c6ca Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@intel.com> 2From: Ross Burton <ross.burton@intel.com>
3Date: Fri, 11 Mar 2016 15:35:55 +0000 3Date: Fri, 11 Mar 2016 15:35:55 +0000
4Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds 4Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds
@@ -18,10 +18,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
18 1 file changed, 7 deletions(-) 18 1 file changed, 7 deletions(-)
19 19
20diff --git a/gio/giomodule.c b/gio/giomodule.c 20diff --git a/gio/giomodule.c b/gio/giomodule.c
21index 17fabe6..8021208 100644 21index 1e14955..3c09bb5 100644
22--- a/gio/giomodule.c 22--- a/gio/giomodule.c
23+++ b/gio/giomodule.c 23+++ b/gio/giomodule.c
24@@ -1271,11 +1271,6 @@ get_gio_module_dir (void) 24@@ -1259,11 +1259,6 @@ get_gio_module_dir (void)
25 g_free (install_dir); 25 g_free (install_dir);
26 #else 26 #else
27 module_dir = g_strdup (GIO_MODULE_DIR); 27 module_dir = g_strdup (GIO_MODULE_DIR);
@@ -33,7 +33,7 @@ index 17fabe6..8021208 100644
33 #include <dlfcn.h> 33 #include <dlfcn.h>
34 { 34 {
35 g_autofree gchar *path = NULL; 35 g_autofree gchar *path = NULL;
36@@ -1294,8 +1289,6 @@ get_gio_module_dir (void) 36@@ -1282,8 +1277,6 @@ get_gio_module_dir (void)
37 } 37 }
38 } 38 }
39 } 39 }
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/run-ptest b/meta/recipes-core/glib-2.0/files/run-ptest
index 831bc3b91f..831bc3b91f 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/run-ptest
+++ b/meta/recipes-core/glib-2.0/files/run-ptest
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch b/meta/recipes-core/glib-2.0/files/skip-timeout.patch
index cd5ac287c3..b1c62cc39c 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch
+++ b/meta/recipes-core/glib-2.0/files/skip-timeout.patch
@@ -1,4 +1,4 @@
1From bb11d1a4ae77d93ec0743e54077cf0f990243fa6 Mon Sep 17 00:00:00 2001 1From 682d8a616ca111c0e45c8a9cb02e992e63c69586 Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@arm.com> 2From: Ross Burton <ross.burton@arm.com>
3Date: Thu, 28 Mar 2024 16:27:09 +0000 3Date: Thu, 28 Mar 2024 16:27:09 +0000
4Subject: [PATCH] Skip /timeout/rounding test 4Subject: [PATCH] Skip /timeout/rounding test
@@ -16,7 +16,7 @@ Signed-off-by: Ross Burton <ross.burton@arm.com>
16 1 file changed, 1 deletion(-) 16 1 file changed, 1 deletion(-)
17 17
18diff --git a/glib/tests/timeout.c b/glib/tests/timeout.c 18diff --git a/glib/tests/timeout.c b/glib/tests/timeout.c
19index 1ae3f3a34..85a715b0f 100644 19index 1ae3f3a..85a715b 100644
20--- a/glib/tests/timeout.c 20--- a/glib/tests/timeout.c
21+++ b/glib/tests/timeout.c 21+++ b/glib/tests/timeout.c
22@@ -214,7 +214,6 @@ main (int argc, char *argv[]) 22@@ -214,7 +214,6 @@ main (int argc, char *argv[])
@@ -27,6 +27,3 @@ index 1ae3f3a34..85a715b0f 100644
27 27
28 return g_test_run (); 28 return g_test_run ();
29 } 29 }
30--
312.34.1
32
diff --git a/meta/recipes-core/glib-2.0/glib-2.0-initial_2.80.0.bb b/meta/recipes-core/glib-2.0/glib-2.0-initial_2.80.0.bb
new file mode 100644
index 0000000000..7da2838265
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0-initial_2.80.0.bb
@@ -0,0 +1,5 @@
1require glib.inc
2PACKAGES = ""
3PACKAGECONFIG = ""
4
5
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch
deleted file mode 100644
index b11c283e6d..0000000000
--- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From a8eb944a10353403241608a084787f6efcbb2eb7 Mon Sep 17 00:00:00 2001
2From: Jordan Williams <jordan@jwillikers.com>
3Date: Fri, 1 Dec 2023 09:53:50 -0600
4Subject: [PATCH] Switch from the deprecated distutils module to the packaging
5 module
6
7The distutils module was removed in Python 3.12.
8
9Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/6ef967a0f930ce37a8c9b5aff969693b34714291]
10
11Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
12---
13 gio/gdbus-2.0/codegen/utils.py | 4 ++--
14 1 file changed, 2 insertions(+), 2 deletions(-)
15
16diff --git a/gio/gdbus-2.0/codegen/utils.py b/gio/gdbus-2.0/codegen/utils.py
17index 0204610..08f1ba9 100644
18--- a/gio/gdbus-2.0/codegen/utils.py
19+++ b/gio/gdbus-2.0/codegen/utils.py
20@@ -19,7 +19,7 @@
21 #
22 # Author: David Zeuthen <davidz@redhat.com>
23
24-import distutils.version
25+import packaging.version
26 import os
27 import sys
28
29@@ -166,4 +166,4 @@ def version_cmp_key(key):
30 v = str(key[0])
31 else:
32 v = "0"
33- return (distutils.version.LooseVersion(v), key[1])
34+ return (packaging.version.Version(v), key[1])
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch b/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch
deleted file mode 100644
index bdfbd55899..0000000000
--- a/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch
+++ /dev/null
@@ -1,54 +0,0 @@
1From cce3ae98a2c1966719daabff5a4ec6cf94a846f6 Mon Sep 17 00:00:00 2001
2From: Philip Withnall <pwithnall@gnome.org>
3Date: Mon, 26 Feb 2024 16:55:44 +0000
4Subject: [PATCH] tests: Remove variable-length lookbehind tests for GRegex
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9PCRE2 10.43 has now introduced support for variable-length lookbehind,
10so these tests now fail if GLib is built against PCRE2 10.43 or higher.
11
12See
13https://github.com/PCRE2Project/pcre2/blob/e8db6fa7137f4c6f66cb87e0a3c9467252ec1ef7/ChangeLog#L94.
14
15Rather than making the tests conditional on the version of PCRE2 in use,
16just remove them. They are mostly testing the PCRE2 code rather than
17any code in GLib, so don’t have much value.
18
19This should fix CI runs on msys2-mingw32, which updated to PCRE2 10.43 2
20days ago.
21
22Signed-off-by: Philip Withnall <pwithnall@gnome.org>
23
24Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/cce3ae98a2c1966719daabff5a4ec6cf94a846f6]
25Signed-off-by: Alexander Kanavin <alex@linutronix.de>
26---
27 glib/tests/regex.c | 10 ----------
28 1 file changed, 10 deletions(-)
29
30diff --git a/glib/tests/regex.c b/glib/tests/regex.c
31index 1082526292..d7a698ec67 100644
32--- a/glib/tests/regex.c
33+++ b/glib/tests/regex.c
34@@ -1885,16 +1885,6 @@ test_lookbehind (void)
35 g_match_info_free (match);
36 g_regex_unref (regex);
37
38- regex = g_regex_new ("(?<!dogs?|cats?) x", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
39- g_assert (regex == NULL);
40- g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND);
41- g_clear_error (&error);
42-
43- regex = g_regex_new ("(?<=ab(c|de)) foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
44- g_assert (regex == NULL);
45- g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND);
46- g_clear_error (&error);
47-
48 regex = g_regex_new ("(?<=abc|abde)foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error);
49 g_assert (regex);
50 g_assert_no_error (error);
51--
52GitLab
53
54
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch b/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch
deleted file mode 100644
index 4f38509da6..0000000000
--- a/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch
+++ /dev/null
@@ -1,361 +0,0 @@
1From ce840b6b111e1e109e511f6833d6aa419e2b723a Mon Sep 17 00:00:00 2001
2From: Philip Withnall <philip@tecnocode.co.uk>
3Date: Tue, 23 Jan 2024 11:16:52 +0000
4Subject: [PATCH] Merge branch '2887-memory-monitor-tests' into 'main'
5
6tests: Fix race condition in memory-monitor-dbus.test
7
8Closes #2887
9
10See merge request GNOME/glib!3844
11
12Hopefully these commits fix the occasional failures we've been seeing:
13https://bugzilla.yoctoproject.org/show_bug.cgi?id=15362
14
15Upstream-Status: Backport
16Signed-off-by: Ross Burton <ross.burton@arm.com>
17---
18 gio/tests/memory-monitor-dbus.py.in | 64 +++++++++++++-------
19 gio/tests/memory-monitor-portal.py.in | 54 ++++++++++-------
20 gio/tests/power-profile-monitor-dbus.py.in | 35 ++++++-----
21 gio/tests/power-profile-monitor-portal.py.in | 34 ++++++-----
22 4 files changed, 113 insertions(+), 74 deletions(-)
23
24diff --git a/gio/tests/memory-monitor-dbus.py.in b/gio/tests/memory-monitor-dbus.py.in
25index bf32918..7aae01e 100755
26--- a/gio/tests/memory-monitor-dbus.py.in
27+++ b/gio/tests/memory-monitor-dbus.py.in
28@@ -16,7 +16,6 @@ import sys
29 import subprocess
30 import fcntl
31 import os
32-import time
33
34 import taptestrunner
35
36@@ -57,53 +56,74 @@ try:
37 fcntl.fcntl(self.p_mock.stdout, fcntl.F_SETFL, flags | os.O_NONBLOCK)
38 self.last_warning = -1
39 self.dbusmock = dbus.Interface(self.obj_lmm, dbusmock.MOCK_IFACE)
40+
41+ try:
42+ self.wait_for_bus_object('org.freedesktop.LowMemoryMonitor',
43+ '/org/freedesktop/LowMemoryMonitor',
44+ system_bus=True)
45+ except:
46+ raise
47+
48 self.memory_monitor = Gio.MemoryMonitor.dup_default()
49+ assert("GMemoryMonitorDBus" in str(self.memory_monitor))
50 self.memory_monitor.connect("low-memory-warning", self.memory_warning_cb)
51 self.mainloop = GLib.MainLoop()
52 self.main_context = self.mainloop.get_context()
53
54+ # The LowMemoryMonitor API is stateless: it doesn’t expose any
55+ # properties, just a warning signal. Emit the signal in a loop until
56+ # the GMemoryMonitor instance has initialised and synchronised to
57+ # the right state.
58+ def emit_warning(level):
59+ self.dbusmock.EmitWarning(level)
60+ return GLib.SOURCE_CONTINUE
61+
62+ idle_id = GLib.idle_add(emit_warning, 0)
63+ while self.last_warning != 0:
64+ self.main_context.iteration(True)
65+ GLib.source_remove(idle_id)
66+
67 def tearDown(self):
68 self.p_mock.terminate()
69 self.p_mock.wait()
70
71- def assertEventually(self, condition, message=None, timeout=50):
72+ def assertEventually(self, condition, message=None, timeout=5):
73 '''Assert that condition function eventually returns True.
74
75- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is
76+ Timeout is in seconds, defaulting to 5 seconds. message is
77 printed on failure.
78 '''
79- while timeout >= 0:
80- context = GLib.MainContext.default()
81- while context.iteration(False):
82- pass
83- if condition():
84- break
85- timeout -= 1
86- time.sleep(0.1)
87- else:
88- self.fail(message or 'timed out waiting for ' + str(condition))
89+ if not message:
90+ message = 'timed out waiting for ' + str(condition)
91+
92+ def timed_out_cb(message):
93+ self.fail(message)
94+ return GLib.SOURCE_REMOVE
95+
96+ timeout_source = GLib.timeout_source_new_seconds(timeout)
97+ timeout_source.set_callback(timed_out_cb, message)
98+ timeout_source.attach(self.main_context)
99+
100+ while not condition():
101+ self.main_context.iteration(True)
102+
103+ timeout_source.destroy()
104
105 def memory_warning_cb(self, monitor, level):
106+ print("Received memory warning signal, level", level)
107 self.last_warning = level
108 self.main_context.wakeup()
109
110 def test_low_memory_warning_signal(self):
111 '''LowMemoryWarning signal'''
112
113- # Wait 2 seconds
114- timeout = 2
115- while timeout > 0:
116- time.sleep(0.5)
117- timeout -= 0.5
118- self.main_context.iteration(False)
119-
120 self.dbusmock.EmitWarning(100)
121 # Wait 2 seconds or until warning
122- self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20)
123+ self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 2)
124
125 self.dbusmock.EmitWarning(255)
126 # Wait 2 seconds or until warning
127- self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20)
128+ self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 2)
129
130 except ImportError as e:
131 @unittest.skip("Cannot import %s" % e.name)
132diff --git a/gio/tests/memory-monitor-portal.py.in b/gio/tests/memory-monitor-portal.py.in
133index 748cee8..f570508 100755
134--- a/gio/tests/memory-monitor-portal.py.in
135+++ b/gio/tests/memory-monitor-portal.py.in
136@@ -16,7 +16,6 @@ import sys
137 import subprocess
138 import fcntl
139 import os
140-import time
141
142 import taptestrunner
143
144@@ -80,26 +79,44 @@ try:
145 self.mainloop = GLib.MainLoop()
146 self.main_context = self.mainloop.get_context()
147
148+ # The LowMemoryMonitor API is stateless: it doesn’t expose any
149+ # properties, just a warning signal. Emit the signal in a loop until
150+ # the GMemoryMonitor instance has initialised and synchronised to
151+ # the right state.
152+ def emit_warning(level):
153+ self.dbusmock.EmitWarning(level)
154+ return GLib.SOURCE_CONTINUE
155+
156+ idle_id = GLib.idle_add(self.emit_warning, 0)
157+ while self.last_warning != 0:
158+ self.main_context.iteration(True)
159+ GLib.source_remove(idle_id)
160+
161 def tearDown(self):
162 self.p_mock.terminate()
163 self.p_mock.wait()
164
165- def assertEventually(self, condition, message=None, timeout=50):
166+ def assertEventually(self, condition, message=None, timeout=5):
167 '''Assert that condition function eventually returns True.
168
169- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is
170+ Timeout is in seconds, defaulting to 5 seconds. message is
171 printed on failure.
172 '''
173- while timeout >= 0:
174- context = GLib.MainContext.default()
175- while context.iteration(False):
176- pass
177- if condition():
178- break
179- timeout -= 1
180- time.sleep(0.1)
181- else:
182- self.fail(message or 'timed out waiting for ' + str(condition))
183+ if not message:
184+ message = 'timed out waiting for ' + str(condition)
185+
186+ def timed_out_cb(message):
187+ self.fail(message)
188+ return GLib.SOURCE_REMOVE
189+
190+ timeout_source = GLib.timeout_source_new_seconds(timeout)
191+ timeout_source.set_callback(timed_out_cb, message)
192+ timeout_source.attach(self.main_context)
193+
194+ while not condition():
195+ self.main_context.iteration(True)
196+
197+ timeout_source.destroy()
198
199 def portal_memory_warning_cb(self, monitor, level):
200 self.last_warning = level
201@@ -108,20 +125,13 @@ try:
202 def test_low_memory_warning_portal_signal(self):
203 '''LowMemoryWarning signal'''
204
205- # Wait 2 seconds
206- timeout = 2
207- while timeout > 0:
208- time.sleep(0.5)
209- timeout -= 0.5
210- self.main_context.iteration(False)
211-
212 self.dbusmock.EmitWarning(100)
213 # Wait 2 seconds or until warning
214- self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20)
215+ self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 2)
216
217 self.dbusmock.EmitWarning(255)
218 # Wait 2 seconds or until warning
219- self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20)
220+ self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 2)
221
222 except ImportError as e:
223 @unittest.skip("Cannot import %s" % e.name)
224diff --git a/gio/tests/power-profile-monitor-dbus.py.in b/gio/tests/power-profile-monitor-dbus.py.in
225index 06e594f..f955afc 100755
226--- a/gio/tests/power-profile-monitor-dbus.py.in
227+++ b/gio/tests/power-profile-monitor-dbus.py.in
228@@ -16,7 +16,6 @@ import sys
229 import subprocess
230 import fcntl
231 import os
232-import time
233
234 import taptestrunner
235
236@@ -58,6 +57,7 @@ try:
237 self.power_saver_enabled = False
238 self.dbus_props = dbus.Interface(self.obj_ppd, dbus.PROPERTIES_IFACE)
239 self.power_profile_monitor = Gio.PowerProfileMonitor.dup_default()
240+ assert("GPowerProfileMonitorDBus" in str(self.power_profile_monitor))
241 self.power_profile_monitor.connect("notify::power-saver-enabled", self.power_saver_enabled_cb)
242 self.mainloop = GLib.MainLoop()
243 self.main_context = self.mainloop.get_context()
244@@ -66,22 +66,27 @@ try:
245 self.p_mock.terminate()
246 self.p_mock.wait()
247
248- def assertEventually(self, condition, message=None, timeout=50):
249+ def assertEventually(self, condition, message=None, timeout=5):
250 '''Assert that condition function eventually returns True.
251
252- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is
253+ Timeout is in seconds, defaulting to 5 seconds. message is
254 printed on failure.
255 '''
256- while timeout >= 0:
257- context = GLib.MainContext.default()
258- while context.iteration(False):
259- pass
260- if condition():
261- break
262- timeout -= 1
263- time.sleep(0.1)
264- else:
265- self.fail(message or 'timed out waiting for ' + str(condition))
266+ if not message:
267+ message = 'timed out waiting for ' + str(condition)
268+
269+ def timed_out_cb(message):
270+ self.fail(message)
271+ return GLib.SOURCE_REMOVE
272+
273+ timeout_source = GLib.timeout_source_new_seconds(timeout)
274+ timeout_source.set_callback(timed_out_cb, message)
275+ timeout_source.attach(self.main_context)
276+
277+ while not condition():
278+ self.main_context.iteration(True)
279+
280+ timeout_source.destroy()
281
282 def power_saver_enabled_cb(self, spec, data):
283 self.power_saver_enabled = self.power_profile_monitor.get_power_saver_enabled()
284@@ -92,10 +97,10 @@ try:
285
286 self.assertEqual(self.power_profile_monitor.get_power_saver_enabled(), False)
287 self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('power-saver', variant_level=1))
288- self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 10)
289+ self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 1)
290
291 self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('balanced', variant_level=1))
292- self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 10)
293+ self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 1)
294
295 except ImportError as e:
296 @unittest.skip("Cannot import %s" % e.name)
297diff --git a/gio/tests/power-profile-monitor-portal.py.in b/gio/tests/power-profile-monitor-portal.py.in
298index 09e9a45..ad2abf6 100755
299--- a/gio/tests/power-profile-monitor-portal.py.in
300+++ b/gio/tests/power-profile-monitor-portal.py.in
301@@ -16,7 +16,6 @@ import sys
302 import subprocess
303 import fcntl
304 import os
305-import time
306
307 import taptestrunner
308
309@@ -90,22 +89,27 @@ try:
310 self.p_mock.terminate()
311 self.p_mock.wait()
312
313- def assertEventually(self, condition, message=None, timeout=50):
314+ def assertEventually(self, condition, message=None, timeout=5):
315 '''Assert that condition function eventually returns True.
316
317- Timeout is in deciseconds, defaulting to 50 (5 seconds). message is
318+ Timeout is in seconds, defaulting to 5 seconds. message is
319 printed on failure.
320 '''
321- while timeout >= 0:
322- context = GLib.MainContext.default()
323- while context.iteration(False):
324- pass
325- if condition():
326- break
327- timeout -= 1
328- time.sleep(0.1)
329- else:
330- self.fail(message or 'timed out waiting for ' + str(condition))
331+ if not message:
332+ message = 'timed out waiting for ' + str(condition)
333+
334+ def timed_out_cb(message):
335+ self.fail(message)
336+ return GLib.SOURCE_REMOVE
337+
338+ timeout_source = GLib.timeout_source_new_seconds(timeout)
339+ timeout_source.set_callback(timed_out_cb, message)
340+ timeout_source.attach(self.main_context)
341+
342+ while not condition():
343+ self.main_context.iteration(True)
344+
345+ timeout_source.destroy()
346
347 def power_saver_enabled_cb(self, spec, data):
348 self.power_saver_enabled = self.power_profile_monitor.get_power_saver_enabled()
349@@ -116,10 +120,10 @@ try:
350
351 self.assertEqual(self.power_profile_monitor.get_power_saver_enabled(), False)
352 self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('power-saver', variant_level=1))
353- self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 10)
354+ self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 1)
355
356 self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('balanced', variant_level=1))
357- self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 10)
358+ self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 1)
359
360 def test_power_profile_power_saver_enabled_portal_default(self):
361 '''power-saver-enabled property default value'''
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb
deleted file mode 100644
index b1669ead75..0000000000
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb
+++ /dev/null
@@ -1,57 +0,0 @@
1require glib.inc
2
3PE = "1"
4
5SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
6
7SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
8 file://run-ptest \
9 file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \
10 file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
11 file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
12 file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
13 file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \
14 file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
15 file://0001-meson-Run-atomics-test-on-clang-as-well.patch \
16 file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
17 file://0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch \
18 file://memory-monitor.patch \
19 file://fix-regex.patch \
20 file://skip-timeout.patch \
21 "
22SRC_URI:append:class-native = " file://relocate-modules.patch \
23 file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \
24 "
25
26SRC_URI[sha256sum] = "24b8e0672dca120cc32d394bccb85844e732e04fe75d18bb0573b2dbc7548f63"
27
28# Find any meson cross files in FILESPATH that are relevant for the current
29# build (using siteinfo) and add them to EXTRA_OEMESON.
30inherit siteinfo
31def find_meson_cross_files(d):
32 if bb.data.inherits_class('native', d):
33 return ""
34
35 thisdir = os.path.normpath(d.getVar("THISDIR"))
36 import collections
37 sitedata = siteinfo_data(d)
38 # filename -> found
39 files = collections.OrderedDict()
40 for path in d.getVar("FILESPATH").split(":"):
41 for element in sitedata:
42 filename = os.path.normpath(os.path.join(path, "meson.cross.d", element))
43 sanitized_path = filename.replace(thisdir, "${THISDIR}")
44 if sanitized_path == filename:
45 if os.path.exists(filename):
46 bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir))
47 continue
48 files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename)
49
50 items = ["--cross-file=" + k for k,v in files.items() if v]
51 d.appendVar("EXTRA_OEMESON", " " + " ".join(items))
52 items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()]
53 d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items))
54
55python () {
56 find_meson_cross_files(d)
57}
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.80.0.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.80.0.bb
new file mode 100644
index 0000000000..e22810a55b
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.80.0.bb
@@ -0,0 +1 @@
require glib.inc
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc
index fac8875d84..1a97a0d02a 100644
--- a/meta/recipes-core/glib-2.0/glib.inc
+++ b/meta/recipes-core/glib-2.0/glib.inc
@@ -28,21 +28,26 @@ PACKAGES += "${PN}-codegen ${PN}-utils"
28 28
29LEAD_SONAME = "libglib-2.0.*" 29LEAD_SONAME = "libglib-2.0.*"
30 30
31inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages gobject-introspection-data 31inherit meson gettext gi-docgen pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages gobject-introspection-data
32
33GTKDOC_MESON_OPTION = "gtk_doc"
34 32
35S = "${WORKDIR}/glib-${PV}" 33S = "${WORKDIR}/glib-${PV}"
36 34
35GIDOCGEN_MESON_OPTION = "documentation"
36
37PACKAGECONFIG ??= "libmount \ 37PACKAGECONFIG ??= "libmount \
38 ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'introspection', '', d)} \
38 ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" 39 ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
40PACKAGECONFIG:class-native = ""
41
39PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux" 42PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux"
40PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native" 43PACKAGECONFIG[manpages] = "-Dman-pages=enabled, -Dman-pages=disabled, python3-docutils-native"
41PACKAGECONFIG[libelf] = "-Dlibelf=enabled,-Dlibelf=disabled,elfutils" 44PACKAGECONFIG[libelf] = "-Dlibelf=enabled,-Dlibelf=disabled,elfutils"
42PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false," 45PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,"
43PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux" 46PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux"
47PACKAGECONFIG[introspection] = "-Dintrospection=enabled,-Dintrospection=disabled,gobject-introspection-native gobject-introspection glib-2.0-initial"
44 48
45EXTRA_OEMESON = "-Ddtrace=false -Dsystemtap=false" 49EXTRA_OEMESON = "-Ddtrace=false -Dsystemtap=false"
50EXTRA_OEMESON:append:class-target = " ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''}"
46 51
47do_configure:prepend() { 52do_configure:prepend() {
48 sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in 53 sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in
@@ -53,14 +58,16 @@ FILES:${PN} = "${libdir}/lib*${SOLIBS} \
53 ${libexecdir}/*gio-querymodules \ 58 ${libexecdir}/*gio-querymodules \
54 ${libexecdir}/*gio-launch-desktop \ 59 ${libexecdir}/*gio-launch-desktop \
55 ${datadir}/glib-2.0/dtds \ 60 ${datadir}/glib-2.0/dtds \
56 ${datadir}/glib-2.0/schemas" 61 ${datadir}/glib-2.0/schemas \
57 62 ${libdir}/girepository-*/*.typelib \
63"
58FILES:${PN}-dev += "${libdir}/glib-2.0/include \ 64FILES:${PN}-dev += "${libdir}/glib-2.0/include \
59 ${libdir}/gio/modules/lib*${SOLIBSDEV} \ 65 ${libdir}/gio/modules/lib*${SOLIBSDEV} \
60 ${libdir}/gio/modules/*.la \ 66 ${libdir}/gio/modules/*.la \
61 ${datadir}/glib-2.0/gettext/po/Makefile.in.in \ 67 ${datadir}/glib-2.0/gettext/po/Makefile.in.in \
62 ${datadir}/glib-2.0/schemas/gschema.dtd \ 68 ${datadir}/glib-2.0/schemas/gschema.dtd \
63 ${datadir}/glib-2.0/valgrind/glib.supp \ 69 ${datadir}/glib-2.0/valgrind/glib.supp \
70 ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir \
64 ${datadir}/gettext/its" 71 ${datadir}/gettext/its"
65FILES:${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb" 72FILES:${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb"
66FILES:${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \ 73FILES:${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \
@@ -204,3 +211,57 @@ RDEPENDS:${PN}-ptest:append:libc-glibc = "\
204 locale-base-pl-pl.iso-8859-2 \ 211 locale-base-pl-pl.iso-8859-2 \
205 locale-base-tr-tr \ 212 locale-base-tr-tr \
206 " 213 "
214
215PE = "1"
216
217SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
218
219SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
220 file://run-ptest \
221 file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \
222 file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \
223 file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \
224 file://0010-Do-not-hardcode-python-path-into-various-tools.patch \
225 file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \
226 file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
227 file://0001-meson-Run-atomics-test-on-clang-as-well.patch \
228 file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
229 file://skip-timeout.patch \
230 file://0001-girepository-introspection-correctly-install-.gir-fi.patch \
231 "
232SRC_URI:append:class-native = " file://relocate-modules.patch \
233 file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \
234 "
235
236SRC_URI[sha256sum] = "8228a92f92a412160b139ae68b6345bd28f24434a7b5af150ebe21ff587a561d"
237
238# Find any meson cross files in FILESPATH that are relevant for the current
239# build (using siteinfo) and add them to EXTRA_OEMESON.
240inherit siteinfo
241def find_meson_cross_files(d):
242 if bb.data.inherits_class('native', d):
243 return ""
244
245 thisdir = os.path.normpath(d.getVar("THISDIR"))
246 import collections
247 sitedata = siteinfo_data(d)
248 # filename -> found
249 files = collections.OrderedDict()
250 for path in d.getVar("FILESPATH").split(":"):
251 for element in sitedata:
252 filename = os.path.normpath(os.path.join(path, "meson.cross.d", element))
253 sanitized_path = filename.replace(thisdir, "${THISDIR}")
254 if sanitized_path == filename:
255 if os.path.exists(filename):
256 bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir))
257 continue
258 files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename)
259
260 items = ["--cross-file=" + k for k,v in files.items() if v]
261 d.appendVar("EXTRA_OEMESON", " " + " ".join(items))
262 items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()]
263 d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items))
264
265python () {
266 find_meson_cross_files(d)
267}
diff --git a/meta/recipes-core/glibc/glibc-common.inc b/meta/recipes-core/glibc/glibc-common.inc
index b9516e77f0..91a3f5bcd5 100644
--- a/meta/recipes-core/glibc/glibc-common.inc
+++ b/meta/recipes-core/glibc/glibc-common.inc
@@ -2,7 +2,7 @@ SUMMARY = "GLIBC (GNU C Library)"
2DESCRIPTION = "The GNU C Library is used as the system C library in most systems with the Linux kernel." 2DESCRIPTION = "The GNU C Library is used as the system C library in most systems with the Linux kernel."
3HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" 3HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
4SECTION = "libs" 4SECTION = "libs"
5LICENSE = "GPL-2.0-only & LGPL-2.1-only" 5LICENSE = "GPL-2.0-only & LGPL-2.1-or-later"
6 6
7LIC_FILES_CHKSUM ?= "file://LICENSES;md5=f77e878d320e99e94ae9a4aea7f491d1 \ 7LIC_FILES_CHKSUM ?= "file://LICENSES;md5=f77e878d320e99e94ae9a4aea7f491d1 \
8 file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 8 file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc
index 1ef987be0a..0c5e3b4c3d 100644
--- a/meta/recipes-core/glibc/glibc-package.inc
+++ b/meta/recipes-core/glibc/glibc-package.inc
@@ -69,9 +69,9 @@ inherit multilib_header
69 69
70do_install() { 70do_install() {
71 oe_runmake install_root=${D} install 71 oe_runmake install_root=${D} install
72 install -Dm 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ld.so.conf 72 install -Dm 0644 ${UNPACKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ld.so.conf
73 install -d ${D}${localedir} 73 install -d ${D}${localedir}
74 make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED" 74 make -f ${UNPACKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED"
75 # get rid of some broken files... 75 # get rid of some broken files...
76 for i in ${GLIBC_BROKEN_LOCALES}; do 76 for i in ${GLIBC_BROKEN_LOCALES}; do
77 sed -i "/$i/d" ${WORKDIR}/SUPPORTED 77 sed -i "/$i/d" ${WORKDIR}/SUPPORTED
@@ -101,7 +101,7 @@ do_install() {
101 install -d ${D}${localstatedir}/db/nscd 101 install -d ${D}${localstatedir}/db/nscd
102 install -m 0755 ${S}/nscd/nscd.init ${D}${sysconfdir}/init.d/nscd 102 install -m 0755 ${S}/nscd/nscd.init ${D}${sysconfdir}/init.d/nscd
103 install -m 0755 ${S}/nscd/nscd.conf ${D}${sysconfdir}/nscd.conf 103 install -m 0755 ${S}/nscd/nscd.conf ${D}${sysconfdir}/nscd.conf
104 install -m 0755 ${WORKDIR}/makedbs.sh ${D}${localstatedir}/db 104 install -m 0755 ${UNPACKDIR}/makedbs.sh ${D}${localstatedir}/db
105 sed -i "s%daemon%start-stop-daemon --start --exec%g" ${D}${sysconfdir}/init.d/nscd 105 sed -i "s%daemon%start-stop-daemon --start --exec%g" ${D}${sysconfdir}/init.d/nscd
106 sed -i "s|\(enable-cache\t\+netgroup\t\+\)yes|\1no|" ${D}${sysconfdir}/nscd.conf 106 sed -i "s|\(enable-cache\t\+netgroup\t\+\)yes|\1no|" ${D}${sysconfdir}/nscd.conf
107 107
diff --git a/meta/recipes-core/glibc/glibc-testsuite_2.39.bb b/meta/recipes-core/glibc/glibc-testsuite_2.39.bb
index 2e076f4b0f..3a2764e40b 100644
--- a/meta/recipes-core/glibc/glibc-testsuite_2.39.bb
+++ b/meta/recipes-core/glibc/glibc-testsuite_2.39.bb
@@ -18,7 +18,7 @@ TOOLCHAIN_TEST_HOST_PORT ??= "2222"
18do_check[nostamp] = "1" 18do_check[nostamp] = "1"
19do_check[network] = "1" 19do_check[network] = "1"
20do_check:append () { 20do_check:append () {
21 chmod 0755 ${WORKDIR}/check-test-wrapper 21 chmod 0755 ${UNPACKDIR}/check-test-wrapper
22 22
23 oe_runmake -i \ 23 oe_runmake -i \
24 QEMU_SYSROOT="${RECIPE_SYSROOT}" \ 24 QEMU_SYSROOT="${RECIPE_SYSROOT}" \
@@ -26,7 +26,7 @@ do_check:append () {
26 SSH_HOST="${TOOLCHAIN_TEST_HOST}" \ 26 SSH_HOST="${TOOLCHAIN_TEST_HOST}" \
27 SSH_HOST_USER="${TOOLCHAIN_TEST_HOST_USER}" \ 27 SSH_HOST_USER="${TOOLCHAIN_TEST_HOST_USER}" \
28 SSH_HOST_PORT="${TOOLCHAIN_TEST_HOST_PORT}" \ 28 SSH_HOST_PORT="${TOOLCHAIN_TEST_HOST_PORT}" \
29 test-wrapper="${WORKDIR}/check-test-wrapper ${TOOLCHAIN_TEST_TARGET}" \ 29 test-wrapper="${UNPACKDIR}/check-test-wrapper ${TOOLCHAIN_TEST_TARGET}" \
30 check 30 check
31} 31}
32 32
diff --git a/meta/recipes-core/glibc/glibc-version.inc b/meta/recipes-core/glibc/glibc-version.inc
index 618a574566..1e4a323d64 100644
--- a/meta/recipes-core/glibc/glibc-version.inc
+++ b/meta/recipes-core/glibc/glibc-version.inc
@@ -1,6 +1,6 @@
1SRCBRANCH ?= "release/2.39/master" 1SRCBRANCH ?= "release/2.39/master"
2PV = "2.39+git" 2PV = "2.39+git"
3SRCREV_glibc ?= "1b9c1a0047fb26a65a9b2a7b8cd977243f7d353c" 3SRCREV_glibc ?= "273a835fe7c685cc54266bb8b502787bad5e9bae"
4SRCREV_localedef ?= "fab74f31b3811df543e24b6de47efdf45b538abc" 4SRCREV_localedef ?= "fab74f31b3811df543e24b6de47efdf45b538abc"
5 5
6GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https" 6GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https"
diff --git a/meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb b/meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb
index be49ca4cb7..b760230aec 100644
--- a/meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb
+++ b/meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb
@@ -76,7 +76,7 @@ do_install_ptest_base () {
76 done 76 done
77 77
78 install -d ${D}${PTEST_PATH} 78 install -d ${D}${PTEST_PATH}
79 cp ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/ 79 cp ${UNPACKDIR}/run-ptest ${D}${PTEST_PATH}/
80 80
81} 81}
82 82
diff --git a/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch b/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
index 066c3b1ea2..9bdfa76318 100644
--- a/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
+++ b/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
@@ -11,16 +11,15 @@ Upstream-Status: Inappropriate [ OE-Specific ]
11 11
12Signed-off-by: Khem Raj <raj.khem@gmail.com> 12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13--- 13---
14 sysdeps/aarch64/bits/wordsize.h | 8 ++++++-- 14 sysdeps/aarch64/bits/wordsize.h | 11 +++++++++--
15 sysdeps/arm/bits/wordsize.h | 1 + 15 sysdeps/arm/bits/wordsize.h | 22 +---------------------
16 2 files changed, 7 insertions(+), 2 deletions(-) 16 2 files changed, 10 insertions(+), 23 deletions(-)
17 create mode 120000 sysdeps/arm/bits/wordsize.h
18 17
19diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h 18diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h
20index 118e59172d..b4b0692eb5 100644 19index 118e59172d..ff86359fe8 100644
21--- a/sysdeps/aarch64/bits/wordsize.h 20--- a/sysdeps/aarch64/bits/wordsize.h
22+++ b/sysdeps/aarch64/bits/wordsize.h 21+++ b/sysdeps/aarch64/bits/wordsize.h
23@@ -17,12 +17,16 @@ 22@@ -17,12 +17,19 @@
24 License along with the GNU C Library; if not, see 23 License along with the GNU C Library; if not, see
25 <https://www.gnu.org/licenses/>. */ 24 <https://www.gnu.org/licenses/>. */
26 25
@@ -33,12 +32,42 @@ index 118e59172d..b4b0692eb5 100644
33 # define __WORDSIZE32_SIZE_ULONG 1 32 # define __WORDSIZE32_SIZE_ULONG 1
34 # define __WORDSIZE32_PTRDIFF_LONG 1 33 # define __WORDSIZE32_PTRDIFF_LONG 1
35+#else 34+#else
36+# define __WORDSIZE 32 35+#define __WORDSIZE 32
37+# define __WORDSIZE32_SIZE_ULONG 0 36+#define __WORDSIZE_TIME64_COMPAT32 1
38+# define __WORDSIZE32_PTRDIFF_LONG 0 37+#define __WORDSIZE32_SIZE_ULONG 0
38+#define __WORDSIZE32_PTRDIFF_LONG 0
39 #endif 39 #endif
40 40
41+#ifdef __aarch64__
41 #define __WORDSIZE_TIME64_COMPAT32 0 42 #define __WORDSIZE_TIME64_COMPAT32 0
43+#endif
44diff --git a/sysdeps/arm/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h
45deleted file mode 100644
46index 6ecbfe7c86..0000000000
47--- a/sysdeps/arm/bits/wordsize.h
48+++ /dev/null
49@@ -1,21 +0,0 @@
50-/* Copyright (C) 1999-2024 Free Software Foundation, Inc.
51- This file is part of the GNU C Library.
52-
53- The GNU C Library is free software; you can redistribute it and/or
54- modify it under the terms of the GNU Lesser General Public
55- License as published by the Free Software Foundation; either
56- version 2.1 of the License, or (at your option) any later version.
57-
58- The GNU C Library is distributed in the hope that it will be useful,
59- but WITHOUT ANY WARRANTY; without even the implied warranty of
60- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
61- Lesser General Public License for more details.
62-
63- You should have received a copy of the GNU Lesser General Public
64- License along with the GNU C Library; if not, see
65- <https://www.gnu.org/licenses/>. */
66-
67-#define __WORDSIZE 32
68-#define __WORDSIZE_TIME64_COMPAT32 1
69-#define __WORDSIZE32_SIZE_ULONG 0
70-#define __WORDSIZE32_PTRDIFF_LONG 0
42diff --git a/sysdeps/arm/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h 71diff --git a/sysdeps/arm/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h
43new file mode 120000 72new file mode 120000
44index 0000000000..4c4a788ec2 73index 0000000000..4c4a788ec2
diff --git a/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch b/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch
deleted file mode 100644
index f6523c5498..0000000000
--- a/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch
+++ /dev/null
@@ -1,62 +0,0 @@
1From 73c26018ed0ecd9c807bb363cc2c2ab4aca66a82 Mon Sep 17 00:00:00 2001
2From: Szabolcs Nagy <szabolcs.nagy@arm.com>
3Date: Wed, 13 Mar 2024 14:34:14 +0000
4Subject: [PATCH] aarch64: fix check for SVE support in assembler
5
6Due to GCC bug 110901 -mcpu can override -march setting when compiling
7asm code and thus a compiler targetting a specific cpu can fail the
8configure check even when binutils gas supports SVE.
9
10The workaround is that explicit .arch directive overrides both -mcpu
11and -march, and since that's what the actual SVE memcpy uses the
12configure check should use that too even if the GCC issue is fixed
13independently.
14
15Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=73c26018ed0ecd9c807bb363cc2c2ab4aca66a82]
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17Reviewed-by: Florian Weimer <fweimer@redhat.com>
18---
19 sysdeps/aarch64/configure | 5 +++--
20 sysdeps/aarch64/configure.ac | 5 +++--
21 2 files changed, 6 insertions(+), 4 deletions(-)
22 mode change 100644 => 100755 sysdeps/aarch64/configure
23
24diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure
25old mode 100644
26new mode 100755
27index ca57edce47..9606137e8d
28--- a/sysdeps/aarch64/configure
29+++ b/sysdeps/aarch64/configure
30@@ -325,9 +325,10 @@ then :
31 printf %s "(cached) " >&6
32 else $as_nop
33 cat > conftest.s <<\EOF
34- ptrue p0.b
35+ .arch armv8.2-a+sve
36+ ptrue p0.b
37 EOF
38-if { ac_try='${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&5'
39+if { ac_try='${CC-cc} -c conftest.s 1>&5'
40 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
41 (eval $ac_try) 2>&5
42 ac_status=$?
43diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac
44index 27874eceb4..56d12d661d 100644
45--- a/sysdeps/aarch64/configure.ac
46+++ b/sysdeps/aarch64/configure.ac
47@@ -90,9 +90,10 @@ LIBC_CONFIG_VAR([aarch64-variant-pcs], [$libc_cv_aarch64_variant_pcs])
48 # Check if asm support armv8.2-a+sve
49 AC_CACHE_CHECK([for SVE support in assembler], [libc_cv_aarch64_sve_asm], [dnl
50 cat > conftest.s <<\EOF
51- ptrue p0.b
52+ .arch armv8.2-a+sve
53+ ptrue p0.b
54 EOF
55-if AC_TRY_COMMAND(${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&AS_MESSAGE_LOG_FD); then
56+if AC_TRY_COMMAND(${CC-cc} -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
57 libc_cv_aarch64_sve_asm=yes
58 else
59 libc_cv_aarch64_sve_asm=no
60--
612.44.0
62
diff --git a/meta/recipes-core/glibc/glibc/0024-qemu-stale-process.patch b/meta/recipes-core/glibc/glibc/0023-qemu-stale-process.patch
index c0a467fcec..c0a467fcec 100644
--- a/meta/recipes-core/glibc/glibc/0024-qemu-stale-process.patch
+++ b/meta/recipes-core/glibc/glibc/0023-qemu-stale-process.patch
diff --git a/meta/recipes-core/glibc/glibc_2.39.bb b/meta/recipes-core/glibc/glibc_2.39.bb
index 9122472689..2484ae1cd9 100644
--- a/meta/recipes-core/glibc/glibc_2.39.bb
+++ b/meta/recipes-core/glibc/glibc_2.39.bb
@@ -16,6 +16,10 @@ CVE_STATUS[CVE-2019-1010025] = "disputed: \
16Allows for ASLR bypass so can bypass some hardening, not an exploit in itself, may allow \ 16Allows for ASLR bypass so can bypass some hardening, not an exploit in itself, may allow \
17easier access for another. 'ASLR bypass itself is not a vulnerability.'" 17easier access for another. 'ASLR bypass itself is not a vulnerability.'"
18 18
19CVE_STATUS_GROUPS += "CVE_STATUS_STABLE_BACKPORTS"
20CVE_STATUS_STABLE_BACKPORTS = "CVE-2024-2961 CVE-2024-33599 CVE-2024-33600 CVE-2024-33601 CVE-2024-33602"
21CVE_STATUS_STABLE_BACKPORTS[status] = "cpe-stable-backport: fix available in used git hash"
22
19DEPENDS += "gperf-native bison-native" 23DEPENDS += "gperf-native bison-native"
20 24
21NATIVESDKFIXES ?= "" 25NATIVESDKFIXES ?= ""
@@ -48,8 +52,7 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
48 file://0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch \ 52 file://0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch \
49 file://0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \ 53 file://0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \
50 file://0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \ 54 file://0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \
51 file://0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch \ 55 file://0023-qemu-stale-process.patch \
52 file://0024-qemu-stale-process.patch \
53" 56"
54S = "${WORKDIR}/git" 57S = "${WORKDIR}/git"
55B = "${WORKDIR}/build-${TARGET_SYS}" 58B = "${WORKDIR}/build-${TARGET_SYS}"
diff --git a/meta/recipes-core/ifupdown/ifupdown_0.8.41.bb b/meta/recipes-core/ifupdown/ifupdown_0.8.41.bb
index 16425ea9e4..c7004ab41d 100644
--- a/meta/recipes-core/ifupdown/ifupdown_0.8.41.bb
+++ b/meta/recipes-core/ifupdown/ifupdown_0.8.41.bb
@@ -35,7 +35,7 @@ do_install () {
35 35
36 # If volatiles are used, then we'll also need /run/network there too. 36 # If volatiles are used, then we'll also need /run/network there too.
37 install -d ${D}/etc/default/volatiles 37 install -d ${D}/etc/default/volatiles
38 install -m 0644 ${WORKDIR}/99_network ${D}/etc/default/volatiles 38 install -m 0644 ${UNPACKDIR}/99_network ${D}/etc/default/volatiles
39 39
40 install -m 0755 ifup ${D}${base_sbindir}/ 40 install -m 0755 ifup ${D}${base_sbindir}/
41 ln ${D}${base_sbindir}/ifup ${D}${base_sbindir}/ifdown 41 ln ${D}${base_sbindir}/ifup ${D}${base_sbindir}/ifdown
diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index 4cf55519cc..e406968df2 100644
--- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -44,10 +44,10 @@ IMAGE_CMD:ext4:append () {
44fakeroot do_populate_poky_src () { 44fakeroot do_populate_poky_src () {
45 # Because fetch2's git's unpack uses -s cloneflag, the unpacked git repo 45 # Because fetch2's git's unpack uses -s cloneflag, the unpacked git repo
46 # will become invalid in the target. 46 # will become invalid in the target.
47 rm -rf ${WORKDIR}/git/.git 47 rm -rf ${UNPACKDIR}/git/.git
48 rm -f ${WORKDIR}/git/.gitignore 48 rm -f ${UNPACKDIR}/git/.gitignore
49 49
50 cp -R ${WORKDIR}/git ${IMAGE_ROOTFS}/home/builder/poky 50 cp -R ${UNPACKDIR}/git ${IMAGE_ROOTFS}/home/builder/poky
51 51
52 mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/conf 52 mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/conf
53 mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/downloads 53 mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/downloads
@@ -58,10 +58,10 @@ fakeroot do_populate_poky_src () {
58 fi 58 fi
59 59
60 # Place the README_VirtualBox_Guest_Additions file in builders home folder. 60 # Place the README_VirtualBox_Guest_Additions file in builders home folder.
61 cp ${WORKDIR}/README_VirtualBox_Guest_Additions.txt ${IMAGE_ROOTFS}/home/builder/ 61 cp ${UNPACKDIR}/README_VirtualBox_Guest_Additions.txt ${IMAGE_ROOTFS}/home/builder/
62 62
63 # Place the README_VirtualBox_Toaster file in builders home folder. 63 # Place the README_VirtualBox_Toaster file in builders home folder.
64 cp ${WORKDIR}/README_VirtualBox_Toaster.txt ${IMAGE_ROOTFS}/home/builder/ 64 cp ${UNPACKDIR}/README_VirtualBox_Toaster.txt ${IMAGE_ROOTFS}/home/builder/
65 65
66 echo "INHERIT += \"rm_work\"" >> ${IMAGE_ROOTFS}/home/builder/poky/build/conf/auto.conf 66 echo "INHERIT += \"rm_work\"" >> ${IMAGE_ROOTFS}/home/builder/poky/build/conf/auto.conf
67 echo "export LC_ALL=en_US.utf8" >> ${IMAGE_ROOTFS}/home/builder/.bashrc 67 echo "export LC_ALL=en_US.utf8" >> ${IMAGE_ROOTFS}/home/builder/.bashrc
@@ -129,10 +129,15 @@ python () {
129 d.delVarFlag("do_unpack", "noexec") 129 d.delVarFlag("do_unpack", "noexec")
130} 130}
131 131
132# ${S} doesn't exist for us
133do_qa_unpack() {
134 return
135}
136
132create_bundle_files () { 137create_bundle_files () {
133 cd ${WORKDIR} 138 cd ${WORKDIR}
134 mkdir -p Yocto_Build_Appliance 139 mkdir -p Yocto_Build_Appliance
135 cp *.vmx* Yocto_Build_Appliance 140 cp ${UNPACKDIR}/*.vmx* Yocto_Build_Appliance
136 ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vmdk Yocto_Build_Appliance/Yocto_Build_Appliance.vmdk 141 ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vmdk Yocto_Build_Appliance/Yocto_Build_Appliance.vmdk
137 ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vhdx Yocto_Build_Appliance/Yocto_Build_Appliance.vhdx 142 ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vhdx Yocto_Build_Appliance/Yocto_Build_Appliance.vhdx
138 ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vhd Yocto_Build_Appliance/Yocto_Build_Appliance.vhd 143 ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vhd Yocto_Build_Appliance/Yocto_Build_Appliance.vhd
diff --git a/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb b/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
index 409b1c0403..ddf9d1b311 100644
--- a/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
+++ b/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "This package provides high level tools to configure network inter
3HOMEPAGE = "http://packages.debian.org/ifupdown" 3HOMEPAGE = "http://packages.debian.org/ifupdown"
4SECTION = "base" 4SECTION = "base"
5LICENSE = "GPL-2.0-only" 5LICENSE = "GPL-2.0-only"
6LIC_FILES_CHKSUM = "file://${WORKDIR}/copyright;md5=3dd6192d306f582dee7687da3d8748ab" 6LIC_FILES_CHKSUM = "file://${S}/copyright;md5=3dd6192d306f582dee7687da3d8748ab"
7 7
8inherit update-rc.d 8inherit update-rc.d
9 9
@@ -15,7 +15,8 @@ SRC_URI = "file://copyright \
15 file://interfaces \ 15 file://interfaces \
16 file://nfsroot" 16 file://nfsroot"
17 17
18S = "${WORKDIR}" 18S = "${WORKDIR}/sources"
19UNPACKDIR = "${S}"
19 20
20do_install () { 21do_install () {
21 install -d ${D}${sysconfdir}/init.d \ 22 install -d ${D}${sysconfdir}/init.d \
@@ -23,9 +24,9 @@ do_install () {
23 ${D}${sysconfdir}/network/if-up.d \ 24 ${D}${sysconfdir}/network/if-up.d \
24 ${D}${sysconfdir}/network/if-down.d \ 25 ${D}${sysconfdir}/network/if-down.d \
25 ${D}${sysconfdir}/network/if-post-down.d 26 ${D}${sysconfdir}/network/if-post-down.d
26 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/networking 27 install -m 0755 ${S}/init ${D}${sysconfdir}/init.d/networking
27 install -m 0644 ${WORKDIR}/interfaces ${D}${sysconfdir}/network/interfaces 28 install -m 0644 ${S}/interfaces ${D}${sysconfdir}/network/interfaces
28 install -m 0755 ${WORKDIR}/nfsroot ${D}${sysconfdir}/network/if-pre-up.d 29 install -m 0755 ${S}/nfsroot ${D}${sysconfdir}/network/if-pre-up.d
29} 30}
30 31
31do_install:append:qemuall () { 32do_install:append:qemuall () {
diff --git a/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb
index 198459f2b2..ec3544c67a 100644
--- a/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb
@@ -3,11 +3,11 @@ LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4SRC_URI = "file://init-boot.sh" 4SRC_URI = "file://init-boot.sh"
5 5
6 6S = "${WORKDIR}/sources"
7S = "${WORKDIR}" 7UNPACKDIR = "${S}"
8 8
9do_install() { 9do_install() {
10 install -m 0755 ${WORKDIR}/init-boot.sh ${D}/init 10 install -m 0755 ${S}/init-boot.sh ${D}/init
11 11
12 # Create device nodes expected by some kernels in initramfs 12 # Create device nodes expected by some kernels in initramfs
13 # before even executing /init. 13 # before even executing /init.
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
index 39ea51ccbd..bb4984366d 100644
--- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
@@ -20,37 +20,38 @@ SRC_URI = "file://init \
20 file://overlayroot \ 20 file://overlayroot \
21 " 21 "
22 22
23S = "${WORKDIR}" 23S = "${WORKDIR}/sources"
24UNPACKDIR = "${S}"
24 25
25do_install() { 26do_install() {
26 install -d ${D}/init.d 27 install -d ${D}/init.d
27 28
28 # base 29 # base
29 install -m 0755 ${WORKDIR}/init ${D}/init 30 install -m 0755 ${S}/init ${D}/init
30 install -m 0755 ${WORKDIR}/nfsrootfs ${D}/init.d/85-nfsrootfs 31 install -m 0755 ${S}/nfsrootfs ${D}/init.d/85-nfsrootfs
31 install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs 32 install -m 0755 ${S}/rootfs ${D}/init.d/90-rootfs
32 install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish 33 install -m 0755 ${S}/finish ${D}/init.d/99-finish
33 34
34 # exec 35 # exec
35 install -m 0755 ${WORKDIR}/exec ${D}/init.d/89-exec 36 install -m 0755 ${S}/exec ${D}/init.d/89-exec
36 37
37 # mdev 38 # mdev
38 install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev 39 install -m 0755 ${S}/mdev ${D}/init.d/01-mdev
39 40
40 # udev 41 # udev
41 install -m 0755 ${WORKDIR}/udev ${D}/init.d/01-udev 42 install -m 0755 ${S}/udev ${D}/init.d/01-udev
42 43
43 # e2fs 44 # e2fs
44 install -m 0755 ${WORKDIR}/e2fs ${D}/init.d/10-e2fs 45 install -m 0755 ${S}/e2fs ${D}/init.d/10-e2fs
45 46
46 # debug 47 # debug
47 install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug 48 install -m 0755 ${S}/debug ${D}/init.d/00-debug
48 49
49 # lvm 50 # lvm
50 install -m 0755 ${WORKDIR}/lvm ${D}/init.d/09-lvm 51 install -m 0755 ${S}/lvm ${D}/init.d/09-lvm
51 52
52 # overlayroot needs to run after rootfs module but before finish 53 # overlayroot needs to run after rootfs module but before finish
53 install -m 0755 ${WORKDIR}/overlayroot ${D}/init.d/91-overlayroot 54 install -m 0755 ${S}/overlayroot ${D}/init.d/91-overlayroot
54 55
55 # Create device nodes expected by some kernels in initramfs 56 # Create device nodes expected by some kernels in initramfs
56 # before even executing /init. 57 # before even executing /init.
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb
index 847dbc0472..40046f30a7 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb
@@ -5,11 +5,11 @@ DEPENDS = "virtual/kernel"
5RDEPENDS:${PN} = "busybox-mdev" 5RDEPENDS:${PN} = "busybox-mdev"
6SRC_URI = "file://init-live.sh" 6SRC_URI = "file://init-live.sh"
7 7
8 8S = "${WORKDIR}/sources"
9S = "${WORKDIR}" 9UNPACKDIR = "${S}"
10 10
11do_install() { 11do_install() {
12 install -m 0755 ${WORKDIR}/init-live.sh ${D}/init 12 install -m 0755 ${S}/init-live.sh ${D}/init
13 install -d ${D}/dev 13 install -d ${D}/dev
14 mknod -m 622 ${D}/dev/console c 5 1 14 mknod -m 622 ${D}/dev/console c 5 1
15} 15}
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb
index b3b991b8fd..7851cc9605 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb
@@ -5,11 +5,11 @@ DEPENDS = "virtual/kernel"
5RDEPENDS:${PN} = "udev udev-extraconf" 5RDEPENDS:${PN} = "udev udev-extraconf"
6SRC_URI = "file://init-live.sh" 6SRC_URI = "file://init-live.sh"
7 7
8 8S = "${WORKDIR}/sources"
9S = "${WORKDIR}" 9UNPACKDIR = "${S}"
10 10
11do_install() { 11do_install() {
12 install -m 0755 ${WORKDIR}/init-live.sh ${D}/init 12 install -m 0755 ${S}/init-live.sh ${D}/init
13 install -d ${D}/dev 13 install -d ${D}/dev
14 mknod -m 622 ${D}/dev/console c 5 1 14 mknod -m 622 ${D}/dev/console c 5 1
15} 15}
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb
index 495eccbeda..31291bcdf2 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb
@@ -5,10 +5,11 @@ SRC_URI = "file://init-install-efi-testfs.sh"
5 5
6RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools" 6RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools"
7 7
8S = "${WORKDIR}" 8S = "${WORKDIR}/sources"
9UNPACKDIR = "${S}"
9 10
10do_install() { 11do_install() {
11 install -m 0755 ${WORKDIR}/init-install-efi-testfs.sh ${D}/install-efi.sh 12 install -m 0755 ${S}/init-install-efi-testfs.sh ${D}/install-efi.sh
12} 13}
13 14
14INHIBIT_DEFAULT_DEPS = "1" 15INHIBIT_DEFAULT_DEPS = "1"
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb
index e10faadfbe..ff3b5622db 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb
@@ -3,14 +3,14 @@ LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4SRC_URI = "file://init-install-efi.sh" 4SRC_URI = "file://init-install-efi.sh"
5 5
6
7RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" 6RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}"
8RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" 7RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
9 8
10S = "${WORKDIR}" 9S = "${WORKDIR}/sources"
10UNPACKDIR = "${S}"
11 11
12do_install() { 12do_install() {
13 install -m 0755 ${WORKDIR}/init-install-efi.sh ${D}/install-efi.sh 13 install -m 0755 ${S}/init-install-efi.sh ${D}/install-efi.sh
14} 14}
15 15
16# While this package maybe an allarch due to it being a 16# While this package maybe an allarch due to it being a
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb
index d347e323b3..19f05f9fec 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb
@@ -5,10 +5,11 @@ SRC_URI = "file://init-install-testfs.sh"
5 5
6RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs" 6RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs"
7 7
8S = "${WORKDIR}" 8S = "${WORKDIR}/sources"
9UNPACKDIR = "${S}"
9 10
10do_install() { 11do_install() {
11 install -m 0755 ${WORKDIR}/init-install-testfs.sh ${D}/install.sh 12 install -m 0755 ${S}/init-install-testfs.sh ${D}/install.sh
12} 13}
13 14
14INHIBIT_DEFAULT_DEPS = "1" 15INHIBIT_DEFAULT_DEPS = "1"
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb
index 9046d06c02..1d489e2b64 100644
--- a/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb
@@ -3,14 +3,14 @@ LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4SRC_URI = "file://init-install.sh" 4SRC_URI = "file://init-install.sh"
5 5
6 6S = "${WORKDIR}/sources"
7S = "${WORKDIR}" 7UNPACKDIR = "${S}"
8 8
9RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" 9RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}"
10RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" 10RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
11 11
12do_install() { 12do_install() {
13 install -m 0755 ${WORKDIR}/init-install.sh ${D}/install.sh 13 install -m 0755 ${S}/init-install.sh ${D}/install.sh
14} 14}
15 15
16# While this package maybe an allarch due to it being a 16# While this package maybe an allarch due to it being a
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb
index b7499644f0..bb3f275f26 100644
--- a/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb
@@ -7,11 +7,12 @@ RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
7 7
8SRC_URI = "file://init-install-efi.sh" 8SRC_URI = "file://init-install-efi.sh"
9 9
10S = "${WORKDIR}" 10S = "${WORKDIR}/sources"
11UNPACKDIR = "${S}"
11 12
12do_install() { 13do_install() {
13 install -d ${D}/init.d 14 install -d ${D}/init.d
14 install -m 0755 ${WORKDIR}/init-install-efi.sh ${D}/init.d/install-efi.sh 15 install -m 0755 ${S}/init-install-efi.sh ${D}/init.d/install-efi.sh
15} 16}
16 17
17FILES:${PN} = "/init.d/install-efi.sh" 18FILES:${PN} = "/init.d/install-efi.sh"
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb
index 11db7124af..b87e59f347 100644
--- a/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb
@@ -12,11 +12,12 @@ COMPATIBLE_HOST:armv7ve = 'null'
12 12
13SRC_URI = "file://init-install.sh" 13SRC_URI = "file://init-install.sh"
14 14
15S = "${WORKDIR}" 15S = "${WORKDIR}/sources"
16UNPACKDIR = "${S}"
16 17
17do_install() { 18do_install() {
18 install -d ${D}/init.d 19 install -d ${D}/init.d
19 install -m 0755 ${WORKDIR}/init-install.sh ${D}/init.d/install.sh 20 install -m 0755 ${S}/init-install.sh ${D}/init.d/install.sh
20} 21}
21 22
22FILES:${PN} = "/init.d/install.sh" 23FILES:${PN} = "/init.d/install.sh"
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb
index 48a779e9aa..4d9ef79a63 100644
--- a/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb
+++ b/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb
@@ -9,11 +9,12 @@ inherit allarch
9FILESEXTRAPATHS:prepend := "${THISDIR}/initramfs-framework:" 9FILESEXTRAPATHS:prepend := "${THISDIR}/initramfs-framework:"
10SRC_URI = "file://setup-live" 10SRC_URI = "file://setup-live"
11 11
12S = "${WORKDIR}" 12S = "${WORKDIR}/sources"
13UNPACKDIR = "${S}"
13 14
14do_install() { 15do_install() {
15 install -d ${D}/init.d 16 install -d ${D}/init.d
16 install -m 0755 ${WORKDIR}/setup-live ${D}/init.d/80-setup-live 17 install -m 0755 ${S}/setup-live ${D}/init.d/80-setup-live
17} 18}
18 19
19FILES:${PN} = "/init.d/80-setup-live" 20FILES:${PN} = "/init.d/80-setup-live"
diff --git a/meta/recipes-core/initscripts/initscripts_1.0.bb b/meta/recipes-core/initscripts/initscripts_1.0.bb
index e61ac554f3..65f97a0af2 100644
--- a/meta/recipes-core/initscripts/initscripts_1.0.bb
+++ b/meta/recipes-core/initscripts/initscripts_1.0.bb
@@ -35,7 +35,8 @@ SRC_URI = "file://functions \
35 ${@bb.utils.contains('DISTRO_FEATURES','selinux','file://sushell','',d)} \ 35 ${@bb.utils.contains('DISTRO_FEATURES','selinux','file://sushell','',d)} \
36" 36"
37 37
38S = "${WORKDIR}" 38S = "${WORKDIR}/sources"
39UNPACKDIR = "${S}"
39 40
40SRC_URI:append:arm = " file://alignment.sh" 41SRC_URI:append:arm = " file://alignment.sh"
41SRC_URI:append:armeb = " file://alignment.sh" 42SRC_URI:append:armeb = " file://alignment.sh"
@@ -61,9 +62,9 @@ HALTARGS ?= "-d -f"
61VARLIBMOUNTARGS ?= "" 62VARLIBMOUNTARGS ?= ""
62 63
63do_configure() { 64do_configure() {
64 sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${WORKDIR}/halt 65 sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${S}/halt
65 sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${WORKDIR}/reboot 66 sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${S}/reboot
66 sed -i -e "s:SED_VARLIBMOUNTARGS:${VARLIBMOUNTARGS}:g" ${WORKDIR}/read-only-rootfs-hook.sh 67 sed -i -e "s:SED_VARLIBMOUNTARGS:${VARLIBMOUNTARGS}:g" ${S}/read-only-rootfs-hook.sh
67} 68}
68 69
69do_install () { 70do_install () {
@@ -84,27 +85,27 @@ do_install () {
84 # Holds state information pertaining to urandom 85 # Holds state information pertaining to urandom
85 install -d ${D}${localstatedir}/lib/urandom 86 install -d ${D}${localstatedir}/lib/urandom
86 87
87 install -m 0644 ${WORKDIR}/functions ${D}${sysconfdir}/init.d 88 install -m 0644 ${S}/functions ${D}${sysconfdir}/init.d
88 install -m 0755 ${WORKDIR}/bootmisc.sh ${D}${sysconfdir}/init.d 89 install -m 0755 ${S}/bootmisc.sh ${D}${sysconfdir}/init.d
89 install -m 0755 ${WORKDIR}/checkroot.sh ${D}${sysconfdir}/init.d 90 install -m 0755 ${S}/checkroot.sh ${D}${sysconfdir}/init.d
90 install -m 0755 ${WORKDIR}/halt ${D}${sysconfdir}/init.d 91 install -m 0755 ${S}/halt ${D}${sysconfdir}/init.d
91 install -m 0755 ${WORKDIR}/hostname.sh ${D}${sysconfdir}/init.d 92 install -m 0755 ${S}/hostname.sh ${D}${sysconfdir}/init.d
92 install -m 0755 ${WORKDIR}/mountall.sh ${D}${sysconfdir}/init.d 93 install -m 0755 ${S}/mountall.sh ${D}${sysconfdir}/init.d
93 install -m 0755 ${WORKDIR}/mountnfs.sh ${D}${sysconfdir}/init.d 94 install -m 0755 ${S}/mountnfs.sh ${D}${sysconfdir}/init.d
94 install -m 0755 ${WORKDIR}/reboot ${D}${sysconfdir}/init.d 95 install -m 0755 ${S}/reboot ${D}${sysconfdir}/init.d
95 install -m 0755 ${WORKDIR}/rmnologin.sh ${D}${sysconfdir}/init.d 96 install -m 0755 ${S}/rmnologin.sh ${D}${sysconfdir}/init.d
96 install -m 0755 ${WORKDIR}/sendsigs ${D}${sysconfdir}/init.d 97 install -m 0755 ${S}/sendsigs ${D}${sysconfdir}/init.d
97 install -m 0755 ${WORKDIR}/single ${D}${sysconfdir}/init.d 98 install -m 0755 ${S}/single ${D}${sysconfdir}/init.d
98 install -m 0755 ${WORKDIR}/umountnfs.sh ${D}${sysconfdir}/init.d 99 install -m 0755 ${S}/umountnfs.sh ${D}${sysconfdir}/init.d
99 install -m 0755 ${WORKDIR}/urandom ${D}${sysconfdir}/init.d 100 install -m 0755 ${S}/urandom ${D}${sysconfdir}/init.d
100 sed -i ${D}${sysconfdir}/init.d/urandom -e 's,/var/,${localstatedir}/,g;s,/etc/,${sysconfdir}/,g' 101 sed -i ${D}${sysconfdir}/init.d/urandom -e 's,/var/,${localstatedir}/,g;s,/etc/,${sysconfdir}/,g'
101 install -m 0755 ${WORKDIR}/devpts.sh ${D}${sysconfdir}/init.d 102 install -m 0755 ${S}/devpts.sh ${D}${sysconfdir}/init.d
102 install -m 0755 ${WORKDIR}/devpts ${D}${sysconfdir}/default 103 install -m 0755 ${S}/devpts ${D}${sysconfdir}/default
103 install -m 0755 ${WORKDIR}/sysfs.sh ${D}${sysconfdir}/init.d 104 install -m 0755 ${S}/sysfs.sh ${D}${sysconfdir}/init.d
104 install -m 0755 ${WORKDIR}/populate-volatile.sh ${D}${sysconfdir}/init.d 105 install -m 0755 ${S}/populate-volatile.sh ${D}${sysconfdir}/init.d
105 install -m 0755 ${WORKDIR}/read-only-rootfs-hook.sh ${D}${sysconfdir}/init.d 106 install -m 0755 ${S}/read-only-rootfs-hook.sh ${D}${sysconfdir}/init.d
106 install -m 0755 ${WORKDIR}/save-rtc.sh ${D}${sysconfdir}/init.d 107 install -m 0755 ${S}/save-rtc.sh ${D}${sysconfdir}/init.d
107 install -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/00_core 108 install -m 0644 ${S}/volatiles ${D}${sysconfdir}/default/volatiles/00_core
108 if [ ${@ oe.types.boolean('${VOLATILE_LOG_DIR}') } = True ]; then 109 if [ ${@ oe.types.boolean('${VOLATILE_LOG_DIR}') } = True ]; then
109 sed -i -e '\@^d root root 0755 /var/volatile/log none$@ a\l root root 0755 /var/log /var/volatile/log' \ 110 sed -i -e '\@^d root root 0755 /var/volatile/log none$@ a\l root root 0755 /var/log /var/volatile/log' \
110 ${D}${sysconfdir}/default/volatiles/00_core 111 ${D}${sysconfdir}/default/volatiles/00_core
@@ -112,22 +113,22 @@ do_install () {
112 if [ "${VOLATILE_TMP_DIR}" != "yes" ]; then 113 if [ "${VOLATILE_TMP_DIR}" != "yes" ]; then
113 sed -i -e "/\<tmp\>/d" ${D}${sysconfdir}/default/volatiles/00_core 114 sed -i -e "/\<tmp\>/d" ${D}${sysconfdir}/default/volatiles/00_core
114 fi 115 fi
115 install -m 0755 ${WORKDIR}/dmesg.sh ${D}${sysconfdir}/init.d 116 install -m 0755 ${S}/dmesg.sh ${D}${sysconfdir}/init.d
116 install -m 0644 ${WORKDIR}/logrotate-dmesg.conf ${D}${sysconfdir}/ 117 install -m 0644 ${S}/logrotate-dmesg.conf ${D}${sysconfdir}/
117 118
118 if [ "${TARGET_ARCH}" = "arm" ]; then 119 if [ "${TARGET_ARCH}" = "arm" ]; then
119 install -m 0755 ${WORKDIR}/alignment.sh ${D}${sysconfdir}/init.d 120 install -m 0755 ${S}/alignment.sh ${D}${sysconfdir}/init.d
120 fi 121 fi
121 122
122 if ${@bb.utils.contains('DISTRO_FEATURES','selinux','true','false',d)}; then 123 if ${@bb.utils.contains('DISTRO_FEATURES','selinux','true','false',d)}; then
123 install -d ${D}/${base_sbindir} 124 install -d ${D}/${base_sbindir}
124 install -m 0755 ${WORKDIR}/sushell ${D}/${base_sbindir} 125 install -m 0755 ${S}/sushell ${D}/${base_sbindir}
125 fi 126 fi
126# 127#
127# Install device dependent scripts 128# Install device dependent scripts
128# 129#
129 install -m 0755 ${WORKDIR}/banner.sh ${D}${sysconfdir}/init.d/banner.sh 130 install -m 0755 ${S}/banner.sh ${D}${sysconfdir}/init.d/banner.sh
130 install -m 0755 ${WORKDIR}/umountfs ${D}${sysconfdir}/init.d/umountfs 131 install -m 0755 ${S}/umountfs ${D}${sysconfdir}/init.d/umountfs
131# 132#
132# Create runlevel links 133# Create runlevel links
133# 134#
diff --git a/meta/recipes-core/libcgroup/libcgroup/0001-include-Makefile-install-systemd.h-by-default.patch b/meta/recipes-core/libcgroup/libcgroup/0001-include-Makefile-install-systemd.h-by-default.patch
new file mode 100644
index 0000000000..4b743f9b33
--- /dev/null
+++ b/meta/recipes-core/libcgroup/libcgroup/0001-include-Makefile-install-systemd.h-by-default.patch
@@ -0,0 +1,37 @@
1From 592dcdcf243576bd2517d3da9bc18990de08e37e Mon Sep 17 00:00:00 2001
2From: Kamalesh Babulal <kamalesh.babulal@oracle.com>
3Date: Mon, 27 Nov 2023 20:07:33 +0530
4Subject: [PATCH 1/1] include/Makefile: install systemd.h by default
5
6Install systemd.h header file by default, as we have stub and defined
7versions of the systemd functions for both non-systemd and systemd
8enabled configurations. This will help packagers to ship package
9without systemd support (--enable-systemd=no).
10
11Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
12Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
13
14Upstream-Status: Backport [https://github.com/libcgroup/libcgroup/commit/592dcdcf243576bd2517d3da9bc18990de08e37e]
15
16Signed-off-by: Adriaan Schmidt <adriaan.schmidt@siemens.com>
17---
18 include/Makefile.am | 6 +-----
19 1 file changed, 1 insertion(+), 5 deletions(-)
20
21diff --git a/include/Makefile.am b/include/Makefile.am
22index 23cebaac..4cb05529 100644
23--- a/include/Makefile.am
24+++ b/include/Makefile.am
25@@ -2,8 +2,4 @@
26 nobase_include_HEADERS = libcgroup.h libcgroup/error.h libcgroup/init.h \
27 libcgroup/groups.h libcgroup/tasks.h \
28 libcgroup/iterators.h libcgroup/config.h \
29- libcgroup/log.h libcgroup/tools.h
30-
31-if WITH_SYSTEMD
32-nobase_include_HEADERS += libcgroup/systemd.h
33-endif
34+ libcgroup/log.h libcgroup/tools.h libcgroup/systemd.h
35--
362.39.2
37
diff --git a/meta/recipes-core/libcgroup/libcgroup_3.1.0.bb b/meta/recipes-core/libcgroup/libcgroup_3.1.0.bb
index 4b4f19e36f..a1d27c7e7f 100644
--- a/meta/recipes-core/libcgroup/libcgroup_3.1.0.bb
+++ b/meta/recipes-core/libcgroup/libcgroup_3.1.0.bb
@@ -13,6 +13,7 @@ DEPENDS = "bison-native flex-native"
13DEPENDS:append:libc-musl = " fts" 13DEPENDS:append:libc-musl = " fts"
14 14
15SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ 15SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \
16 file://0001-include-Makefile-install-systemd.h-by-default.patch \
16" 17"
17UPSTREAM_CHECK_URI = "https://github.com/libcgroup/libcgroup/tags" 18UPSTREAM_CHECK_URI = "https://github.com/libcgroup/libcgroup/tags"
18 19
diff --git a/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.36.bb b/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.36.bb
index d5546ce9ba..30ec6a4674 100644
--- a/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.36.bb
+++ b/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.36.bb
@@ -1,5 +1,5 @@
1# 1#
2# This provides libcrypto.so.1 which contains obsolete APIs, needed for uninative in particular 2# This provides libcrypt.so.1 which contains obsolete APIs, needed for uninative in particular
3# 3#
4 4
5require libxcrypt.inc 5require libxcrypt.inc
diff --git a/meta/recipes-core/meta/uninative-tarball.bb b/meta/recipes-core/meta/uninative-tarball.bb
index 7eebcaf11a..0fd01fdb64 100644
--- a/meta/recipes-core/meta/uninative-tarball.bb
+++ b/meta/recipes-core/meta/uninative-tarball.bb
@@ -58,6 +58,8 @@ fakeroot archive_sdk() {
58 DEST="./${SDK_ARCH}-${SDK_OS}" 58 DEST="./${SDK_ARCH}-${SDK_OS}"
59 mv sysroots/${SDK_SYS} $DEST 59 mv sysroots/${SDK_SYS} $DEST
60 rm sysroots -rf 60 rm sysroots -rf
61 # There is a check in meta/files/toolchain-shar-extract.sh -- make sure to
62 # keep that check up to date if changing the `1024`
61 patchelf --set-interpreter ${@''.join('a' for n in range(1024))} $DEST/usr/bin/patchelf 63 patchelf --set-interpreter ${@''.join('a' for n in range(1024))} $DEST/usr/bin/patchelf
62 mv $DEST/usr/bin/patchelf $DEST/usr/bin/patchelf-uninative 64 mv $DEST/usr/bin/patchelf $DEST/usr/bin/patchelf-uninative
63 ${SDK_ARCHIVE_CMD} 65 ${SDK_ARCHIVE_CMD}
diff --git a/meta/recipes-core/musl/bsd-headers.bb b/meta/recipes-core/musl/bsd-headers.bb
index 887a816031..7d0bdee870 100644
--- a/meta/recipes-core/musl/bsd-headers.bb
+++ b/meta/recipes-core/musl/bsd-headers.bb
@@ -15,7 +15,8 @@ do_compile[noexec] = "1"
15 15
16INHIBIT_DEFAULT_DEPS = "1" 16INHIBIT_DEFAULT_DEPS = "1"
17 17
18S = "${WORKDIR}" 18S = "${WORKDIR}/sources"
19UNPACKDIR = "${S}"
19 20
20do_install() { 21do_install() {
21 install -Dm 0644 ${S}/sys-queue.h ${D}${includedir}/sys/queue.h 22 install -Dm 0644 ${S}/sys-queue.h ${D}${includedir}/sys/queue.h
diff --git a/meta/recipes-core/musl/libc-test_git.bb b/meta/recipes-core/musl/libc-test_git.bb
index 619a959fd2..f55a125a89 100644
--- a/meta/recipes-core/musl/libc-test_git.bb
+++ b/meta/recipes-core/musl/libc-test_git.bb
@@ -50,7 +50,7 @@ do_install () {
50} 50}
51 51
52do_install_ptest_base:append() { 52do_install_ptest_base:append() {
53 install -Dm 0755 ${WORKDIR}/run-libc-ptests ${D}${PTEST_PATH}/run-libc-ptests 53 install -Dm 0755 ${UNPACKDIR}/run-libc-ptests ${D}${PTEST_PATH}/run-libc-ptests
54} 54}
55 55
56COMPATIBLE_HOST = "null" 56COMPATIBLE_HOST = "null"
diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb
index 3faf8f00c3..e9f652fc3e 100644
--- a/meta/recipes-core/musl/libssp-nonshared.bb
+++ b/meta/recipes-core/musl/libssp-nonshared.bb
@@ -17,7 +17,8 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils \
17 17
18do_configure[noexec] = "1" 18do_configure[noexec] = "1"
19 19
20S = "${WORKDIR}" 20S = "${WORKDIR}/sources"
21UNPACKDIR = "${S}"
21 22
22do_compile() { 23do_compile() {
23 ${CC} ${CPPFLAGS} ${CFLAGS} -fPIE -c stack_chk.c -o stack_chk.o 24 ${CC} ${CPPFLAGS} ${CFLAGS} -fPIE -c stack_chk.c -o stack_chk.o
diff --git a/meta/recipes-core/musl/musl-legacy-error.bb b/meta/recipes-core/musl/musl-legacy-error.bb
index 5ce5a233ab..11a838a6e8 100644
--- a/meta/recipes-core/musl/musl-legacy-error.bb
+++ b/meta/recipes-core/musl/musl-legacy-error.bb
@@ -13,7 +13,8 @@ do_compile[noexec] = "1"
13 13
14INHIBIT_DEFAULT_DEPS = "1" 14INHIBIT_DEFAULT_DEPS = "1"
15 15
16S = "${WORKDIR}" 16S = "${WORKDIR}/sources"
17UNPACKDIR = "${S}"
17 18
18do_install() { 19do_install() {
19 install -Dm 0644 ${S}/error.h -t ${D}${includedir} 20 install -Dm 0644 ${S}/error.h -t ${D}${includedir}
diff --git a/meta/recipes-core/ncurses/files/CVE-2023-45918.patch b/meta/recipes-core/ncurses/files/CVE-2023-45918.patch
new file mode 100644
index 0000000000..fbdae49a61
--- /dev/null
+++ b/meta/recipes-core/ncurses/files/CVE-2023-45918.patch
@@ -0,0 +1,180 @@
1From bcf02d3242f1c7d57224a95f7903fcf4b5e7695d Mon Sep 17 00:00:00 2001
2From: Thomas E. Dickey <dickey@invisible-island.net>
3Date: Fri, 16 Jun 2023 02:54:29 +0530
4Subject: [PATCH] Fix CVE-2023-45918
5
6CVE: CVE-2023-45918
7
8Upstream-Status: Backport [https://ncurses.scripts.mit.edu/?p=ncurses.git;a=commit;h=bcf02d3242f1c7d57224a95f7903fcf4b5e7695d]
9
10Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
11---
12 ncurses/tinfo/comp_error.c | 15 ++++++---
13 ncurses/tinfo/read_entry.c | 65 ++++++++++++++++++++++++++------------
14 2 files changed, 56 insertions(+), 24 deletions(-)
15
16diff --git a/ncurses/tinfo/comp_error.c b/ncurses/tinfo/comp_error.c
17index 48f48784..ee518e28 100644
18--- a/ncurses/tinfo/comp_error.c
19+++ b/ncurses/tinfo/comp_error.c
20@@ -60,8 +60,15 @@ _nc_get_source(void)
21 NCURSES_EXPORT(void)
22 _nc_set_source(const char *const name)
23 {
24- FreeIfNeeded(SourceName);
25- SourceName = strdup(name);
26+ if (name == NULL) {
27+ free(SourceName);
28+ SourceName = NULL;
29+ } else if (SourceName == NULL) {
30+ SourceName = strdup(name);
31+ } else if (strcmp(name, SourceName)) {
32+ free(SourceName);
33+ SourceName = strdup(name);
34+ }
35 }
36
37 NCURSES_EXPORT(void)
38@@ -95,9 +102,9 @@ static NCURSES_INLINE void
39 where_is_problem(void)
40 {
41 fprintf(stderr, "\"%s\"", SourceName ? SourceName : "?");
42- if (_nc_curr_line >= 0)
43+ if (_nc_curr_line > 0)
44 fprintf(stderr, ", line %d", _nc_curr_line);
45- if (_nc_curr_col >= 0)
46+ if (_nc_curr_col > 0)
47 fprintf(stderr, ", col %d", _nc_curr_col);
48 if (TermType != 0 && TermType[0] != '\0')
49 fprintf(stderr, ", terminal '%s'", TermType);
50diff --git a/ncurses/tinfo/read_entry.c b/ncurses/tinfo/read_entry.c
51index 341337d2..b0c3ad26 100644
52--- a/ncurses/tinfo/read_entry.c
53+++ b/ncurses/tinfo/read_entry.c
54@@ -138,12 +138,13 @@ convert_16bits(char *buf, NCURSES_INT2 *Numbers, int count)
55 }
56 #endif
57
58-static void
59-convert_strings(char *buf, char **Strings, int count, int size, char *table)
60+static bool
61+convert_strings(char *buf, char **Strings, int count, int size,
62+ char *table, bool always)
63 {
64 int i;
65 char *p;
66- bool corrupt = FALSE;
67+ bool success = TRUE;
68
69 for (i = 0; i < count; i++) {
70 if (IS_NEG1(buf + 2 * i)) {
71@@ -159,13 +160,10 @@ convert_strings(char *buf, char **Strings, int count, int size, char *table)
72 TR(TRACE_DATABASE, ("Strings[%d] = %s", i,
73 _nc_visbuf(Strings[i])));
74 } else {
75- if (!corrupt) {
76- corrupt = TRUE;
77- TR(TRACE_DATABASE,
78- ("ignore out-of-range index %d to Strings[]", nn));
79- _nc_warning("corrupt data found in convert_strings");
80- }
81- Strings[i] = ABSENT_STRING;
82+ TR(TRACE_DATABASE,
83+ ("found out-of-range index %d to Strings[%d]", nn, i));
84+ success = FALSE;
85+ break;
86 }
87 }
88
89@@ -175,10 +173,25 @@ convert_strings(char *buf, char **Strings, int count, int size, char *table)
90 if (*p == '\0')
91 break;
92 /* if there is no NUL, ignore the string */
93- if (p >= table + size)
94+ if (p >= table + size) {
95 Strings[i] = ABSENT_STRING;
96+ } else if (p == Strings[i] && always) {
97+ TR(TRACE_DATABASE,
98+ ("found empty but required Strings[%d]", i));
99+ success = FALSE;
100+ break;
101+ }
102+ } else if (always) { /* names are always needed */
103+ TR(TRACE_DATABASE,
104+ ("found invalid but required Strings[%d]", i));
105+ success = FALSE;
106+ break;
107 }
108 }
109+ if (!success) {
110+ _nc_warning("corrupt data found in convert_strings");
111+ }
112+ return success;
113 }
114
115 static int
116@@ -382,7 +395,10 @@ _nc_read_termtype(TERMTYPE2 *ptr, char *buffer, int limit)
117 if (Read(string_table, (unsigned) str_size) != str_size) {
118 returnDB(TGETENT_NO);
119 }
120- convert_strings(buf, ptr->Strings, str_count, str_size, string_table);
121+ if (!convert_strings(buf, ptr->Strings, str_count, str_size,
122+ string_table, FALSE)) {
123+ returnDB(TGETENT_NO);
124+ }
125 }
126 #if NCURSES_XNAMES
127
128@@ -483,8 +499,10 @@ _nc_read_termtype(TERMTYPE2 *ptr, char *buffer, int limit)
129 ("Before computing extended-string capabilities "
130 "str_count=%d, ext_str_count=%d",
131 str_count, ext_str_count));
132- convert_strings(buf, ptr->Strings + str_count, ext_str_count,
133- ext_str_limit, ptr->ext_str_table);
134+ if (!convert_strings(buf, ptr->Strings + str_count, ext_str_count,
135+ ext_str_limit, ptr->ext_str_table, FALSE)) {
136+ returnDB(TGETENT_NO);
137+ }
138 for (i = ext_str_count - 1; i >= 0; i--) {
139 TR(TRACE_DATABASE, ("MOVE from [%d:%d] %s",
140 i, i + str_count,
141@@ -516,10 +534,13 @@ _nc_read_termtype(TERMTYPE2 *ptr, char *buffer, int limit)
142 TR(TRACE_DATABASE,
143 ("ext_NAMES starting @%d in extended_strings, first = %s",
144 base, _nc_visbuf(ptr->ext_str_table + base)));
145- convert_strings(buf + (2 * ext_str_count),
146- ptr->ext_Names,
147- (int) need,
148- ext_str_limit, ptr->ext_str_table + base);
149+ if (!convert_strings(buf + (2 * ext_str_count),
150+ ptr->ext_Names,
151+ (int) need,
152+ ext_str_limit, ptr->ext_str_table + base,
153+ TRUE)) {
154+ returnDB(TGETENT_NO);
155+ }
156 }
157
158 TR(TRACE_DATABASE,
159@@ -572,13 +593,17 @@ _nc_read_file_entry(const char *const filename, TERMTYPE2 *ptr)
160 int limit;
161 char buffer[MAX_ENTRY_SIZE + 1];
162
163- if ((limit = (int) fread(buffer, sizeof(char), sizeof(buffer), fp))
164- > 0) {
165+ limit = (int) fread(buffer, sizeof(char), sizeof(buffer), fp);
166+ if (limit > 0) {
167+ const char *old_source = _nc_get_source();
168
169 TR(TRACE_DATABASE, ("read terminfo %s", filename));
170+ if (old_source == NULL)
171+ _nc_set_source(filename);
172 if ((code = _nc_read_termtype(ptr, buffer, limit)) == TGETENT_NO) {
173 _nc_free_termtype2(ptr);
174 }
175+ _nc_set_source(old_source);
176 } else {
177 code = TGETENT_NO;
178 }
179--
1802.40.0
diff --git a/meta/recipes-core/ncurses/files/CVE-2023-50495.patch b/meta/recipes-core/ncurses/files/CVE-2023-50495.patch
new file mode 100644
index 0000000000..7d90ddd30f
--- /dev/null
+++ b/meta/recipes-core/ncurses/files/CVE-2023-50495.patch
@@ -0,0 +1,301 @@
1From 7daae3f2139a678fe0ae0b42fcf8d807cbff485c Mon Sep 17 00:00:00 2001
2From: Mingli Yu <mingli.yu@windriver.com>
3Date: Sun, 4 Feb 2024 13:42:38 +0800
4Subject: [PATCH] parse_entry.c: check return value of _nc_save_str
5
6* check return value of _nc_save_str(), in special case for tic where
7extended capabilities are processed but the terminal description was
8not initialized (report by Ziqiao Kong).
9
10* regenerate llib-* files.
11
12CVE: CVE-2023-50495
13
14Upstream-Status: Backport [http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commitdiff;h=7723dd6799ab10b32047ec73b14df9f107bafe99]
15
16Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
17---
18 ncurses/llib-lncurses | 15 +++++++++++++++
19 ncurses/llib-lncursest | 15 +++++++++++++++
20 ncurses/llib-lncursestw | 15 +++++++++++++++
21 ncurses/llib-lncursesw | 15 +++++++++++++++
22 ncurses/llib-ltinfo | 15 +++++++++++++++
23 ncurses/llib-ltinfot | 15 +++++++++++++++
24 ncurses/llib-ltinfotw | 15 +++++++++++++++
25 ncurses/llib-ltinfow | 15 +++++++++++++++
26 ncurses/tinfo/parse_entry.c | 23 ++++++++++++++++-------
27 9 files changed, 136 insertions(+), 7 deletions(-)
28
29diff --git a/ncurses/llib-lncurses b/ncurses/llib-lncurses
30index 211cf3b7..e4190aa2 100644
31--- a/ncurses/llib-lncurses
32+++ b/ncurses/llib-lncurses
33@@ -3656,6 +3656,21 @@ char *tiparm(
34 ...)
35 { return(*(char **)0); }
36
37+#undef tiparm_s
38+char *tiparm_s(
39+ int num_expected,
40+ int tparm_type,
41+ const char *string,
42+ ...)
43+ { return(*(char **)0); }
44+
45+#undef tiscan_s
46+int tiscan_s(
47+ int *num_expected,
48+ int *tparm_type,
49+ const char *string)
50+ { return(*(int *)0); }
51+
52 #undef _nc_tiparm
53 char *_nc_tiparm(
54 int expected,
55diff --git a/ncurses/llib-lncursest b/ncurses/llib-lncursest
56index 1b09d676..e07abba6 100644
57--- a/ncurses/llib-lncursest
58+++ b/ncurses/llib-lncursest
59@@ -3741,6 +3741,21 @@ char *tiparm(
60 ...)
61 { return(*(char **)0); }
62
63+#undef tiparm_s
64+char *tiparm_s(
65+ int num_expected,
66+ int tparm_type,
67+ const char *string,
68+ ...)
69+ { return(*(char **)0); }
70+
71+#undef tiscan_s
72+int tiscan_s(
73+ int *num_expected,
74+ int *tparm_type,
75+ const char *string)
76+ { return(*(int *)0); }
77+
78 #undef _nc_tiparm
79 char *_nc_tiparm(
80 int expected,
81diff --git a/ncurses/llib-lncursestw b/ncurses/llib-lncursestw
82index 4576e0fc..747c6be8 100644
83--- a/ncurses/llib-lncursestw
84+++ b/ncurses/llib-lncursestw
85@@ -4702,6 +4702,21 @@ char *tiparm(
86 ...)
87 { return(*(char **)0); }
88
89+#undef tiparm_s
90+char *tiparm_s(
91+ int num_expected,
92+ int tparm_type,
93+ const char *string,
94+ ...)
95+ { return(*(char **)0); }
96+
97+#undef tiscan_s
98+int tiscan_s(
99+ int *num_expected,
100+ int *tparm_type,
101+ const char *string)
102+ { return(*(int *)0); }
103+
104 #undef _nc_tiparm
105 char *_nc_tiparm(
106 int expected,
107diff --git a/ncurses/llib-lncursesw b/ncurses/llib-lncursesw
108index 127350d2..862305d9 100644
109--- a/ncurses/llib-lncursesw
110+++ b/ncurses/llib-lncursesw
111@@ -4617,6 +4617,21 @@ char *tiparm(
112 ...)
113 { return(*(char **)0); }
114
115+#undef tiparm_s
116+char *tiparm_s(
117+ int num_expected,
118+ int tparm_type,
119+ const char *string,
120+ ...)
121+ { return(*(char **)0); }
122+
123+#undef tiscan_s
124+int tiscan_s(
125+ int *num_expected,
126+ int *tparm_type,
127+ const char *string)
128+ { return(*(int *)0); }
129+
130 #undef _nc_tiparm
131 char *_nc_tiparm(
132 int expected,
133diff --git a/ncurses/llib-ltinfo b/ncurses/llib-ltinfo
134index a5cd7cd3..31e5e9a6 100644
135--- a/ncurses/llib-ltinfo
136+++ b/ncurses/llib-ltinfo
137@@ -927,6 +927,21 @@ char *tiparm(
138 ...)
139 { return(*(char **)0); }
140
141+#undef tiparm_s
142+char *tiparm_s(
143+ int num_expected,
144+ int tparm_type,
145+ const char *string,
146+ ...)
147+ { return(*(char **)0); }
148+
149+#undef tiscan_s
150+int tiscan_s(
151+ int *num_expected,
152+ int *tparm_type,
153+ const char *string)
154+ { return(*(int *)0); }
155+
156 #undef _nc_tiparm
157 char *_nc_tiparm(
158 int expected,
159diff --git a/ncurses/llib-ltinfot b/ncurses/llib-ltinfot
160index bd3de812..48e5c25a 100644
161--- a/ncurses/llib-ltinfot
162+++ b/ncurses/llib-ltinfot
163@@ -1003,6 +1003,21 @@ char *tiparm(
164 ...)
165 { return(*(char **)0); }
166
167+#undef tiparm_s
168+char *tiparm_s(
169+ int num_expected,
170+ int tparm_type,
171+ const char *string,
172+ ...)
173+ { return(*(char **)0); }
174+
175+#undef tiscan_s
176+int tiscan_s(
177+ int *num_expected,
178+ int *tparm_type,
179+ const char *string)
180+ { return(*(int *)0); }
181+
182 #undef _nc_tiparm
183 char *_nc_tiparm(
184 int expected,
185diff --git a/ncurses/llib-ltinfotw b/ncurses/llib-ltinfotw
186index 4d35a1e1..64dfdfa5 100644
187--- a/ncurses/llib-ltinfotw
188+++ b/ncurses/llib-ltinfotw
189@@ -1025,6 +1025,21 @@ char *tiparm(
190 ...)
191 { return(*(char **)0); }
192
193+#undef tiparm_s
194+char *tiparm_s(
195+ int num_expected,
196+ int tparm_type,
197+ const char *string,
198+ ...)
199+ { return(*(char **)0); }
200+
201+#undef tiscan_s
202+int tiscan_s(
203+ int *num_expected,
204+ int *tparm_type,
205+ const char *string)
206+ { return(*(int *)0); }
207+
208 #undef _nc_tiparm
209 char *_nc_tiparm(
210 int expected,
211diff --git a/ncurses/llib-ltinfow b/ncurses/llib-ltinfow
212index db846764..7e17a35f 100644
213--- a/ncurses/llib-ltinfow
214+++ b/ncurses/llib-ltinfow
215@@ -949,6 +949,21 @@ char *tiparm(
216 ...)
217 { return(*(char **)0); }
218
219+#undef tiparm_s
220+char *tiparm_s(
221+ int num_expected,
222+ int tparm_type,
223+ const char *string,
224+ ...)
225+ { return(*(char **)0); }
226+
227+#undef tiscan_s
228+int tiscan_s(
229+ int *num_expected,
230+ int *tparm_type,
231+ const char *string)
232+ { return(*(int *)0); }
233+
234 #undef _nc_tiparm
235 char *_nc_tiparm(
236 int expected,
237diff --git a/ncurses/tinfo/parse_entry.c b/ncurses/tinfo/parse_entry.c
238index 14bcb67e..0a0b5637 100644
239--- a/ncurses/tinfo/parse_entry.c
240+++ b/ncurses/tinfo/parse_entry.c
241@@ -110,7 +110,7 @@ _nc_extend_names(ENTRY * entryp, const char *name, int token_type)
242 /* Well, we are given a cancel for a name that we don't recognize */
243 return _nc_extend_names(entryp, name, STRING);
244 default:
245- return 0;
246+ return NULL;
247 }
248
249 /* Adjust the 'offset' (insertion-point) to keep the lists of extended
250@@ -142,6 +142,11 @@ _nc_extend_names(ENTRY * entryp, const char *name, int token_type)
251 for (last = (unsigned) (max - 1); last > tindex; last--)
252
253 if (!found) {
254+ char *saved;
255+
256+ if ((saved = _nc_save_str(name)) == NULL)
257+ return NULL;
258+
259 switch (token_type) {
260 case BOOLEAN:
261 tp->ext_Booleans++;
262@@ -169,7 +174,7 @@ _nc_extend_names(ENTRY * entryp, const char *name, int token_type)
263 TYPE_REALLOC(char *, actual, tp->ext_Names);
264 while (--actual > offset)
265 tp->ext_Names[actual] = tp->ext_Names[actual - 1];
266- tp->ext_Names[offset] = _nc_save_str(name);
267+ tp->ext_Names[offset] = saved;
268 }
269
270 temp.nte_name = tp->ext_Names[offset];
271@@ -364,6 +369,8 @@ _nc_parse_entry(ENTRY * entryp, int literal, bool silent)
272 bool is_use = (strcmp(_nc_curr_token.tk_name, "use") == 0);
273 bool is_tc = !is_use && (strcmp(_nc_curr_token.tk_name, "tc") == 0);
274 if (is_use || is_tc) {
275+ char *saved;
276+
277 if (!VALID_STRING(_nc_curr_token.tk_valstring)
278 || _nc_curr_token.tk_valstring[0] == '\0') {
279 _nc_warning("missing name for use-clause");
280@@ -377,11 +384,13 @@ _nc_parse_entry(ENTRY * entryp, int literal, bool silent)
281 _nc_curr_token.tk_valstring);
282 continue;
283 }
284- entryp->uses[entryp->nuses].name = _nc_save_str(_nc_curr_token.tk_valstring);
285- entryp->uses[entryp->nuses].line = _nc_curr_line;
286- entryp->nuses++;
287- if (entryp->nuses > 1 && is_tc) {
288- BAD_TC_USAGE
289+ if ((saved = _nc_save_str(_nc_curr_token.tk_valstring)) != NULL) {
290+ entryp->uses[entryp->nuses].name = saved;
291+ entryp->uses[entryp->nuses].line = _nc_curr_line;
292+ entryp->nuses++;
293+ if (entryp->nuses > 1 && is_tc) {
294+ BAD_TC_USAGE
295+ }
296 }
297 } else {
298 /* normal token lookup */
299--
3002.25.1
301
diff --git a/meta/recipes-core/ncurses/ncurses_6.4.bb b/meta/recipes-core/ncurses/ncurses_6.4.bb
index 2c621525f9..97130c06d6 100644
--- a/meta/recipes-core/ncurses/ncurses_6.4.bb
+++ b/meta/recipes-core/ncurses/ncurses_6.4.bb
@@ -6,6 +6,8 @@ SRC_URI += "file://0001-tic-hang.patch \
6 file://exit_prototype.patch \ 6 file://exit_prototype.patch \
7 file://0001-Fix-CVE-2023-29491.patch \ 7 file://0001-Fix-CVE-2023-29491.patch \
8 file://0001-Updating-reset-code-ncurses-6.4-patch-20231104.patch \ 8 file://0001-Updating-reset-code-ncurses-6.4-patch-20231104.patch \
9 file://CVE-2023-50495.patch \
10 file://CVE-2023-45918.patch \
9 " 11 "
10# commit id corresponds to the revision in package version 12# commit id corresponds to the revision in package version
11SRCREV = "79b9071f2be20a24c7be031655a5638f6032f29f" 13SRCREV = "79b9071f2be20a24c7be031655a5638f6032f29f"
diff --git a/meta/recipes-core/psplash/psplash_git.bb b/meta/recipes-core/psplash/psplash_git.bb
index 40937098e6..30cf61a2cb 100644
--- a/meta/recipes-core/psplash/psplash_git.bb
+++ b/meta/recipes-core/psplash/psplash_git.bb
@@ -80,7 +80,7 @@ python do_compile () {
80 import subprocess 80 import subprocess
81 81
82 # Build a separate executable for each splash image 82 # Build a separate executable for each splash image
83 workdir = d.getVar('WORKDIR') 83 workdir = d.getVar('UNPACKDIR')
84 convertscript = "%s/make-image-header.sh" % d.getVar('S') 84 convertscript = "%s/make-image-header.sh" % d.getVar('S')
85 destfile = "%s/psplash-poky-img.h" % d.getVar('B') 85 destfile = "%s/psplash-poky-img.h" % d.getVar('B')
86 localfiles = d.getVar('SPLASH_LOCALPATHS').split() 86 localfiles = d.getVar('SPLASH_LOCALPATHS').split()
@@ -103,7 +103,7 @@ python do_compile () {
103do_install:append() { 103do_install:append() {
104 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then 104 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
105 install -d ${D}${sysconfdir}/init.d/ 105 install -d ${D}${sysconfdir}/init.d/
106 install -m 0755 ${WORKDIR}/psplash-init ${D}${sysconfdir}/init.d/psplash.sh 106 install -m 0755 ${UNPACKDIR}/psplash-init ${D}${sysconfdir}/init.d/psplash.sh
107 107
108 # make fifo for psplash 108 # make fifo for psplash
109 install -d ${D}/mnt 109 install -d ${D}/mnt
@@ -112,8 +112,8 @@ do_install:append() {
112 112
113 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then 113 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
114 install -d ${D}${systemd_system_unitdir} 114 install -d ${D}${systemd_system_unitdir}
115 install -m 644 ${WORKDIR}/psplash-start.service ${D}/${systemd_system_unitdir} 115 install -m 644 ${UNPACKDIR}/psplash-start.service ${D}/${systemd_system_unitdir}
116 install -m 644 ${WORKDIR}/psplash-systemd.service ${D}/${systemd_system_unitdir} 116 install -m 644 ${UNPACKDIR}/psplash-systemd.service ${D}/${systemd_system_unitdir}
117 fi 117 fi
118 118
119 install -d ${D}${bindir} 119 install -d ${D}${bindir}
diff --git a/meta/recipes-core/readline/readline.inc b/meta/recipes-core/readline/readline.inc
index 4aefc5636d..555bd0876f 100644
--- a/meta/recipes-core/readline/readline.inc
+++ b/meta/recipes-core/readline/readline.inc
@@ -38,7 +38,7 @@ do_install:append () {
38 rmdir ${D}${datadir}/${BPN} || true 38 rmdir ${D}${datadir}/${BPN} || true
39 39
40 install -m 0755 -d ${D}${sysconfdir} 40 install -m 0755 -d ${D}${sysconfdir}
41 install -m 0644 ${WORKDIR}/inputrc ${D}${sysconfdir}/inputrc 41 install -m 0644 ${UNPACKDIR}/inputrc ${D}${sysconfdir}/inputrc
42} 42}
43 43
44BBCLASSEXTEND = "native nativesdk" 44BBCLASSEXTEND = "native nativesdk"
@@ -54,4 +54,4 @@ ALTERNATIVE_LINK_NAME[history.3] = "${mandir}/man3/history.3"
54# OpenSuse injects versions into libreadline leading to conficits between our native one and theirs 54# OpenSuse injects versions into libreadline leading to conficits between our native one and theirs
55# see their spec file for where this is injected. Extra versioning is harmless so we just do the same. 55# see their spec file for where this is injected. Extra versioning is harmless so we just do the same.
56SRC_URI:append:class-native = " file://rl-native.map" 56SRC_URI:append:class-native = " file://rl-native.map"
57LDFLAGS:append:class-native = " -Wl,--version-script=${WORKDIR}/rl-native.map" 57LDFLAGS:append:class-native = " -Wl,--version-script=${UNPACKDIR}/rl-native.map"
diff --git a/meta/recipes-core/seatd/seatd_0.8.0.bb b/meta/recipes-core/seatd/seatd_0.8.0.bb
index 14c5b1b7ae..df5fe35f98 100644
--- a/meta/recipes-core/seatd/seatd_0.8.0.bb
+++ b/meta/recipes-core/seatd/seatd_0.8.0.bb
@@ -26,7 +26,7 @@ PACKAGECONFIG[systemd] = ",,systemd"
26 26
27do_install:append() { 27do_install:append() {
28 if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then 28 if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then
29 install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/seatd 29 install -Dm755 ${UNPACKDIR}/init ${D}/${sysconfdir}/init.d/seatd
30 fi 30 fi
31} 31}
32 32
diff --git a/meta/recipes-core/systemd/systemd-bootconf_1.00.bb b/meta/recipes-core/systemd/systemd-bootconf_1.00.bb
index 19637546a9..0ec49365d0 100644
--- a/meta/recipes-core/systemd/systemd-bootconf_1.00.bb
+++ b/meta/recipes-core/systemd/systemd-bootconf_1.00.bb
@@ -7,7 +7,8 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
7 7
8inherit systemd-boot-cfg 8inherit systemd-boot-cfg
9 9
10S = "${WORKDIR}" 10S = "${WORKDIR}/sources"
11UNPACKDIR = "${S}"
11 12
12LABELS = "boot" 13LABELS = "boot"
13 14
diff --git a/meta/recipes-core/systemd/systemd-compat-units.bb b/meta/recipes-core/systemd/systemd-compat-units.bb
index c03d97f9c9..b929545823 100644
--- a/meta/recipes-core/systemd/systemd-compat-units.bb
+++ b/meta/recipes-core/systemd/systemd-compat-units.bb
@@ -5,7 +5,8 @@ LICENSE = "MIT"
5 5
6PACKAGE_WRITE_DEPS += "systemd-systemctl-native" 6PACKAGE_WRITE_DEPS += "systemd-systemctl-native"
7 7
8S = "${WORKDIR}" 8S = "${WORKDIR}/sources"
9UNPACKDIR = "${S}"
9 10
10inherit features_check 11inherit features_check
11 12
diff --git a/meta/recipes-core/systemd/systemd-conf_1.0.bb b/meta/recipes-core/systemd/systemd-conf_1.0.bb
index 2355936631..b8bea0c25b 100644
--- a/meta/recipes-core/systemd/systemd-conf_1.0.bb
+++ b/meta/recipes-core/systemd/systemd-conf_1.0.bb
@@ -21,19 +21,22 @@ SRC_URI = "\
21 file://wired.network \ 21 file://wired.network \
22" 22"
23 23
24S = "${WORKDIR}/sources"
25UNPACKDIR = "${S}"
26
24do_install() { 27do_install() {
25 install -D -m0644 ${WORKDIR}/journald.conf ${D}${systemd_unitdir}/journald.conf.d/00-${PN}.conf 28 install -D -m0644 ${S}/journald.conf ${D}${systemd_unitdir}/journald.conf.d/00-${PN}.conf
26 install -D -m0644 ${WORKDIR}/logind.conf ${D}${systemd_unitdir}/logind.conf.d/00-${PN}.conf 29 install -D -m0644 ${S}/logind.conf ${D}${systemd_unitdir}/logind.conf.d/00-${PN}.conf
27 install -D -m0644 ${WORKDIR}/system.conf ${D}${systemd_unitdir}/system.conf.d/00-${PN}.conf 30 install -D -m0644 ${S}/system.conf ${D}${systemd_unitdir}/system.conf.d/00-${PN}.conf
28 31
29 if ${@bb.utils.contains('PACKAGECONFIG', 'dhcp-ethernet', 'true', 'false', d)}; then 32 if ${@bb.utils.contains('PACKAGECONFIG', 'dhcp-ethernet', 'true', 'false', d)}; then
30 install -D -m0644 ${WORKDIR}/wired.network ${D}${systemd_unitdir}/network/80-wired.network 33 install -D -m0644 ${S}/wired.network ${D}${systemd_unitdir}/network/80-wired.network
31 fi 34 fi
32} 35}
33 36
34# Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52 37# Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52
35do_install:append:qemuall() { 38do_install:append:qemuall() {
36 install -D -m0644 ${WORKDIR}/system.conf-qemuall ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf 39 install -D -m0644 ${S}/system.conf-qemuall ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf
37} 40}
38 41
39PACKAGE_ARCH = "${MACHINE_ARCH}" 42PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta/recipes-core/systemd/systemd-serialgetty.bb b/meta/recipes-core/systemd/systemd-serialgetty.bb
index 44a93ac684..9035b8c335 100644
--- a/meta/recipes-core/systemd/systemd-serialgetty.bb
+++ b/meta/recipes-core/systemd/systemd-serialgetty.bb
@@ -9,7 +9,8 @@ SERIAL_TERM ?= "linux"
9 9
10SRC_URI = "file://serial-getty@.service" 10SRC_URI = "file://serial-getty@.service"
11 11
12S = "${WORKDIR}" 12S = "${WORKDIR}/sources"
13UNPACKDIR = "${S}"
13 14
14# As this package is tied to systemd, only build it when we're also building systemd. 15# As this package is tied to systemd, only build it when we're also building systemd.
15inherit features_check 16inherit features_check
@@ -21,7 +22,7 @@ do_install() {
21 default_baudrate=`echo "${SERIAL_CONSOLES}" | sed 's/\;.*//'` 22 default_baudrate=`echo "${SERIAL_CONSOLES}" | sed 's/\;.*//'`
22 install -d ${D}${systemd_system_unitdir}/ 23 install -d ${D}${systemd_system_unitdir}/
23 install -d ${D}${sysconfdir}/systemd/system/getty.target.wants/ 24 install -d ${D}${sysconfdir}/systemd/system/getty.target.wants/
24 install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_system_unitdir}/ 25 install -m 0644 ${S}/serial-getty@.service ${D}${systemd_system_unitdir}/
25 sed -i -e "s/\@BAUDRATE\@/$default_baudrate/g" ${D}${systemd_system_unitdir}/serial-getty@.service 26 sed -i -e "s/\@BAUDRATE\@/$default_baudrate/g" ${D}${systemd_system_unitdir}/serial-getty@.service
26 sed -i -e "s/\@TERM\@/${SERIAL_TERM}/g" ${D}${systemd_system_unitdir}/serial-getty@.service 27 sed -i -e "s/\@TERM\@/${SERIAL_TERM}/g" ${D}${systemd_system_unitdir}/serial-getty@.service
27 28
@@ -35,7 +36,7 @@ do_install() {
35 ${D}${sysconfdir}/systemd/system/getty.target.wants/serial-getty@$ttydev.service 36 ${D}${sysconfdir}/systemd/system/getty.target.wants/serial-getty@$ttydev.service
36 else 37 else
37 # install custom service file for the non-default baudrate 38 # install custom service file for the non-default baudrate
38 install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service 39 install -m 0644 ${S}/serial-getty@.service ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service
39 sed -i -e "s/\@BAUDRATE\@/$baudrate/g" ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service 40 sed -i -e "s/\@BAUDRATE\@/$baudrate/g" ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service
40 # enable the service 41 # enable the service
41 ln -sf ${systemd_system_unitdir}/serial-getty$baudrate@.service \ 42 ln -sf ${systemd_system_unitdir}/serial-getty$baudrate@.service \
diff --git a/meta/recipes-core/systemd/systemd-systemctl-native.bb b/meta/recipes-core/systemd/systemd-systemctl-native.bb
index 54283bcba1..ffa024caef 100644
--- a/meta/recipes-core/systemd/systemd-systemctl-native.bb
+++ b/meta/recipes-core/systemd/systemd-systemctl-native.bb
@@ -8,9 +8,10 @@ inherit native
8 8
9SRC_URI = "file://systemctl" 9SRC_URI = "file://systemctl"
10 10
11S = "${WORKDIR}" 11S = "${WORKDIR}/sources"
12UNPACKDIR = "${S}"
12 13
13do_install() { 14do_install() {
14 install -d ${D}${bindir} 15 install -d ${D}${bindir}
15 install -m 0755 ${WORKDIR}/systemctl ${D}${bindir} 16 install -m 0755 ${S}/systemctl ${D}${bindir}
16} 17}
diff --git a/meta/recipes-core/systemd/systemd/0001-basic-add-PIDFS-magic-31709.patch b/meta/recipes-core/systemd/systemd/0001-basic-add-PIDFS-magic-31709.patch
new file mode 100644
index 0000000000..dd4be5ed2a
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0001-basic-add-PIDFS-magic-31709.patch
@@ -0,0 +1,53 @@
1From ed01b92e1c92871bbd92711f280e2b2d15753f0e Mon Sep 17 00:00:00 2001
2From: cpackham-atlnz <85916201+cpackham-atlnz@users.noreply.github.com>
3Date: Tue, 12 Mar 2024 00:55:36 +1300
4Subject: [PATCH] basic: add PIDFS magic (#31709)
5
6Kernel commit cb12fd8e0dabb9a1c8aef55a6a41e2c255fcdf4b added pidfs.
7Update filesystems-gperf.gperf and missing_magic.h accordingly.
8
9This fixes the following error building against a bleeding edge kernel.
10```
11../src/basic/meson.build:234:8: ERROR: Problem encountered: Unknown filesystems defined in kernel headers:
12
13Filesystem found in kernel header but not in filesystems-gperf.gperf: PID_FS_MAGIC
14```
15
16Upstream-Status: Backport [commit ed01b92e1c92871bbd92711f280e2b2d15753f0e]
17
18---
19 src/basic/filesystems-gperf.gperf | 1 +
20 src/basic/missing_magic.h | 5 +++++
21 2 files changed, 6 insertions(+)
22
23diff --git a/src/basic/filesystems-gperf.gperf b/src/basic/filesystems-gperf.gperf
24index e8c5357f91..1cd66b5a5f 100644
25--- a/src/basic/filesystems-gperf.gperf
26+++ b/src/basic/filesystems-gperf.gperf
27@@ -91,6 +91,7 @@ ocfs2, {OCFS2_SUPER_MAGIC}
28 openpromfs, {OPENPROM_SUPER_MAGIC}
29 orangefs, {ORANGEFS_DEVREQ_MAGIC}
30 overlay, {OVERLAYFS_SUPER_MAGIC}
31+pidfs, {PID_FS_MAGIC}
32 pipefs, {PIPEFS_MAGIC}
33 ppc-cmm, {PPC_CMM_MAGIC}
34 proc, {PROC_SUPER_MAGIC}
35diff --git a/src/basic/missing_magic.h b/src/basic/missing_magic.h
36index 27a33adecb..82d71c8ad1 100644
37--- a/src/basic/missing_magic.h
38+++ b/src/basic/missing_magic.h
39@@ -128,6 +128,11 @@
40 #define DEVMEM_MAGIC 0x454d444d
41 #endif
42
43+/* cb12fd8e0dabb9a1c8aef55a6a41e2c255fcdf4b (6.8) */
44+#ifndef PID_FS_MAGIC
45+#define PID_FS_MAGIC 0x50494446
46+#endif
47+
48 /* Not in mainline but included in Ubuntu */
49 #ifndef SHIFTFS_MAGIC
50 #define SHIFTFS_MAGIC 0x6a656a62
51--
522.39.2
53
diff --git a/meta/recipes-core/systemd/systemd_255.4.bb b/meta/recipes-core/systemd/systemd_255.4.bb
index e7498c802d..08af221a93 100644
--- a/meta/recipes-core/systemd/systemd_255.4.bb
+++ b/meta/recipes-core/systemd/systemd_255.4.bb
@@ -28,6 +28,7 @@ SRC_URI += " \
28 file://systemd-pager.sh \ 28 file://systemd-pager.sh \
29 file://0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch \ 29 file://0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
30 file://0008-implment-systemd-sysv-install-for-OE.patch \ 30 file://0008-implment-systemd-sysv-install-for-OE.patch \
31 file://0001-basic-add-PIDFS-magic-31709.patch \
31 " 32 "
32 33
33# patches needed by musl 34# patches needed by musl
@@ -271,14 +272,16 @@ WATCHDOG_TIMEOUT ??= "60"
271 272
272do_install() { 273do_install() {
273 meson_do_install 274 meson_do_install
274 # Change the root user's home directory in /lib/sysusers.d/basic.conf. 275 if ${@bb.utils.contains('PACKAGECONFIG', 'sysusers', 'true', 'false', d)}; then
275 # This is done merely for backward compatibility with previous systemd recipes. 276 # Change the root user's home directory in /lib/sysusers.d/basic.conf.
276 # systemd hardcodes root user's HOME to be "/root". Changing to use other values 277 # This is done merely for backward compatibility with previous systemd recipes.
277 # may have unexpected runtime behaviors. 278 # systemd hardcodes root user's HOME to be "/root". Changing to use other values
278 if [ "${ROOT_HOME}" != "/root" ]; then 279 # may have unexpected runtime behaviors.
279 bbwarn "Using ${ROOT_HOME} as root user's home directory is not fully supported by systemd" 280 if [ "${ROOT_HOME}" != "/root" ]; then
280 sed -i -e 's#/root#${ROOT_HOME}#g' ${D}${exec_prefix}/lib/sysusers.d/basic.conf 281 bbwarn "Using ${ROOT_HOME} as root user's home directory is not fully supported by systemd"
281 fi 282 sed -i -e 's#/root#${ROOT_HOME}#g' ${D}${exec_prefix}/lib/sysusers.d/basic.conf
283 fi
284 fi
282 install -d ${D}/${base_sbindir} 285 install -d ${D}/${base_sbindir}
283 if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then 286 if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then
284 # Provided by a separate recipe 287 # Provided by a separate recipe
@@ -291,15 +294,15 @@ do_install() {
291 294
292 install -d ${D}${sysconfdir}/udev/rules.d/ 295 install -d ${D}${sysconfdir}/udev/rules.d/
293 install -d ${D}${nonarch_libdir}/tmpfiles.d 296 install -d ${D}${nonarch_libdir}/tmpfiles.d
294 for rule in $(find ${WORKDIR} -maxdepth 1 -type f -name "*.rules"); do 297 for rule in $(find ${UNPACKDIR} -maxdepth 1 -type f -name "*.rules"); do
295 install -m 0644 $rule ${D}${sysconfdir}/udev/rules.d/ 298 install -m 0644 $rule ${D}${sysconfdir}/udev/rules.d/
296 done 299 done
297 300
298 install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${nonarch_libdir}/tmpfiles.d/ 301 install -m 0644 ${UNPACKDIR}/00-create-volatile.conf ${D}${nonarch_libdir}/tmpfiles.d/
299 302
300 if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then 303 if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
301 install -d ${D}${sysconfdir}/init.d 304 install -d ${D}${sysconfdir}/init.d
302 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd 305 install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd
303 sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd 306 sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd
304 install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install 307 install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install
305 fi 308 fi
@@ -370,9 +373,9 @@ do_install() {
370 # request hostname changes via DBUS without elevating its privileges 373 # request hostname changes via DBUS without elevating its privileges
371 if ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'true', 'false', d)}; then 374 if ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'true', 'false', d)}; then
372 install -d ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/ 375 install -d ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/
373 install -m 0644 ${WORKDIR}/00-hostnamed-network-user.conf ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/ 376 install -m 0644 ${UNPACKDIR}/00-hostnamed-network-user.conf ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/
374 install -d ${D}${datadir}/dbus-1/system.d/ 377 install -d ${D}${datadir}/dbus-1/system.d/
375 install -m 0644 ${WORKDIR}/org.freedesktop.hostname1_no_polkit.conf ${D}${datadir}/dbus-1/system.d/ 378 install -m 0644 ${UNPACKDIR}/org.freedesktop.hostname1_no_polkit.conf ${D}${datadir}/dbus-1/system.d/
376 fi 379 fi
377 380
378 # create link for existing udev rules 381 # create link for existing udev rules
@@ -380,10 +383,10 @@ do_install() {
380 383
381 # install default policy for presets 384 # install default policy for presets
382 # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto 385 # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto
383 install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset 386 install -Dm 0644 ${UNPACKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset
384 387
385 # add a profile fragment to disable systemd pager with busybox less 388 # add a profile fragment to disable systemd pager with busybox less
386 install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh 389 install -Dm 0644 ${UNPACKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh
387 390
388 if [ -n "${WATCHDOG_TIMEOUT}" ]; then 391 if [ -n "${WATCHDOG_TIMEOUT}" ]; then
389 sed -i -e 's/#RebootWatchdogSec=10min/RebootWatchdogSec=${WATCHDOG_TIMEOUT}/' \ 392 sed -i -e 's/#RebootWatchdogSec=10min/RebootWatchdogSec=${WATCHDOG_TIMEOUT}/' \
diff --git a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
index 6bbe517df1..6ff2ca1bf4 100644
--- a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
+++ b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb
@@ -6,7 +6,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;m
6SRC_URI = "file://inittab \ 6SRC_URI = "file://inittab \
7 file://start_getty" 7 file://start_getty"
8 8
9S = "${WORKDIR}" 9S = "${WORKDIR}/sources"
10UNPACKDIR = "${S}"
10 11
11INHIBIT_DEFAULT_DEPS = "1" 12INHIBIT_DEFAULT_DEPS = "1"
12 13
@@ -16,9 +17,9 @@ do_compile() {
16 17
17do_install() { 18do_install() {
18 install -d ${D}${sysconfdir} 19 install -d ${D}${sysconfdir}
19 install -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab 20 install -m 0644 ${S}/inittab ${D}${sysconfdir}/inittab
20 install -d ${D}${base_bindir} 21 install -d ${D}${base_bindir}
21 install -m 0755 ${WORKDIR}/start_getty ${D}${base_bindir}/start_getty 22 install -m 0755 ${S}/start_getty ${D}${base_bindir}/start_getty
22 sed -e 's,/usr/bin,${bindir},g' -i ${D}${base_bindir}/start_getty 23 sed -e 's,/usr/bin,${bindir},g' -i ${D}${base_bindir}/start_getty
23 24
24 CONSOLES="${SERIAL_CONSOLES}" 25 CONSOLES="${SERIAL_CONSOLES}"
diff --git a/meta/recipes-core/sysvinit/sysvinit_3.04.bb b/meta/recipes-core/sysvinit/sysvinit_3.04.bb
index 6a612468f3..fb9d00891c 100644
--- a/meta/recipes-core/sysvinit/sysvinit_3.04.bb
+++ b/meta/recipes-core/sysvinit/sysvinit_3.04.bb
@@ -97,18 +97,18 @@ do_install () {
97 97
98 sed -e \ 98 sed -e \
99 's:#PSPLASH_TEXT#:${@bb.utils.contains("PACKAGECONFIG","psplash-text-updates","yes","no", d)}:g' \ 99 's:#PSPLASH_TEXT#:${@bb.utils.contains("PACKAGECONFIG","psplash-text-updates","yes","no", d)}:g' \
100 ${WORKDIR}/rcS-default > ${D}${sysconfdir}/default/rcS 100 ${UNPACKDIR}/rcS-default > ${D}${sysconfdir}/default/rcS
101 chmod 0644 ${D}${sysconfdir}/default/rcS 101 chmod 0644 ${D}${sysconfdir}/default/rcS
102 install -m 0755 ${WORKDIR}/rc ${D}${sysconfdir}/init.d 102 install -m 0755 ${UNPACKDIR}/rc ${D}${sysconfdir}/init.d
103 install -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d 103 install -m 0755 ${UNPACKDIR}/rcS ${D}${sysconfdir}/init.d
104 install -m 0755 ${WORKDIR}/bootlogd.init ${D}${sysconfdir}/init.d/bootlogd 104 install -m 0755 ${UNPACKDIR}/bootlogd.init ${D}${sysconfdir}/init.d/bootlogd
105 ln -sf bootlogd ${D}${sysconfdir}/init.d/stop-bootlogd 105 ln -sf bootlogd ${D}${sysconfdir}/init.d/stop-bootlogd
106 106
107 update-rc.d -r ${D} bootlogd start 07 S . 107 update-rc.d -r ${D} bootlogd start 07 S .
108 update-rc.d -r ${D} stop-bootlogd start 99 2 3 4 5 . 108 update-rc.d -r ${D} stop-bootlogd start 99 2 3 4 5 .
109 109
110 install -d ${D}${sysconfdir}/default/volatiles 110 install -d ${D}${sysconfdir}/default/volatiles
111 install -m 0644 ${WORKDIR}/01_bootlogd ${D}${sysconfdir}/default/volatiles 111 install -m 0644 ${UNPACKDIR}/01_bootlogd ${D}${sysconfdir}/default/volatiles
112 112
113 chown root:shutdown ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown 113 chown root:shutdown ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown
114 chmod o-x,u+s ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown 114 chmod o-x,u+s ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown
diff --git a/meta/recipes-core/ttyrun/ttyrun_2.32.0.bb b/meta/recipes-core/ttyrun/ttyrun_2.32.0.bb
index 9a8be15dab..815f625a67 100644
--- a/meta/recipes-core/ttyrun/ttyrun_2.32.0.bb
+++ b/meta/recipes-core/ttyrun/ttyrun_2.32.0.bb
@@ -9,6 +9,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=f5118f167b055bfd7c3450803f1847af"
9SRC_URI = "git://github.com/ibm-s390-linux/s390-tools;protocol=https;branch=master" 9SRC_URI = "git://github.com/ibm-s390-linux/s390-tools;protocol=https;branch=master"
10SRCREV = "9eea78b3ad8ab3710fb3b2d80b9cd058d7c8aba7" 10SRCREV = "9eea78b3ad8ab3710fb3b2d80b9cd058d7c8aba7"
11 11
12CVE_PRODUCT = "s390-tools"
13
12S = "${WORKDIR}/git" 14S = "${WORKDIR}/git"
13 15
14EXTRA_OEMAKE = "\ 16EXTRA_OEMAKE = "\
diff --git a/meta/recipes-core/udev/eudev_3.2.14.bb b/meta/recipes-core/udev/eudev_3.2.14.bb
index 18696679c8..0e5610f77c 100644
--- a/meta/recipes-core/udev/eudev_3.2.14.bb
+++ b/meta/recipes-core/udev/eudev_3.2.14.bb
@@ -42,12 +42,12 @@ PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
42 42
43do_install:append() { 43do_install:append() {
44 install -d ${D}${sysconfdir}/init.d 44 install -d ${D}${sysconfdir}/init.d
45 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev 45 install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/udev
46 sed -i s%@UDEVD@%${base_sbindir}/udevd% ${D}${sysconfdir}/init.d/udev 46 sed -i s%@UDEVD@%${base_sbindir}/udevd% ${D}${sysconfdir}/init.d/udev
47 sed -i s%@KMOD@%${base_bindir}/kmod% ${D}${sysconfdir}/init.d/udev 47 sed -i s%@KMOD@%${base_bindir}/kmod% ${D}${sysconfdir}/init.d/udev
48 48
49 install -d ${D}${sysconfdir}/udev/rules.d 49 install -d ${D}${sysconfdir}/udev/rules.d
50 install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules 50 install -m 0644 ${UNPACKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
51 51
52 # Use classic network interface naming scheme if no 'pni-names' distro feature 52 # Use classic network interface naming scheme if no 'pni-names' distro feature
53 if ${@bb.utils.contains('DISTRO_FEATURES', 'pni-names', 'false', 'true', d)}; then 53 if ${@bb.utils.contains('DISTRO_FEATURES', 'pni-names', 'false', 'true', d)}; then
diff --git a/meta/recipes-core/udev/udev-extraconf_1.1.bb b/meta/recipes-core/udev/udev-extraconf_1.1.bb
index 30f1fe76d0..0e2abcd424 100644
--- a/meta/recipes-core/udev/udev-extraconf_1.1.bb
+++ b/meta/recipes-core/udev/udev-extraconf_1.1.bb
@@ -13,28 +13,29 @@ SRC_URI = " \
13 file://localextra.rules \ 13 file://localextra.rules \
14" 14"
15 15
16S = "${WORKDIR}" 16S = "${WORKDIR}/sources"
17UNPACKDIR = "${S}"
17 18
18MOUNT_BASE = "/run/media" 19MOUNT_BASE = "/run/media"
19 20
20do_install() { 21do_install() {
21 install -d ${D}${sysconfdir}/udev/rules.d 22 install -d ${D}${sysconfdir}/udev/rules.d
22 23
23 install -m 0644 ${WORKDIR}/automount.rules ${D}${sysconfdir}/udev/rules.d/automount.rules 24 install -m 0644 ${S}/automount.rules ${D}${sysconfdir}/udev/rules.d/automount.rules
24 install -m 0644 ${WORKDIR}/autonet.rules ${D}${sysconfdir}/udev/rules.d/autonet.rules 25 install -m 0644 ${S}/autonet.rules ${D}${sysconfdir}/udev/rules.d/autonet.rules
25 install -m 0644 ${WORKDIR}/localextra.rules ${D}${sysconfdir}/udev/rules.d/localextra.rules 26 install -m 0644 ${S}/localextra.rules ${D}${sysconfdir}/udev/rules.d/localextra.rules
26 27
27 install -d ${D}${sysconfdir}/udev/mount.ignorelist.d 28 install -d ${D}${sysconfdir}/udev/mount.ignorelist.d
28 install -m 0644 ${WORKDIR}/mount.ignorelist ${D}${sysconfdir}/udev/ 29 install -m 0644 ${S}/mount.ignorelist ${D}${sysconfdir}/udev/
29 30
30 install -d ${D}${sysconfdir}/udev/scripts/ 31 install -d ${D}${sysconfdir}/udev/scripts/
31 32
32 install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh 33 install -m 0755 ${S}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh
33 sed -i 's|@systemd_unitdir@|${systemd_unitdir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh 34 sed -i 's|@systemd_unitdir@|${systemd_unitdir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh
34 sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh 35 sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh
35 sed -i 's|@MOUNT_BASE@|${MOUNT_BASE}|g' ${D}${sysconfdir}/udev/scripts/mount.sh 36 sed -i 's|@MOUNT_BASE@|${MOUNT_BASE}|g' ${D}${sysconfdir}/udev/scripts/mount.sh
36 37
37 install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts 38 install -m 0755 ${S}/network.sh ${D}${sysconfdir}/udev/scripts
38} 39}
39 40
40pkg_postinst:${PN} () { 41pkg_postinst:${PN} () {
diff --git a/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb b/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb
index ba622fe716..27723c88ef 100644
--- a/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb
+++ b/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb
@@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://update-rc.d;beginline=5;endline=15;md5=d40a07c27f5354
8 8
9SRC_URI = "git://git.yoctoproject.org/update-rc.d;branch=master;protocol=https" 9SRC_URI = "git://git.yoctoproject.org/update-rc.d;branch=master;protocol=https"
10SRCREV = "b8f950105010270a768aa12245d6abf166346015" 10SRCREV = "b8f950105010270a768aa12245d6abf166346015"
11PV .= "+git"
11 12
12UPSTREAM_CHECK_COMMITS = "1" 13UPSTREAM_CHECK_COMMITS = "1"
13 14
diff --git a/meta/recipes-core/util-linux/util-linux_2.39.3.bb b/meta/recipes-core/util-linux/util-linux_2.39.3.bb
index 83b3f4e05b..2cd7750afc 100644
--- a/meta/recipes-core/util-linux/util-linux_2.39.3.bb
+++ b/meta/recipes-core/util-linux/util-linux_2.39.3.bb
@@ -148,7 +148,7 @@ SYSTEMD_SERVICE:${PN}-fstrim = "fstrim.timer fstrim.service"
148SYSTEMD_AUTO_ENABLE:${PN}-fstrim = "disable" 148SYSTEMD_AUTO_ENABLE:${PN}-fstrim = "disable"
149 149
150do_compile:append () { 150do_compile:append () {
151 cp ${WORKDIR}/fcntl-lock.c ${S}/fcntl-lock.c 151 cp ${UNPACKDIR}/fcntl-lock.c ${S}/fcntl-lock.c
152 ${CC} ${CFLAGS} ${LDFLAGS} ${S}/fcntl-lock.c -o ${B}/fcntl-lock 152 ${CC} ${CFLAGS} ${LDFLAGS} ${S}/fcntl-lock.c -o ${B}/fcntl-lock
153} 153}
154 154
@@ -194,8 +194,8 @@ do_install () {
194do_install:append:class-target () { 194do_install:append:class-target () {
195 if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then 195 if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then
196 install -d ${D}${sysconfdir}/pam.d 196 install -d ${D}${sysconfdir}/pam.d
197 install -m 0644 ${WORKDIR}/runuser.pamd ${D}${sysconfdir}/pam.d/runuser 197 install -m 0644 ${UNPACKDIR}/runuser.pamd ${D}${sysconfdir}/pam.d/runuser
198 install -m 0644 ${WORKDIR}/runuser-l.pamd ${D}${sysconfdir}/pam.d/runuser-l 198 install -m 0644 ${UNPACKDIR}/runuser-l.pamd ${D}${sysconfdir}/pam.d/runuser-l
199 # Required for "su -" aka "su --login" because 199 # Required for "su -" aka "su --login" because
200 # otherwise it uses "other", which has "auth pam_deny.so" 200 # otherwise it uses "other", which has "auth pam_deny.so"
201 # and thus prevents the operation. 201 # and thus prevents the operation.
@@ -282,8 +282,11 @@ blkid.8 eject.1 findfs.8 fsck.8 kill.1 last.1 lastb.1 libblkid.3 logger.1 mesg.1
282mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1\ 282mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1\
283" 283"
284ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'su.1', '', d)}" 284ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'su.1', '', d)}"
285ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'chfn-chsh', 'chfn.1 chsh.1', '', d)}"
285 286
286ALTERNATIVE_LINK_NAME[blkid.8] = "${mandir}/man8/blkid.8" 287ALTERNATIVE_LINK_NAME[blkid.8] = "${mandir}/man8/blkid.8"
288ALTERNATIVE_LINK_NAME[chfn.1] = "${mandir}/man1/chfn.1"
289ALTERNATIVE_LINK_NAME[chsh.1] = "${mandir}/man1/chsh.1"
287ALTERNATIVE_LINK_NAME[eject.1] = "${mandir}/man1/eject.1" 290ALTERNATIVE_LINK_NAME[eject.1] = "${mandir}/man1/eject.1"
288ALTERNATIVE_LINK_NAME[findfs.8] = "${mandir}/man8/findfs.8" 291ALTERNATIVE_LINK_NAME[findfs.8] = "${mandir}/man8/findfs.8"
289ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8" 292ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8"
@@ -319,7 +322,7 @@ do_install_ptest() {
319 cp ${S}/tests/*.sh ${D}${PTEST_PATH}/tests/ 322 cp ${S}/tests/*.sh ${D}${PTEST_PATH}/tests/
320 cp -pR ${S}/tests/expected ${D}${PTEST_PATH}/tests/expected 323 cp -pR ${S}/tests/expected ${D}${PTEST_PATH}/tests/expected
321 cp -pR ${S}/tests/ts ${D}${PTEST_PATH}/tests/ 324 cp -pR ${S}/tests/ts ${D}${PTEST_PATH}/tests/
322 cp ${WORKDIR}/build/config.h ${D}${PTEST_PATH} 325 cp ${B}/config.h ${D}${PTEST_PATH}
323 326
324 sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest 327 sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest
325 328
diff --git a/meta/recipes-core/volatile-binds/volatile-binds.bb b/meta/recipes-core/volatile-binds/volatile-binds.bb
index cca8a65fb4..3597ec7356 100644
--- a/meta/recipes-core/volatile-binds/volatile-binds.bb
+++ b/meta/recipes-core/volatile-binds/volatile-binds.bb
@@ -9,7 +9,8 @@ SRC_URI = "\
9 file://volatile-binds.service.in \ 9 file://volatile-binds.service.in \
10" 10"
11 11
12S = "${WORKDIR}" 12S = "${WORKDIR}/sources"
13UNPACKDIR = "${S}"
13 14
14inherit allarch systemd features_check 15inherit allarch systemd features_check
15 16
@@ -64,7 +65,6 @@ END
64 "$var_lib_servicefile" 65 "$var_lib_servicefile"
65 fi 66 fi
66} 67}
67do_compile[dirs] = "${WORKDIR}"
68 68
69do_install () { 69do_install () {
70 install -d ${D}${base_sbindir} 70 install -d ${D}${base_sbindir}
@@ -82,4 +82,3 @@ do_install () {
82 ln -s /dev/null ${D}${sysconfdir}/tmpfiles.d/etc.conf 82 ln -s /dev/null ${D}${sysconfdir}/tmpfiles.d/etc.conf
83 ln -s /dev/null ${D}${sysconfdir}/tmpfiles.d/home.conf 83 ln -s /dev/null ${D}${sysconfdir}/tmpfiles.d/home.conf
84} 84}
85do_install[dirs] = "${WORKDIR}"