Fix a number of non-machine pkg hash change issues
cover Fix a number of non-machine pkg hash change issues
While working on a system with multiple BSPs, but a single distro configuration, I struggled with an issue of PR numbers increasing quickly and different behavior from boot to boot.
The systemd one, it looks like there are two alternative solutions. I choose the one that was similar to a connman fix. Add a machine specific configuration recipe. The alternative would have been to adjust the test cases to pass the argument for the longer timeout via the kernel command line. I was worried that this could end up being a requirement for more then just test cases.
Note in this patch, I also moved the 'machine-id' file to the config stuff, with the note it appeared to me this made the most sense as someone may end up defining some specific semantics to that file in some configurations.
The remaining changes made sense in my configuration, but I'm not entirely sure they are the right solution. The other alternative I toyed with was to declare the package to be machine specific -only- for QEMU BSPs. But I'm not sure this really would have solved my PR number/hash problem.
Mark Hatle (4):
systemd: Remove items that made this machine (qemu) specific
mesa: Remove machine specific append
weston: Remove machine specific append
gstreamer: Remove machine specific append
meta/recipes-core/systemd/systemd-conf.bb | 51 +++++++++++++++++++ ...ange-the-default-device-timeout-to-2.patch | 35 ------------- meta/recipes-core/systemd/systemd_239.bb | 28 ++++------ meta/recipes-graphics/mesa/mesa.inc | 4 +- meta/recipes-graphics/wayland/weston_5.0.0.bb | 4 +- .../gstreamer/gstreamer1.0_1.14.2.bb | 2 - 6 files changed, 64 insertions(+), 60 deletions(-) create mode 100644 meta/recipes-core/systemd/systemd-conf.bb delete mode 100644 meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
Signature · 1 line
2.18.0
PATCH 1/4 systemd: Remove items that made this machine (qemu) specific
Create a new systemd-conf recipe to contain the specific system/machine configuration items. This new package is now machine specific.
Without doing this trying to create a single system with multiple BSPs, one of which was qemu based, would result in the systemd -and- everything that dependend upon systemd to have their hash changed. The hash changing means lots of rebuilds, but worse if it's a package based system each different machine ends with a new PR value and a newly generated package.
--- meta/recipes-core/systemd/systemd-conf.bb | 51 +++++++++++++++++++ ...ange-the-default-device-timeout-to-2.patch | 35 ------------- meta/recipes-core/systemd/systemd_239.bb | 28 ++++------ 3 files changed, 60 insertions(+), 54 deletions(-) create mode 100644 meta/recipes-core/systemd/systemd-conf.bb delete mode 100644 meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
meta/recipes-core/systemd/systemd-conf.bb new file +51 -0
@@ -0,0 +1,51 @@ +require systemd.inc + +SUMMARY = "Systemd system configuration" +DESCRIPTION = "Systemd may require slightly different configuration for \ +different machines. For example, qemu machines require a longer \ +DefaultTimeoutStartSec setting." + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +CONFFILES_${PN} = "${sysconfdir}/machine-id \ +${sysconfdir}/systemd/coredump.conf \ +${sysconfdir}/systemd/journald.conf \ +${sysconfdir}/systemd/logind.conf \ +${sysconfdir}/systemd/system.conf \ +${sysconfdir}/systemd/user.conf" + +FILES_${PN} = "${sysconfdir}/machine-id ${sysconfdir}/systemd" + +do_compile[noexec] = '1' + +do_install() { + install -d ${D}/${sysconfdir}/systemd + + # Create machine-id + # 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable + touch ${D}${sysconfdir}/machine-id + + install -m 0644 ${S}/src/coredump/coredump.conf ${D}${sysconfdir}/systemd/coredump.conf + + install -m 0644 ${S}/src/journal/journald.conf ${D}${sysconfdir}/systemd/journald.conf + # Enable journal to forward message to syslog daemon + sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' ${D}${sysconfdir}/systemd/journald.conf + # Set the maximium size of runtime journal to 64M as default + sed -i -e 's/.*RuntimeMaxUse.*/RuntimeMaxUse=64M/' ${D}${sysconfdir}/systemd/journald.conf + + install -m 0644 ${S}/src/login/logind.conf.in ${D}${sysconfdir}/systemd/logind.conf + # Set KILL_USER_PROCESSES to yes + sed -i -e 's/@KILL_USER_PROCESSES@/yes/' ${D}${sysconfdir}/systemd/logind.conf + + install -m 0644 ${S}/src/core/system.conf.in ${D}${sysconfdir}/systemd/system.conf + # Set MEMORY_ACCOUNTING_DEFAULT to yes + sed -i -e 's/@MEMORY_ACCOUNTING_DEFAULT@/yes/' ${D}${sysconfdir}/systemd/system.conf + + install -m 0644 ${S}/src/core/user.conf ${D}${sysconfdir}/systemd/user.conf +} + +# Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52 +do_install_append_qemuall() { + # Change DefaultTimeoutStartSec from 90s to 240s + echo "DefaultTimeoutStartSec = 240s" +}
meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch deleted +0 -35
@@ -1,35 +0,0 @@ -From 2925c0c3b6ce4056622b86c1c61ee14add430790 Mon Sep 17 00:00:00 2001 -From: Chen Qi <[email protected]> -Date: Thu, 28 Jun 2018 10:56:29 +0800 -Subject: [PATCH] core/device.c: Change the default device timeout to 240 sec. - MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 - Content-Transfer-Encoding: 8bit -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Inappropriate [Specific case QEMU/AB] - -Signed-off-by: Aníbal Limón <[email protected]> -Signed-off-by: Khem Raj <[email protected]> -Signed-off-by: Chen Qi <[email protected]> ---- - src/core/device.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/device.c b/src/core/device.c -index a2d00a0fb..f26e55ebb 100644 ---- a/src/core/device.c -+++ b/src/core/device.c -@@ -95,7 +95,7 @@ static void device_init(Unit *u) { - * indefinitely for plugged in devices, something which cannot - * happen for the other units since their operations time out - * anyway. */ -- u->job_running_timeout = u->manager->default_timeout_start_usec; -+ u->job_running_timeout = (240 * USEC_PER_SEC); - - u->ignore_on_isolate = true; - --- -2.11.0 -
meta/recipes-core/systemd/systemd_239.bb +9 -19
@@ -31,7 +31,6 @@ SRC_URI += "file://touchscreen.rules \ file://0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch \ file://0023-resolvconf-fixes-for-the-compatibility-interface.patch \ " -SRC_URI_append_qemuall = " file://0001-core-device.c-Change-the-default-device-timeout-to-2.patch" # patches made for musl are only applied on TCLIBC is musl SRC_URI += "${SRC_URI_MUSL}"
@@ -218,10 +217,6 @@ do_install() { [ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd - # Create machine-id - # 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable - touch ${D}${sysconfdir}/machine-id - install -d ${D}${sysconfdir}/udev/rules.d/ install -d ${D}${sysconfdir}/tmpfiles.d install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
@@ -256,11 +251,6 @@ do_install() { ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service fi - # Enable journal to forward message to syslog daemon - sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' ${D}${sysconfdir}/systemd/journald.conf - # Set the maximium size of runtime journal to 64M as default - sed -i -e 's/.*RuntimeMaxUse.*/RuntimeMaxUse=64M/' ${D}${sysconfdir}/systemd/journald.conf - # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it # for existence else it fails if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then
@@ -284,6 +274,14 @@ do_install() { chown polkitd:root ${D}${datadir}/polkit-1/rules.d fi fi + + # conf files are handled by systemd-conf + rm -f ${D}${sysconfdir}/machine-id + rm -f ${D}${sysconfdir}/systemd/coredump.conf + rm -f ${D}${sysconfdir}/systemd/journald.conf + rm -f ${D}${sysconfdir}/systemd/logind.conf + rm -f ${D}${sysconfdir}/systemd/system.conf + rm -f ${D}${sysconfdir}/systemd/user.conf }
@@ -433,13 +431,6 @@ FILES_${PN}-extra-utils = "\ ${rootlibexecdir}/systemd/systemd-cgroups-agent \ " -CONFFILES_${PN} = "${sysconfdir}/machine-id \ - ${sysconfdir}/systemd/coredump.conf \ - ${sysconfdir}/systemd/journald.conf \ - ${sysconfdir}/systemd/logind.conf \ - ${sysconfdir}/systemd/system.conf \ - ${sysconfdir}/systemd/user.conf" - FILES_${PN} = " ${base_bindir}/* \ ${base_sbindir}/shutdown \ ${base_sbindir}/halt \
@@ -455,7 +446,6 @@ FILES_${PN} = " ${base_bindir}/* \ ${datadir}/${BPN} \ ${datadir}/factory \ ${sysconfdir}/dbus-1/ \ - ${sysconfdir}/machine-id \ ${sysconfdir}/modules-load.d/ \ ${sysconfdir}/pam.d/ \ ${sysconfdir}/sysctl.d/ \
@@ -504,7 +494,7 @@ FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ $ RDEPENDS_${PN} += "kmod dbus util-linux-mount udev (= ${EXTENDPKGV}) util-linux-agetty util-linux-fsck" RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}" -RDEPENDS_${PN} += "volatile-binds update-rc.d" +RDEPENDS_${PN} += "volatile-binds update-rc.d systemd-conf" RRECOMMENDS_${PN} += "systemd-extra-utils \ systemd-compat-units udev-hwdb \
Signature · 1 line
2.18.0
Re: [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific
Quoted 65 lines · Mark Hatle
Create a new systemd-conf recipe to contain the specific system/machine configuration items. This new package is now machine specific.
Without doing this trying to create a single system with multiple BSPs, one of which was qemu based, would result in the systemd -and- everything that dependend upon systemd to have their hash changed. The hash changing means lots of rebuilds, but worse if it's a package based system each different machine ends with a new PR value and a newly generated package.
Signed-off-by Mark Hatle <[email protected]>--- meta/recipes-core/systemd/systemd-conf.bb | 51 +++++++++++++++++++ ...ange-the-default-device-timeout-to-2.patch | 35 ------------- meta/recipes-core/systemd/systemd_239.bb | 28 ++++------ 3 files changed, 60 insertions(+), 54 deletions(-)create mode 100644 meta/recipes-core/systemd/systemd-conf.bb
delete mode 100644meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patchmeta/recipes-core/systemd/systemd-conf.bb new file +41
-0@@ -0,0 +1,51 @@ +require systemd.inc + +SUMMARY = "Systemd system configuration" +DESCRIPTION = "Systemd may require slightly different configuration for \ +different machines. For example, qemu machines require a longer \ +DefaultTimeoutStartSec setting." + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +CONFFILES_${PN} = "${sysconfdir}/machine-id \ +${sysconfdir}/systemd/coredump.conf \ +${sysconfdir}/systemd/journald.conf \ +${sysconfdir}/systemd/logind.conf \ +${sysconfdir}/systemd/system.conf \ +${sysconfdir}/systemd/user.conf" + +FILES_${PN} = "${sysconfdir}/machine-id ${sysconfdir}/systemd" + +do_compile[noexec] = '1' + +do_install() { + install -d ${D}/${sysconfdir}/systemd + + # Create machine-id + # 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable + touch ${D}${sysconfdir}/machine-id + + install -m 0644 ${S}/src/coredump/coredump.conf ${D}${sysconfdir}/systemd/coredump.conf + + install -m 0644 ${S}/src/journal/journald.conf ${D}${sysconfdir}/systemd/journald.conf + # Enable journal to forward message to syslog daemon + sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' ${D}${sysconfdir}/systemd/journald.conf + # Set the maximium size of runtime journal to 64M as default + sed -i -e 's/.*RuntimeMaxUse.*/RuntimeMaxUse=64M/' ${D}${sysconfdir}/systemd/journald.conf + + install -m 0644 ${S}/src/login/logind.conf.in ${D}${sysconfdir}/systemd/logind.conf + # Set KILL_USER_PROCESSES to yes + sed -i -e 's/@KILL_USER_PROCESSES@/yes/' ${D}${sysconfdir}/systemd/logind.conf + + install -m 0644 ${S}/src/core/system.conf.in ${D}${sysconfdir}/systemd/system.conf + # Set MEMORY_ACCOUNTING_DEFAULT to yes
meta/recipes-core/systemd/systemd-conf.bb line 51
Quoted 10 lines
meta/recipes-core/systemd/systemd-conf.bb new file +10
-0+ sed -i -e 's/@MEMORY_ACCOUNTING_DEFAULT@/yes/' ${D}${sysconfdir}/systemd/system.conf + + install -m 0644 ${S}/src/core/user.conf ${D}${sysconfdir}/systemd/user.conf +} + +# Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52 +do_install_append_qemuall() { + # Change DefaultTimeoutStartSec from 90s to 240s + echo "DefaultTimeoutStartSec = 240s" +}
Seems to miss something like ">> ${D}${sysconfdir}/systemd/system.conf" ?
Best Regards,
Chen Qi
Quoted 122 lines
meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch deleted +0
-35@@ -1,35 +0,0 @@ -From 2925c0c3b6ce4056622b86c1c61ee14add430790 Mon Sep 17 00:00:00 2001 -From: Chen Qi <[email protected]> -Date: Thu, 28 Jun 2018 10:56:29 +0800 -Subject: [PATCH] core/device.c: Change the default device timeout to 240 sec. - MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 - Content-Transfer-Encoding: 8bit -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Inappropriate [Specific case QEMU/AB] - -Signed-off-by: Aníbal Limón <[email protected]> -Signed-off-by: Khem Raj <[email protected]> -Signed-off-by: Chen Qi <[email protected]> ---- - src/core/device.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/device.c b/src/core/device.c -index a2d00a0fb..f26e55ebb 100644 ---- a/src/core/device.c -+++ b/src/core/device.c -@@ -95,7 +95,7 @@ static void device_init(Unit *u) { - * indefinitely for plugged in devices, something which cannot - * happen for the other units since their operations time out - * anyway. */ -- u->job_running_timeout = u->manager->default_timeout_start_usec; -+ u->job_running_timeout = (240 * USEC_PER_SEC); - - u->ignore_on_isolate = true; - --- -2.11.0 -meta/recipes-core/systemd/systemd_239.bb +9
-19@@ -31,7 +31,6 @@ SRC_URI += "file://touchscreen.rules \ file://0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch \ file://0023-resolvconf-fixes-for-the-compatibility-interface.patch \ " -SRC_URI_append_qemuall = " file://0001-core-device.c-Change-the-default-device-timeout-to-2.patch" # patches made for musl are only applied on TCLIBC is musl SRC_URI += "${SRC_URI_MUSL}"@@ -218,10 +217,6 @@ do_install() { [ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd - # Create machine-id - # 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable - touch ${D}${sysconfdir}/machine-id - install -d ${D}${sysconfdir}/udev/rules.d/ install -d ${D}${sysconfdir}/tmpfiles.d install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/@@ -256,11 +251,6 @@ do_install() { ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service fi - # Enable journal to forward message to syslog daemon - sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' ${D}${sysconfdir}/systemd/journald.conf - # Set the maximium size of runtime journal to 64M as default - sed -i -e 's/.*RuntimeMaxUse.*/RuntimeMaxUse=64M/' ${D}${sysconfdir}/systemd/journald.conf - # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it # for existence else it fails if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then@@ -284,6 +274,14 @@ do_install() { chown polkitd:root ${D}${datadir}/polkit-1/rules.d fi fi + + # conf files are handled by systemd-conf + rm -f ${D}${sysconfdir}/machine-id + rm -f ${D}${sysconfdir}/systemd/coredump.conf + rm -f ${D}${sysconfdir}/systemd/journald.conf + rm -f ${D}${sysconfdir}/systemd/logind.conf + rm -f ${D}${sysconfdir}/systemd/system.conf + rm -f ${D}${sysconfdir}/systemd/user.conf }@@ -433,13 +431,6 @@ FILES_${PN}-extra-utils = "\ ${rootlibexecdir}/systemd/systemd-cgroups-agent \ " -CONFFILES_${PN} = "${sysconfdir}/machine-id \ - ${sysconfdir}/systemd/coredump.conf \ - ${sysconfdir}/systemd/journald.conf \ - ${sysconfdir}/systemd/logind.conf \ - ${sysconfdir}/systemd/system.conf \ - ${sysconfdir}/systemd/user.conf" - FILES_${PN} = " ${base_bindir}/* \ ${base_sbindir}/shutdown \ ${base_sbindir}/halt \@@ -455,7 +446,6 @@ FILES_${PN} = " ${base_bindir}/* \ ${datadir}/${BPN} \ ${datadir}/factory \ ${sysconfdir}/dbus-1/ \ - ${sysconfdir}/machine-id \ ${sysconfdir}/modules-load.d/ \ ${sysconfdir}/pam.d/ \ ${sysconfdir}/sysctl.d/ \@@ -504,7 +494,7 @@ FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ $ RDEPENDS_${PN} += "kmod dbus util-linux-mount udev (= ${EXTENDPKGV}) util-linux-agetty util-linux-fsck" RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}" -RDEPENDS_${PN} += "volatile-binds update-rc.d" +RDEPENDS_${PN} += "volatile-binds update-rc.d systemd-conf" RRECOMMENDS_${PN} += "systemd-extra-utils \ systemd-compat-units udev-hwdb \
Re: [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific
Quoted 70 lines · ChenQi
Quoted 69 lines · Mark Hatle
Create a new systemd-conf recipe to contain the specific system/machine configuration items. This new package is now machine specific.
Without doing this trying to create a single system with multiple BSPs, one of which was qemu based, would result in the systemd -and- everything that dependend upon systemd to have their hash changed. The hash changing means lots of rebuilds, but worse if it's a package based system each different machine ends with a new PR value and a newly generated package.
Signed-off-by Mark Hatle <[email protected]>--- meta/recipes-core/systemd/systemd-conf.bb | 51 +++++++++++++++++++ ...ange-the-default-device-timeout-to-2.patch | 35 ------------- meta/recipes-core/systemd/systemd_239.bb | 28 ++++------ 3 files changed, 60 insertions(+), 54 deletions(-)create mode 100644 meta/recipes-core/systemd/systemd-conf.bb
delete mode 100644meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patchmeta/recipes-core/systemd/systemd-conf.bb new file +45
-0@@ -0,0 +1,51 @@ +require systemd.inc + +SUMMARY = "Systemd system configuration" +DESCRIPTION = "Systemd may require slightly different configuration for \ +different machines. For example, qemu machines require a longer \ +DefaultTimeoutStartSec setting." + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +CONFFILES_${PN} = "${sysconfdir}/machine-id \ +${sysconfdir}/systemd/coredump.conf \ +${sysconfdir}/systemd/journald.conf \ +${sysconfdir}/systemd/logind.conf \ +${sysconfdir}/systemd/system.conf \ +${sysconfdir}/systemd/user.conf" + +FILES_${PN} = "${sysconfdir}/machine-id ${sysconfdir}/systemd" + +do_compile[noexec] = '1' + +do_install() { + install -d ${D}/${sysconfdir}/systemd + + # Create machine-id + # 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable + touch ${D}${sysconfdir}/machine-id + + install -m 0644 ${S}/src/coredump/coredump.conf ${D}${sysconfdir}/systemd/coredump.conf + + install -m 0644 ${S}/src/journal/journald.conf ${D}${sysconfdir}/systemd/journald.conf + # Enable journal to forward message to syslog daemon + sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' ${D}${sysconfdir}/systemd/journald.conf + # Set the maximium size of runtime journal to 64M as default + sed -i -e 's/.*RuntimeMaxUse.*/RuntimeMaxUse=64M/' ${D}${sysconfdir}/systemd/journald.conf + + install -m 0644 ${S}/src/login/logind.conf.in ${D}${sysconfdir}/systemd/logind.conf + # Set KILL_USER_PROCESSES to yes + sed -i -e 's/@KILL_USER_PROCESSES@/yes/' ${D}${sysconfdir}/systemd/logind.conf + + install -m 0644 ${S}/src/core/system.conf.in ${D}${sysconfdir}/systemd/system.conf + # Set MEMORY_ACCOUNTING_DEFAULT to yes + sed -i -e 's/@MEMORY_ACCOUNTING_DEFAULT@/yes/' ${D}${sysconfdir}/systemd/system.conf + + install -m 0644 ${S}/src/core/user.conf ${D}${sysconfdir}/systemd/user.conf +}
Quoted 8 lines
meta/recipes-core/systemd/systemd-conf.bb line 51
Quoted 6 lines
meta/recipes-core/systemd/systemd-conf.bb new file +6
-0+ +# Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52 +do_install_append_qemuall() { + # Change DefaultTimeoutStartSec from 90s to 240s + echo "DefaultTimeoutStartSec = 240s" +}Seems to miss something like ">>
${D}${sysconfdir}/systemd/system.conf" ?
I will update the commit. Good catch.
--Mark
Quoted 127 lines
Best Regards,
Chen QiQuoted 122 lines
meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch deleted +0
-35@@ -1,35 +0,0 @@ -From 2925c0c3b6ce4056622b86c1c61ee14add430790 Mon Sep 17 00:00:00 2001 -From: Chen Qi <[email protected]> -Date: Thu, 28 Jun 2018 10:56:29 +0800 -Subject: [PATCH] core/device.c: Change the default device timeout to 240 sec. - MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 - Content-Transfer-Encoding: 8bit -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Inappropriate [Specific case QEMU/AB] - -Signed-off-by: Aníbal Limón <[email protected]> -Signed-off-by: Khem Raj <[email protected]> -Signed-off-by: Chen Qi <[email protected]> ---- - src/core/device.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/device.c b/src/core/device.c -index a2d00a0fb..f26e55ebb 100644 ---- a/src/core/device.c -+++ b/src/core/device.c -@@ -95,7 +95,7 @@ static void device_init(Unit *u) { - * indefinitely for plugged in devices, something which cannot - * happen for the other units since their operations time out - * anyway. */ -- u->job_running_timeout = u->manager->default_timeout_start_usec; -+ u->job_running_timeout = (240 * USEC_PER_SEC); - - u->ignore_on_isolate = true; - --- -2.11.0 -meta/recipes-core/systemd/systemd_239.bb +9
-19@@ -31,7 +31,6 @@ SRC_URI += "file://touchscreen.rules \ file://0022-build-sys-Detect-whether-struct-statx-is-defined-in-.patch \ file://0023-resolvconf-fixes-for-the-compatibility-interface.patch \ " -SRC_URI_append_qemuall = " file://0001-core-device.c-Change-the-default-device-timeout-to-2.patch" # patches made for musl are only applied on TCLIBC is musl SRC_URI += "${SRC_URI_MUSL}"@@ -218,10 +217,6 @@ do_install() { [ ! -e ${D}/init ] && ln -s ${rootlibexecdir}/systemd/systemd ${D}/init [ ! -e ${D}/${base_sbindir}/udevd ] && ln -s ${rootlibexecdir}/systemd/systemd-udevd ${D}/${base_sbindir}/udevd - # Create machine-id - # 20:12 < mezcalero> koen: you have three options: a) run systemd-machine-id-setup at install time, b) have / read-only and an empty file there (for stateless) and c) boot with / writable - touch ${D}${sysconfdir}/machine-id - install -d ${D}${sysconfdir}/udev/rules.d/ install -d ${D}${sysconfdir}/tmpfiles.d install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/@@ -256,11 +251,6 @@ do_install() { ln -sf ../systemd-update-utmp-runlevel.service ${D}${systemd_unitdir}/system/rescue.target.wants/systemd-update-utmp-runlevel.service fi - # Enable journal to forward message to syslog daemon - sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' ${D}${sysconfdir}/systemd/journald.conf - # Set the maximium size of runtime journal to 64M as default - sed -i -e 's/.*RuntimeMaxUse.*/RuntimeMaxUse=64M/' ${D}${sysconfdir}/systemd/journald.conf - # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it # for existence else it fails if [ -s ${D}${exec_prefix}/lib/tmpfiles.d/systemd.conf ]; then@@ -284,6 +274,14 @@ do_install() { chown polkitd:root ${D}${datadir}/polkit-1/rules.d fi fi + + # conf files are handled by systemd-conf + rm -f ${D}${sysconfdir}/machine-id + rm -f ${D}${sysconfdir}/systemd/coredump.conf + rm -f ${D}${sysconfdir}/systemd/journald.conf + rm -f ${D}${sysconfdir}/systemd/logind.conf + rm -f ${D}${sysconfdir}/systemd/system.conf + rm -f ${D}${sysconfdir}/systemd/user.conf }@@ -433,13 +431,6 @@ FILES_${PN}-extra-utils = "\ ${rootlibexecdir}/systemd/systemd-cgroups-agent \ " -CONFFILES_${PN} = "${sysconfdir}/machine-id \ - ${sysconfdir}/systemd/coredump.conf \ - ${sysconfdir}/systemd/journald.conf \ - ${sysconfdir}/systemd/logind.conf \ - ${sysconfdir}/systemd/system.conf \ - ${sysconfdir}/systemd/user.conf" - FILES_${PN} = " ${base_bindir}/* \ ${base_sbindir}/shutdown \ ${base_sbindir}/halt \@@ -455,7 +446,6 @@ FILES_${PN} = " ${base_bindir}/* \ ${datadir}/${BPN} \ ${datadir}/factory \ ${sysconfdir}/dbus-1/ \ - ${sysconfdir}/machine-id \ ${sysconfdir}/modules-load.d/ \ ${sysconfdir}/pam.d/ \ ${sysconfdir}/sysctl.d/ \@@ -504,7 +494,7 @@ FILES_${PN}-dev += "${base_libdir}/security/*.la ${datadir}/dbus-1/interfaces/ $ RDEPENDS_${PN} += "kmod dbus util-linux-mount udev (= ${EXTENDPKGV}) util-linux-agetty util-linux-fsck" RDEPENDS_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', '', 'systemd-serialgetty', d)}" -RDEPENDS_${PN} += "volatile-binds update-rc.d" +RDEPENDS_${PN} += "volatile-binds update-rc.d systemd-conf" RRECOMMENDS_${PN} += "systemd-extra-utils \ systemd-compat-units udev-hwdb \
Re: [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific
In reply to Mark HatleQuoted 9 lines · Mark Hatle
Create a new systemd-conf recipe to contain the specific system/machine configuration items. This new package is now machine specific.
Without doing this trying to create a single system with multiple BSPs, one of which was qemu based, would result in the systemd -and- everything that dependend upon systemd to have their hash changed. The hash changing means lots of rebuilds, but worse if it's a package based system each different machine ends with a new PR value and a newly generated package.
Quoted 9 lines
Signed-off-by Mark Hatle <[email protected]>--- meta/recipes-core/systemd/systemd-conf.bb | 51 +++++++++++++++++++ ...ange-the-default-device-timeout-to-2.patch | 35 ------------- meta/recipes-core/systemd/systemd_239.bb | 28 ++++------ 3 files changed, 60 insertions(+), 54 deletions(-) create mode 100644 meta/recipes-core/systemd/systemd-conf.bb delete mode 100644 meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
With this patch, when systemd is enabled, it causes checksum issues:
$ oe-selftest -r sstatetests.SStateTests.test_sstate_sametune_samesigs
Its fixed by:
meta/conf/layer.conf +1 -0
@@ -74,6 +74,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ gnome-icon-theme->librsvg \ font-alias->font-util \ systemd-boot->systemd-bootconf \ + systemd->systemd-conf \ weston-init->weston \ weston-init->kbd \ "
Cheers,
Richard
Re: [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific
In reply to Mark HatleQuoted 23 lines · Mark Hatle
Create a new systemd-conf recipe to contain the specific system/machine
configuration items. This new package is now machine specific.Without doing this trying to create a single system with multiple BSPs,
one of which was qemu based, would result in the systemd -and- everything that
dependend upon systemd to have their hash changed. The hash changing means
lots of rebuilds, but worse if it's a package based system each different
machine ends with a new PR value and a newly generated package.Signed-off-by Mark Hatle <[email protected]>--- meta/recipes-core/systemd/systemd-conf.bb | 51 +++++++++++++++++++ ...ange-the-default-device-timeout-to-2.patch | 35 ------------- meta/recipes-core/systemd/systemd_239.bb | 28 ++++------ 3 files changed, 60 insertions(+), 54 deletions(-) create mode 100644 meta/recipes-core/systemd/systemd-conf.bb delete mode 100644 meta/recipes-core/systemd/systemd/0001-core-
Quoted 1 line
device.c-Change-the-default-device-timeout-to-2.patch
Something in -next is causing:
https://autobuilder.yoctoproject.org/typhoon/#/builders/35/builds/92/steps/7/logs/step7c
which is a systemd boot timeout.
Note that I fixed up the selftest issue with the patch, I also added a maintainers entry for systemd-conf to avoid another problem so please use the patch in -next for any further revisions. We're going to need more investigation to merge this though...
Cheers,
Richard
Re: [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific
Quoted 28 lines · Richard Purdie
Quoted 23 lines · Mark Hatle
Create a new systemd-conf recipe to contain the specific system/machine
configuration items. This new package is now machine specific.Without doing this trying to create a single system with multiple BSPs,
one of which was qemu based, would result in the systemd -and- everything that
dependend upon systemd to have their hash changed. The hash changing means
lots of rebuilds, but worse if it's a package based system each different
machine ends with a new PR value and a newly generated package.Signed-off-by Mark Hatle <[email protected]>--- meta/recipes-core/systemd/systemd-conf.bb | 51 +++++++++++++++++++ ...ange-the-default-device-timeout-to-2.patch | 35 ------------- meta/recipes-core/systemd/systemd_239.bb | 28 ++++------ 3 files changed, 60 insertions(+), 54 deletions(-) create mode 100644 meta/recipes-core/systemd/systemd-conf.bb delete mode 100644 meta/recipes-core/systemd/systemd/0001-core-Quoted 1 line
device.c-Change-the-default-device-timeout-to-2.patch
Something in -next is causing:
Quoted 8 lines
https://autobuilder.yoctoproject.org/typhoon/#/builders/35/builds/92/steps/7/logs/step7c
which is a systemd boot timeout.
Note that I fixed up the selftest issue with the patch, I also added a maintainers entry for systemd-conf to avoid another problem so please use the patch in -next for any further revisions. We're going to need more investigation to merge this though...
I'll work on this hopefully this week, and try to figure out why it's failing. I suspect the issue is the original purpose of the workaround. I suspect the timeout is staying at the default.
In my limited testing, I didn't experience this -- but I'm not exactly sure what the test configuration I should be using is to verify it.
--Mark
Quoted 6 lines
Cheers,
Richard
PATCH 2/4 mesa: Remove machine specific append
In reply to Mark HatleIf you try to build a system with multiple BSPs, one of which is qemux86 or qemux86-64, the overall system configuration will change and all of the graphics packages will end up being rebuilt each time.
For a package based system, the PR values will also be incremented each time. The end result will be an ever growing set of PR values as well as being unable to tell which configured version of the graphics components are really being deployed.
The solution was to always include the virgl gallium driver when an x86 based target is used. This may end up wasting some space, but solves the hash issue.
--- meta/recipes-graphics/mesa/mesa.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
meta/recipes-graphics/mesa/mesa.inc +2 -2
@@ -91,8 +91,8 @@ GALLIUMDRIVERS_LLVM33_ENABLED = "${@oe.utils.version_less_or_equal('MESA_LLVM_RE GALLIUMDRIVERS_LLVM = "r300,svga,nouveau${@',${GALLIUMDRIVERS_LLVM33}' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}" GALLIUMDRIVERS_append_x86 = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}" GALLIUMDRIVERS_append_x86-64 = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}" -GALLIUMDRIVERS_append_qemux86 = ",virgl" -GALLIUMDRIVERS_append_qemux86-64 = ",virgl" +GALLIUMDRIVERS_append_x86 = ",virgl" +GALLIUMDRIVERS_append_x86-64 = ",virgl" # keep --with-gallium-drivers separate, because when only one of gallium versions is enabled, other 2 were adding --without-gallium-drivers PACKAGECONFIG[gallium] = "--enable-texture-float --with-gallium-drivers=${GALLIUMDRIVERS}, --without-gallium-drivers" MESA_LLVM_RELEASE ?= "6.0"
Signature · 1 line
2.18.0
PATCH 3/4 weston: Remove machine specific append
In reply to Mark HatleIf you try to build a system with multiple BSPs, one of which is qemux86 or qemux86-64, the overall system configuration will change and all of the graphics packages will end up being rebuilt each time.
For a package based system, the PR values will also be incremented each time. The end result will be an ever growing set of PR values as well as being unable to tell which configured version of the graphics components are really being deployed.
The solution here was to always include the fbdev backend when an x86 BSP is enabled.
--- meta/recipes-graphics/wayland/weston_5.0.0.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
meta/recipes-graphics/wayland/weston_5.0.0.bb +2 -2
@@ -29,10 +29,10 @@ WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" EXTRA_OECONF = "--enable-setuid-install \ --disable-rdp-compositor \ " -EXTRA_OECONF_append_qemux86 = "\ +EXTRA_OECONF_append_x86 = "\ WESTON_NATIVE_BACKEND=fbdev-backend.so \ " -EXTRA_OECONF_append_qemux86-64 = "\ +EXTRA_OECONF_append_x86-64 = "\ WESTON_NATIVE_BACKEND=fbdev-backend.so \ " PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \
Signature · 1 line
2.18.0
Re: [PATCH 3/4] weston: Remove machine specific append
meta/recipes-graphics/wayland/weston_5.0.0.bb WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" · line 34
Quoted 4 lines · Mark Hatle
meta/recipes-graphics/wayland/weston_5.0.0.bb +1
-1-EXTRA_OECONF_append_qemux86 = "\ +EXTRA_OECONF_append_x86 = "\ WESTON_NATIVE_BACKEND=fbdev-backend.so \ "
This forces all x86 Westons that are not running inside X11 to use fbdev instead of drm.
Two questions:
1) does qemu still need fbdev or does virtio/drm work now? (iirc, we still have a crippled qemu here)
2) Can this be overridden in a config file instead
Ross
Re: [PATCH 3/4] weston: Remove machine specific append
Quoted 9 lines · Ross
meta/recipes-graphics/wayland/weston_5.0.0.bb WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" · line 34
Quoted 4 lines · Mark Hatle
meta/recipes-graphics/wayland/weston_5.0.0.bb +1
-1-EXTRA_OECONF_append_qemux86 = "\ +EXTRA_OECONF_append_x86 = "\ WESTON_NATIVE_BACKEND=fbdev-backend.so \ "This forces all x86 Westons that are not running inside X11 to use fbdev instead of drm.
Quoted 4 lines
Two questions:
1) does qemu still need fbdev or does virtio/drm work now? (iirc, we still have a crippled qemu here)
2) Can this be overridden in a config file instead
I did not understand how to do this. The alternative I see then is to make this a machine_arch package.. since the configuration can change?
(I'm not very familiar with this part of the system.)
--Mark
Quoted 2 lines
Ross
Re: [PATCH 3/4] weston: Remove machine specific append
Quoted 9 lines · Mark Hatle
Quoted 4 lines
Two questions:
1) does qemu still need fbdev or does virtio/drm work now? (iirc, we still have a crippled qemu here)
2) Can this be overridden in a config file insteadI did not understand how to do this. The alternative I see then is to make this a
machine_archpackage.. since the configuration can change?(I'm not very familiar with this part of the system.)
Looks like Weston supports this in the config file:
[core]
backend = fbdev-backend.so
Should be easy enough to ship a weston.ini for qemu machines.
Ross
Re: [PATCH 3/4] weston: Remove machine specific append
Quoted 11 lines · Ross
Quoted 9 lines · Mark Hatle
Quoted 4 lines
Two questions:
1) does qemu still need fbdev or does virtio/drm work now? (iirc, we still have a crippled qemu here)
2) Can this be overridden in a config file insteadI did not understand how to do this. The alternative I see then is to make this a
machine_archpackage.. since the configuration can change?(I'm not very familiar with this part of the system.)
Quoted 9 lines
Looks like Weston supports this in the config file:
[core]
backend = fbdev-backend.soShould be easy enough to ship a weston.ini for qemu machines.
Ross
I've been fighting this, and (assumign the above is correct), I can't figure out how to get weston to actually load the ini file. I suspect the problem is simply I don't know what path to put the config file in.... but since it runs on boot, I don't have any way to intercept it and strace or similar to see if it's actually trying to load things.
I'll continue working on them, but if anyone can help tell me where the ini file belongs or how to debug this -- that would help a lot.
(I've tried putting the file directly in the sysconf [/etc] directory, as well as /etc/xdg which was mentioned by the man page.)
--Mark
Re: [PATCH 3/4] weston: Remove machine specific append
In reply to Burton, RossAs far as I know virglrenderer works rather well now, and we should take it into use. WebOS already has support for it.
https://lwn.net/Articles/767970/
Alex
Quoted 22 lines · Ross
meta/recipes-graphics/wayland/weston_5.0.0.bb WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" · line 34
Quoted 6 lines · Mark Hatle
meta/recipes-graphics/wayland/weston_5.0.0.bb +1
-1-EXTRA_OECONF_append_qemux86 = "\ +EXTRA_OECONF_append_x86 = "\ WESTON_NATIVE_BACKEND=fbdev-backend.so \ "This forces all x86 Westons that are not running inside X11 to use fbdev instead of drm.
Two questions:
1) does qemu still need fbdev or does virtio/drm work now? (iirc, we still have a crippled qemu here)
2) Can this be overridden in a config file insteadRoss
Signature · 4 lines
_______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [PATCH 3/4] weston: Remove machine specific append
https://bugzilla.yoctoproject.org/show_bug.cgi?id=12938
Quoted 40 lines · Alexander Kanavin
As far as I know virglrenderer works rather well now, and we should take it into use. WebOS already has support for it.
https://lwn.net/Articles/767970/Alex
On 18 Oct 2018, at 12.24, Burton, Ross <[email protected]> wrote:
On Wed, 17 Oct 2018 at 17:44, Mark Hatle <[email protected]> wrote:
meta/recipes-graphics/wayland/weston_5.0.0.bb +1
-1-EXTRA_OECONF_append_qemux86 = "\ +EXTRA_OECONF_append_x86 = "\ WESTON_NATIVE_BACKEND=fbdev-backend.so \ "This forces all x86 Westons that are not running inside X11 to use fbdev instead of drm.
Two questions:
1) does qemu still need fbdev or does virtio/drm work now? (iirc, we still have a crippled qemu here)
2) Can this be overridden in a config file insteadRoss
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [PATCH 3/4] weston: Remove machine specific append
In reply to Alexander KanavinQuoted 3 lines · Alexander Kanavin
As far as I know virglrenderer works rather well now, and we should take it into use. WebOS already has support for it.
https://lwn.net/Articles/767970/
Sure, but that is 2.7 at this point...
Cheers,
Richard
PATCH 4/4 gstreamer: Remove machine specific append
In reply to Mark HatleIf you try to build a system with multiple BSPs, one of which is qemux86 or qemux86-64, the gstreamer package will change. This will trigger anything using gstream to also be rebuilt.
For a package based system, the PR values will also be incremented each time. The end result will be an ever growing set of PR values as well as being unable to tell which configured version of the multimedia components are really being deployed.
The solution here was to remove the rrecommend for consistency.
--- meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb | 2 -- 1 file changed, 2 deletions(-)
meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb +0 -2
@@ -55,8 +55,6 @@ FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include" FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*" -RRECOMMENDS_${PN}_qemux86 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi" -RRECOMMENDS_${PN}_qemux86-64 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi" RDEPENDS_${PN}-ptest += "make" delete_pkg_m4_file() {
Signature · 1 line
2.18.0
Re: [PATCH 4/4] gstreamer: Remove machine specific append
Quoted 21 lines · Mark Hatle
If you try to build a system with multiple BSPs, one of which is qemux86 or qemux86-64, the gstreamer package will change. This will trigger anything using gstream to also be rebuilt.
For a package based system, the PR values will also be incremented each time. The end result will be an ever growing set of PR values as well as being unable to tell which configured version of the multimedia components are really being deployed.
The solution here was to remove the rrecommend for consistency.
Signed-off-by Mark Hatle <[email protected]>--- meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb | 2 -- 1 file changed, 2 deletions(-)meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb +0
-0
meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" · line 58
Quoted 6 lines
meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb +0
-2@@ -55,8 +55,6 @@ FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include" FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*" -RRECOMMENDS_${PN}_qemux86 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi" -RRECOMMENDS_${PN}_qemux86-64 += "kernel-module-snd-ens1370 kernel-module-snd-rawmidi" RDEPENDS_${PN}-ptest += "make"
We can't just delete these, they need moving to the machine conf files instead. Since we need to build M4 soon and this is a problem, I've put a patch into master-next which does this for testing.
Cheers,
Richard