All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Fix a number of non-machine pkg hash change issues
@ 2018-10-17 16:43 Mark Hatle
  2018-10-17 16:43 ` [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific Mark Hatle
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Mark Hatle @ 2018-10-17 16:43 UTC (permalink / raw)
  To: openembedded-core

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

-- 
2.18.0



^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific
  2018-10-17 16:43 [PATCH 0/4] Fix a number of non-machine pkg hash change issues Mark Hatle
@ 2018-10-17 16:43 ` Mark Hatle
  2018-10-18  8:53   ` ChenQi
                     ` (2 more replies)
  2018-10-17 16:43 ` [PATCH 2/4] mesa: Remove machine specific append Mark Hatle
                   ` (2 subsequent siblings)
  3 siblings, 3 replies; 18+ messages in thread
From: Mark Hatle @ 2018-10-17 16:43 UTC (permalink / raw)
  To: openembedded-core

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 <mark.hatle@windriver.com>
---
 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

diff --git a/meta/recipes-core/systemd/systemd-conf.bb b/meta/recipes-core/systemd/systemd-conf.bb
new file mode 100644
index 0000000000..d39742b3a8
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd-conf.bb
@@ -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"
+}
diff --git a/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch b/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
deleted file mode 100644
index fd7bf3fcf6..0000000000
--- a/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 2925c0c3b6ce4056622b86c1c61ee14add430790 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-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 <anibal.limon@linux.intel.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- 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
-
diff --git a/meta/recipes-core/systemd/systemd_239.bb b/meta/recipes-core/systemd/systemd_239.bb
index 7ed932141d..bc16407e09 100644
--- a/meta/recipes-core/systemd/systemd_239.bb
+++ b/meta/recipes-core/systemd/systemd_239.bb
@@ -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 \
-- 
2.18.0



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 2/4] mesa: Remove machine specific append
  2018-10-17 16:43 [PATCH 0/4] Fix a number of non-machine pkg hash change issues Mark Hatle
  2018-10-17 16:43 ` [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific Mark Hatle
@ 2018-10-17 16:43 ` Mark Hatle
  2018-10-17 16:43 ` [PATCH 3/4] weston: " Mark Hatle
  2018-10-17 16:43 ` [PATCH 4/4] gstreamer: " Mark Hatle
  3 siblings, 0 replies; 18+ messages in thread
From: Mark Hatle @ 2018-10-17 16:43 UTC (permalink / raw)
  To: openembedded-core

If 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.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 meta/recipes-graphics/mesa/mesa.inc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 0dfdfbd5b4..0cc0a82de4 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -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"
-- 
2.18.0



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 3/4] weston: Remove machine specific append
  2018-10-17 16:43 [PATCH 0/4] Fix a number of non-machine pkg hash change issues Mark Hatle
  2018-10-17 16:43 ` [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific Mark Hatle
  2018-10-17 16:43 ` [PATCH 2/4] mesa: Remove machine specific append Mark Hatle
@ 2018-10-17 16:43 ` Mark Hatle
  2018-10-18 10:24   ` Burton, Ross
  2018-10-17 16:43 ` [PATCH 4/4] gstreamer: " Mark Hatle
  3 siblings, 1 reply; 18+ messages in thread
From: Mark Hatle @ 2018-10-17 16:43 UTC (permalink / raw)
  To: openembedded-core

If 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.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 meta/recipes-graphics/wayland/weston_5.0.0.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-graphics/wayland/weston_5.0.0.bb b/meta/recipes-graphics/wayland/weston_5.0.0.bb
index 299408b201..64256db198 100644
--- a/meta/recipes-graphics/wayland/weston_5.0.0.bb
+++ b/meta/recipes-graphics/wayland/weston_5.0.0.bb
@@ -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)} \
-- 
2.18.0



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 4/4] gstreamer: Remove machine specific append
  2018-10-17 16:43 [PATCH 0/4] Fix a number of non-machine pkg hash change issues Mark Hatle
                   ` (2 preceding siblings ...)
  2018-10-17 16:43 ` [PATCH 3/4] weston: " Mark Hatle
@ 2018-10-17 16:43 ` Mark Hatle
  2018-10-18 10:28   ` Richard Purdie
  3 siblings, 1 reply; 18+ messages in thread
From: Mark Hatle @ 2018-10-17 16:43 UTC (permalink / raw)
  To: openembedded-core

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 <mark.hatle@windriver.com>
---
 meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb | 2 --
 1 file changed, 2 deletions(-)

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb
index 7f291f6630..3a6e53de04 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb
@@ -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() {
-- 
2.18.0



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific
  2018-10-17 16:43 ` [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific Mark Hatle
@ 2018-10-18  8:53   ` ChenQi
  2018-10-18 15:37     ` Mark Hatle
  2018-10-18 22:57   ` Richard Purdie
  2018-10-20  8:41   ` Richard Purdie
  2 siblings, 1 reply; 18+ messages in thread
From: ChenQi @ 2018-10-18  8:53 UTC (permalink / raw)
  To: Mark Hatle, openembedded-core

On 10/18/2018 12:43 AM, Mark Hatle wrote:
> 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 <mark.hatle@windriver.com>
> ---
>   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
>
> diff --git a/meta/recipes-core/systemd/systemd-conf.bb b/meta/recipes-core/systemd/systemd-conf.bb
> new file mode 100644
> index 0000000000..d39742b3a8
> --- /dev/null
> +++ b/meta/recipes-core/systemd/systemd-conf.bb
> @@ -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"
> +}

Seems to miss something like ">> ${D}${sysconfdir}/systemd/system.conf" ?

Best Regards,
Chen Qi

> diff --git a/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch b/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
> deleted file mode 100644
> index fd7bf3fcf6..0000000000
> --- a/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
> +++ /dev/null
> @@ -1,35 +0,0 @@
> -From 2925c0c3b6ce4056622b86c1c61ee14add430790 Mon Sep 17 00:00:00 2001
> -From: Chen Qi <Qi.Chen@windriver.com>
> -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 <anibal.limon@linux.intel.com>
> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
> -Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> ----
> - 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
> -
> diff --git a/meta/recipes-core/systemd/systemd_239.bb b/meta/recipes-core/systemd/systemd_239.bb
> index 7ed932141d..bc16407e09 100644
> --- a/meta/recipes-core/systemd/systemd_239.bb
> +++ b/meta/recipes-core/systemd/systemd_239.bb
> @@ -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 \




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 3/4] weston: Remove machine specific append
  2018-10-17 16:43 ` [PATCH 3/4] weston: " Mark Hatle
@ 2018-10-18 10:24   ` Burton, Ross
  2018-10-18 15:38     ` Mark Hatle
  2018-10-25  8:36     ` Alexander Kanavin
  0 siblings, 2 replies; 18+ messages in thread
From: Burton, Ross @ 2018-10-18 10:24 UTC (permalink / raw)
  To: Mark Hatle; +Cc: OE-core

On Wed, 17 Oct 2018 at 17:44, Mark Hatle <mark.hatle@windriver.com> wrote:
> -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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 4/4] gstreamer: Remove machine specific append
  2018-10-17 16:43 ` [PATCH 4/4] gstreamer: " Mark Hatle
@ 2018-10-18 10:28   ` Richard Purdie
  0 siblings, 0 replies; 18+ messages in thread
From: Richard Purdie @ 2018-10-18 10:28 UTC (permalink / raw)
  To: Mark Hatle, openembedded-core

On Wed, 2018-10-17 at 12:43 -0400, Mark Hatle wrote:
> 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 <mark.hatle@windriver.com>
> ---
>  meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb
> index 7f291f6630..3a6e53de04 100644
> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.2.bb
> @@ -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




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific
  2018-10-18  8:53   ` ChenQi
@ 2018-10-18 15:37     ` Mark Hatle
  0 siblings, 0 replies; 18+ messages in thread
From: Mark Hatle @ 2018-10-18 15:37 UTC (permalink / raw)
  To: ChenQi, openembedded-core

On 10/18/18 3:53 AM, ChenQi wrote:
> On 10/18/2018 12:43 AM, Mark Hatle wrote:
>> 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 <mark.hatle@windriver.com>
>> ---
>>   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
>>
>> diff --git a/meta/recipes-core/systemd/systemd-conf.bb b/meta/recipes-core/systemd/systemd-conf.bb
>> new file mode 100644
>> index 0000000000..d39742b3a8
>> --- /dev/null
>> +++ b/meta/recipes-core/systemd/systemd-conf.bb
>> @@ -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"
>> +}
> 
> Seems to miss something like ">> ${D}${sysconfdir}/systemd/system.conf" ?

I will update the commit.  Good catch.

--Mark

> Best Regards,
> Chen Qi
> 
>> diff --git a/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch b/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
>> deleted file mode 100644
>> index fd7bf3fcf6..0000000000
>> --- a/meta/recipes-core/systemd/systemd/0001-core-device.c-Change-the-default-device-timeout-to-2.patch
>> +++ /dev/null
>> @@ -1,35 +0,0 @@
>> -From 2925c0c3b6ce4056622b86c1c61ee14add430790 Mon Sep 17 00:00:00 2001
>> -From: Chen Qi <Qi.Chen@windriver.com>
>> -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 <anibal.limon@linux.intel.com>
>> -Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> -Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>> ----
>> - 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
>> -
>> diff --git a/meta/recipes-core/systemd/systemd_239.bb b/meta/recipes-core/systemd/systemd_239.bb
>> index 7ed932141d..bc16407e09 100644
>> --- a/meta/recipes-core/systemd/systemd_239.bb
>> +++ b/meta/recipes-core/systemd/systemd_239.bb
>> @@ -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 \
> 
> 



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 3/4] weston: Remove machine specific append
  2018-10-18 10:24   ` Burton, Ross
@ 2018-10-18 15:38     ` Mark Hatle
  2018-10-19 10:51       ` Burton, Ross
  2018-10-25  8:36     ` Alexander Kanavin
  1 sibling, 1 reply; 18+ messages in thread
From: Mark Hatle @ 2018-10-18 15:38 UTC (permalink / raw)
  To: Burton, Ross; +Cc: OE-core

On 10/18/18 5:24 AM, Burton, Ross wrote:
> On Wed, 17 Oct 2018 at 17:44, Mark Hatle <mark.hatle@windriver.com> wrote:
>> -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

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

> Ross
> 



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific
  2018-10-17 16:43 ` [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific Mark Hatle
  2018-10-18  8:53   ` ChenQi
@ 2018-10-18 22:57   ` Richard Purdie
  2018-10-20  8:41   ` Richard Purdie
  2 siblings, 0 replies; 18+ messages in thread
From: Richard Purdie @ 2018-10-18 22:57 UTC (permalink / raw)
  To: Mark Hatle, openembedded-core

On Wed, 2018-10-17 at 12:43 -0400, Mark Hatle wrote:
> 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 <mark.hatle@windriver.com>
> ---
>  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:

diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf
index 6221a057ce6..504f7fa07ad 100644
--- a/meta/conf/layer.conf
+++ b/meta/conf/layer.conf
@@ -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



^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH 3/4] weston: Remove machine specific append
  2018-10-18 15:38     ` Mark Hatle
@ 2018-10-19 10:51       ` Burton, Ross
  2018-10-24 10:13         ` Mark Hatle
  0 siblings, 1 reply; 18+ messages in thread
From: Burton, Ross @ 2018-10-19 10:51 UTC (permalink / raw)
  To: Mark Hatle; +Cc: OE-core

On Thu, 18 Oct 2018 at 16:39, Mark Hatle <mark.hatle@windriver.com> wrote:
> > 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.)

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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific
  2018-10-17 16:43 ` [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific Mark Hatle
  2018-10-18  8:53   ` ChenQi
  2018-10-18 22:57   ` Richard Purdie
@ 2018-10-20  8:41   ` Richard Purdie
  2018-10-20 16:14     ` Mark Hatle
  2 siblings, 1 reply; 18+ messages in thread
From: Richard Purdie @ 2018-10-20  8:41 UTC (permalink / raw)
  To: Mark Hatle, openembedded-core

On Wed, 2018-10-17 at 12:43 -0400, Mark Hatle wrote:
> 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 <mark.hatle@windriver.com>
> ---
>  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

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





^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific
  2018-10-20  8:41   ` Richard Purdie
@ 2018-10-20 16:14     ` Mark Hatle
  0 siblings, 0 replies; 18+ messages in thread
From: Mark Hatle @ 2018-10-20 16:14 UTC (permalink / raw)
  To: Richard Purdie, openembedded-core

On 10/20/18 3:41 AM, Richard Purdie wrote:
> On Wed, 2018-10-17 at 12:43 -0400, Mark Hatle wrote:
>> 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 <mark.hatle@windriver.com>
>> ---
>>  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
> 
> 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...

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

> Cheers,
> 
> Richard
> 
> 
> 



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 3/4] weston: Remove machine specific append
  2018-10-19 10:51       ` Burton, Ross
@ 2018-10-24 10:13         ` Mark Hatle
  0 siblings, 0 replies; 18+ messages in thread
From: Mark Hatle @ 2018-10-24 10:13 UTC (permalink / raw)
  To: Burton, Ross; +Cc: OE-core

On 10/19/18 11:51 AM, Burton, Ross wrote:
> On Thu, 18 Oct 2018 at 16:39, Mark Hatle <mark.hatle@windriver.com> wrote:
>>> 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.)
> 
> 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
> 

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


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 3/4] weston: Remove machine specific append
  2018-10-18 10:24   ` Burton, Ross
  2018-10-18 15:38     ` Mark Hatle
@ 2018-10-25  8:36     ` Alexander Kanavin
  2018-10-25  9:05       ` Martin Jansa
  2018-10-25  9:26       ` Richard Purdie
  1 sibling, 2 replies; 18+ messages in thread
From: Alexander Kanavin @ 2018-10-25  8:36 UTC (permalink / raw)
  To: Burton, Ross; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 975 bytes --]

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 <ross.burton@intel.com> wrote:
> 
>> On Wed, 17 Oct 2018 at 17:44, Mark Hatle <mark.hatle@windriver.com> wrote:
>> -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
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

[-- Attachment #2: Type: text/html, Size: 2064 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 3/4] weston: Remove machine specific append
  2018-10-25  8:36     ` Alexander Kanavin
@ 2018-10-25  9:05       ` Martin Jansa
  2018-10-25  9:26       ` Richard Purdie
  1 sibling, 0 replies; 18+ messages in thread
From: Martin Jansa @ 2018-10-25  9:05 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 1345 bytes --]

https://bugzilla.yoctoproject.org/show_bug.cgi?id=12938

On Thu, Oct 25, 2018 at 10:36 AM Alexander Kanavin <alex.kanavin@gmail.com>
wrote:

> 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 <ross.burton@intel.com> wrote:
>
> On Wed, 17 Oct 2018 at 17:44, Mark Hatle <mark.hatle@windriver.com> wrote:
>
> -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
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 2820 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 3/4] weston: Remove machine specific append
  2018-10-25  8:36     ` Alexander Kanavin
  2018-10-25  9:05       ` Martin Jansa
@ 2018-10-25  9:26       ` Richard Purdie
  1 sibling, 0 replies; 18+ messages in thread
From: Richard Purdie @ 2018-10-25  9:26 UTC (permalink / raw)
  To: Alexander Kanavin, Burton, Ross; +Cc: OE-core

On Thu, 2018-10-25 at 10:36 +0200, Alexander Kanavin wrote:
> 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



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2018-10-25  9:26 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-17 16:43 [PATCH 0/4] Fix a number of non-machine pkg hash change issues Mark Hatle
2018-10-17 16:43 ` [PATCH 1/4] systemd: Remove items that made this machine (qemu) specific Mark Hatle
2018-10-18  8:53   ` ChenQi
2018-10-18 15:37     ` Mark Hatle
2018-10-18 22:57   ` Richard Purdie
2018-10-20  8:41   ` Richard Purdie
2018-10-20 16:14     ` Mark Hatle
2018-10-17 16:43 ` [PATCH 2/4] mesa: Remove machine specific append Mark Hatle
2018-10-17 16:43 ` [PATCH 3/4] weston: " Mark Hatle
2018-10-18 10:24   ` Burton, Ross
2018-10-18 15:38     ` Mark Hatle
2018-10-19 10:51       ` Burton, Ross
2018-10-24 10:13         ` Mark Hatle
2018-10-25  8:36     ` Alexander Kanavin
2018-10-25  9:05       ` Martin Jansa
2018-10-25  9:26       ` Richard Purdie
2018-10-17 16:43 ` [PATCH 4/4] gstreamer: " Mark Hatle
2018-10-18 10:28   ` Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.