All of lore.kernel.org
 help / color / mirror / Atom feed
* Review request 0/4: multiple fixes for oe-core
@ 2020-09-25  7:05 hongxu
  2020-09-25  7:05 ` [oe-core][PATCH 1/4] initramfs-framework/udev: umount /run/media/XXX hongxu
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: hongxu @ 2020-09-25  7:05 UTC (permalink / raw)
  To: openembedded-core, richard.purdie

Summary: multiple fixes for oe-core

[oe-core]
commit 7be68e2c562de447cb3efa35892ede4e5fe7b1db
Author: Hongxu Jia <hongxu.jia@windriver.com>
Date:   Thu Sep 3 14:04:53 2020 +0800

    alsa-state: run alsactl store in pkg_postinst
    
    Since the pkg_postinst is prior than alsa-state-init, it needs
    to run store first. On raspberry pi 4 boards, it failed to
    online install alsa-state
    
    [raspberry pi 4]
    root@bcm-2xxx-rpi4:~# # dnf install alsa-state
    No state is present for card Headphones
    alsa-lib ../../../alsa-lib-1.2.3.2/src/ucm/main.c:983:(snd_use_case_mgr_open)
    error: failed to import hw:0 use case configuration -2
    Found hardware: "bcm2835_headpho" "Broadcom Mixer" "" "" ""
    Hardware is initialized using a generic method
    No state is present for card Headphones
    %post(alsa-state-0.2.0-r5.0.cortexa72): waitpid(823) rc 823 status 6300
    warning: %post(alsa-state-0.2.0-r5.0.cortexa72) scriptlet failed, exit status 99
    
    Error in POSTIN scriptlet in rpm package alsa-state
    [raspberry pi 4]
    
    No regression on qemuxxx bsp
    
    Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>

commit e69855895d46e6dcf224f96d06ac22fe606642d2
Author: Hongxu Jia <hongxu.jia@windriver.com>
Date:   Thu Jul 25 04:06:09 2019 -0400

    archive: fix racing between do_ar_patched and do_kernel_configme
    
    While archive mode is 'patched', there is a probably racing between
    do_ar_patched and do_kernel_configme
    [snip]
    |File: 'oe-core/meta/classes/archiver.bbclass', lineno: 313, function: create_tarball
    ...
    |Exception: FileNotFoundError: [Errno 2] No such file or directory: 'build/
    tmp-glibc/work-shared/qemux86-64/kernel-source/.tmp.config.DCUH7mUNe3'
    [snip]
    
    Task do_kernel_configme will modify ${S}, and it broke create_tarball in
    do_ar_patched.
    
    Order do_kernel_configme and do_ar_patched to avoid racing.
    
    Also improve sstatesig.py to respect commit [fed0ed8 archiver.bbclass: do
    not cause kernel rebuilds]
    
    Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>

commit 3b15b531c15c298bc914a25b4cb0bf4a61e33fd4
Author: Hongxu Jia <hongxu.jia@windriver.com>
Date:   Tue Aug 20 02:32:54 2019 -0400

    util-linux: fix calling uuidd failed with /run/uuidd not found
    
    It failed to call uuidd
    ...
    root@qemux86-64:~# uuidd
    uuidd: cannot open /run/uuidd/uuidd.pid: No such file or directory
    ...
    
    Create volatile dir /run/uuidd for both of systemd and sysvinit system
    
    Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>

commit f11262a873ff0db868ed47538d939acb0b74b9e0
Author: Hongxu Jia <hongxu.jia@windriver.com>
Date:   Mon May 25 10:30:39 2020 +0800

    initramfs-framework/udev: umount /run/media/XXX
    
    In initramfs-framework, udev (initramfs-module-udev) calls hook mount.sh to
    mount /run/media/XXX which is used by setup-live (initramfs-module-setup-live).
    The setup-live calls install-XXX.sh and use /run/media/XXX to do installation
    
    The side effect is while setup-live is not used, after it switches to rootfs,
    and the mounted disk could not be released
    
    Release the mounted disk before switch root and after kill udev
    
    Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>





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

* [oe-core][PATCH 1/4] initramfs-framework/udev: umount /run/media/XXX
  2020-09-25  7:05 Review request 0/4: multiple fixes for oe-core hongxu
@ 2020-09-25  7:05 ` hongxu
  2021-06-11  7:36   ` Yu, Mingli
  2020-09-25  7:05 ` [oe-core][PATCH 2/4] util-linux: fix calling uuidd failed with /run/uuidd not found hongxu
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 10+ messages in thread
From: hongxu @ 2020-09-25  7:05 UTC (permalink / raw)
  To: openembedded-core, richard.purdie

In initramfs-framework, udev (initramfs-module-udev) calls hook mount.sh to
mount /run/media/XXX which is used by setup-live (initramfs-module-setup-live).
The setup-live calls install-XXX.sh and use /run/media/XXX to do installation

The side effect is while setup-live is not used, after it switches to rootfs,
and the mounted disk could not be released

Release the mounted disk before switch root and after kill udev

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 meta/recipes-core/initrdscripts/initramfs-framework/udev | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/udev b/meta/recipes-core/initrdscripts/initramfs-framework/udev
index 4898b89246..8b62080c68 100644
--- a/meta/recipes-core/initrdscripts/initramfs-framework/udev
+++ b/meta/recipes-core/initrdscripts/initramfs-framework/udev
@@ -8,6 +8,11 @@ udev_shutdown_hook_handler() {
 	if [ "$status" = "pre" ] && [ "$module" = "finish" ]; then
 		udevadm settle
 		killall `basename $_UDEV_DAEMON` 2>/dev/null
+
+		# Umount other media which is mounted by udev
+		for dir in `awk '/\/dev.* \/run\/media/{print $2}' /proc/mounts`; do
+			umount $dir
+		done
 	fi
 }
 
-- 
2.21.0


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

* [oe-core][PATCH 2/4] util-linux: fix calling uuidd failed with /run/uuidd not found
  2020-09-25  7:05 Review request 0/4: multiple fixes for oe-core hongxu
  2020-09-25  7:05 ` [oe-core][PATCH 1/4] initramfs-framework/udev: umount /run/media/XXX hongxu
@ 2020-09-25  7:05 ` hongxu
  2021-06-11  7:35   ` Yu, Mingli
  2020-09-25  7:05 ` [oe-core][PATCH 3/4] archive: fix racing between do_ar_patched and do_kernel_configme hongxu
  2020-09-25  7:05 ` [oe-core][PATCH 4/4] alsa-state: run alsactl store in pkg_postinst hongxu
  3 siblings, 1 reply; 10+ messages in thread
From: hongxu @ 2020-09-25  7:05 UTC (permalink / raw)
  To: openembedded-core, richard.purdie

It failed to call uuidd
...
root@qemux86-64:~# uuidd
uuidd: cannot open /run/uuidd/uuidd.pid: No such file or directory
...

Create volatile dir /run/uuidd for both of systemd and sysvinit system

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 .../util-linux/util-linux_2.36.bb             | 21 +++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/meta/recipes-core/util-linux/util-linux_2.36.bb b/meta/recipes-core/util-linux/util-linux_2.36.bb
index 2ad00ff0a5..3762308c38 100644
--- a/meta/recipes-core/util-linux/util-linux_2.36.bb
+++ b/meta/recipes-core/util-linux/util-linux_2.36.bb
@@ -151,6 +151,11 @@ FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.la"
 FILES_${PN}-mount = "${sysconfdir}/default/mountall"
 FILES_${PN}-runuser = "${sysconfdir}/pam.d/runuser*"
 FILES_${PN}-su = "${sysconfdir}/pam.d/su-l"
+FILES_${PN}-uuidd = " \
+    /etc/tmpfiles.d/uuidd.conf \
+    /etc/default/volatiles/99_uuidd \
+"
+
 CONFFILES_${PN}-su = "${sysconfdir}/pam.d/su-l"
 FILES_${PN}-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \
                           ${PYTHON_SITEPACKAGES_DIR}/libmount/__init__.* \
@@ -179,6 +184,12 @@ SYSTEMD_AUTO_ENABLE_${PN}-uuidd = "disable"
 SYSTEMD_SERVICE_${PN}-fstrim = "fstrim.timer fstrim.service"
 SYSTEMD_AUTO_ENABLE_${PN}-fstrim = "disable"
 
+pkg_postinst_${PN}-uuidd() {
+	if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then
+		${sysconfdir}/init.d/populate-volatile.sh update
+	fi
+}
+
 do_install () {
 	# with ccache the timestamps on compiled files may
 	# end up earlier than on their inputs, this allows
@@ -226,6 +237,16 @@ do_install_append_class-target () {
 		# and thus prevents the operation.
 		ln -s su ${D}${sysconfdir}/pam.d/su-l
 	fi
+
+	if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+		install -d ${D}${sysconfdir}/tmpfiles.d
+		echo "d /run/uuidd 0755 root root - -" > ${D}${sysconfdir}/tmpfiles.d/uuidd.conf
+	fi
+
+	if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+		install -d ${D}${sysconfdir}/default/volatiles
+		echo "d root root 0755 /run/uuidd none" > ${D}${sysconfdir}/default/volatiles/99_uuidd
+	fi
 }
 # nologin causes a conflict with shadow-native
 # kill causes a conflict with coreutils-native (if ${bindir}==${base_bindir})
-- 
2.21.0


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

* [oe-core][PATCH 3/4] archive: fix racing between do_ar_patched and do_kernel_configme
  2020-09-25  7:05 Review request 0/4: multiple fixes for oe-core hongxu
  2020-09-25  7:05 ` [oe-core][PATCH 1/4] initramfs-framework/udev: umount /run/media/XXX hongxu
  2020-09-25  7:05 ` [oe-core][PATCH 2/4] util-linux: fix calling uuidd failed with /run/uuidd not found hongxu
@ 2020-09-25  7:05 ` hongxu
  2021-06-11  7:38   ` Yu, Mingli
  2020-09-25  7:05 ` [oe-core][PATCH 4/4] alsa-state: run alsactl store in pkg_postinst hongxu
  3 siblings, 1 reply; 10+ messages in thread
From: hongxu @ 2020-09-25  7:05 UTC (permalink / raw)
  To: openembedded-core, richard.purdie

While archive mode is 'patched', there is a probably racing between
do_ar_patched and do_kernel_configme
[snip]
|File: 'oe-core/meta/classes/archiver.bbclass', lineno: 313, function: create_tarball
...
|Exception: FileNotFoundError: [Errno 2] No such file or directory: 'build/
tmp-glibc/work-shared/qemux86-64/kernel-source/.tmp.config.DCUH7mUNe3'
[snip]

Task do_kernel_configme will modify ${S}, and it broke create_tarball in
do_ar_patched.

Order do_kernel_configme and do_ar_patched to avoid racing.

Also improve sstatesig.py to respect commit [fed0ed8 archiver.bbclass: do
not cause kernel rebuilds]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 meta/classes/archiver.bbclass | 8 ++++++--
 meta/lib/oe/sstatesig.py      | 3 ++-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
index aff1f9dbb0..efab438ebd 100644
--- a/meta/classes/archiver.bbclass
+++ b/meta/classes/archiver.bbclass
@@ -596,7 +596,11 @@ python () {
     # Add tasks in the correct order, specifically for linux-yocto to avoid race condition.
     # sstatesig.py:sstate_rundepfilter has special support that excludes this dependency
     # so that do_kernel_configme does not need to run again when do_unpack_and_patch
-    # gets added or removed (by adding or removing archiver.bbclass).
+    # or do_ar_patched gets added or removed (by adding or removing archiver.bbclass).
     if bb.data.inherits_class('kernel-yocto', d):
-        bb.build.addtask('do_kernel_configme', 'do_configure', 'do_unpack_and_patch', d)
+        ar_src = d.getVarFlag('ARCHIVER_MODE', 'src')
+        if ar_src == "patched":
+            bb.build.addtask('do_kernel_configme', 'do_configure', 'do_ar_patched', d)
+        else:
+            bb.build.addtask('do_kernel_configme', 'do_configure', 'do_unpack_and_patch', d)
 }
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 21ae0a7657..30afbcd617 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -32,7 +32,8 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCaches):
     # from a mcdepends). The exception is the special
     # do_kernel_configme->do_unpack_and_patch dependency from archiver.bbclass.
     if recipename == depname and depmc == mc:
-        if task == "do_kernel_configme" and deptaskname == "do_unpack_and_patch":
+        if task == "do_kernel_configme" and (dep.endswith(".do_unpack_and_patch") or \
+                                             dep.endswith(".do_ar_patched")):
             return False
         return True
 
-- 
2.21.0


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

* [oe-core][PATCH 4/4] alsa-state: run alsactl store in pkg_postinst
  2020-09-25  7:05 Review request 0/4: multiple fixes for oe-core hongxu
                   ` (2 preceding siblings ...)
  2020-09-25  7:05 ` [oe-core][PATCH 3/4] archive: fix racing between do_ar_patched and do_kernel_configme hongxu
@ 2020-09-25  7:05 ` hongxu
  2021-06-11  7:39   ` Yu, Mingli
  3 siblings, 1 reply; 10+ messages in thread
From: hongxu @ 2020-09-25  7:05 UTC (permalink / raw)
  To: openembedded-core, richard.purdie

Since the pkg_postinst is prior than alsa-state-init, it needs
to run store first. On raspberry pi 4 boards, it failed to
online install alsa-state

[raspberry pi 4]
root@bcm-2xxx-rpi4:~# # dnf install alsa-state
No state is present for card Headphones
alsa-lib ../../../alsa-lib-1.2.3.2/src/ucm/main.c:983:(snd_use_case_mgr_open)
error: failed to import hw:0 use case configuration -2
Found hardware: "bcm2835_headpho" "Broadcom Mixer" "" "" ""
Hardware is initialized using a generic method
No state is present for card Headphones
%post(alsa-state-0.2.0-r5.0.cortexa72): waitpid(823) rc 823 status 6300
warning: %post(alsa-state-0.2.0-r5.0.cortexa72) scriptlet failed, exit status 99

Error in POSTIN scriptlet in rpm package alsa-state
[raspberry pi 4]

No regression on qemuxxx bsp

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 meta/recipes-bsp/alsa-state/alsa-state.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-bsp/alsa-state/alsa-state.bb b/meta/recipes-bsp/alsa-state/alsa-state.bb
index cec2272c80..98a9381b4c 100644
--- a/meta/recipes-bsp/alsa-state/alsa-state.bb
+++ b/meta/recipes-bsp/alsa-state/alsa-state.bb
@@ -62,7 +62,7 @@ pkg_postinst_${PN}() {
 	then
 		if test -x ${sbindir}/alsactl
 		then
-			${sbindir}/alsactl -g -f ${localstatedir}/lib/alsa/asound.state restore
+			${sbindir}/alsactl -g -f ${localstatedir}/lib/alsa/asound.state store
 		fi
 	fi
 }
-- 
2.21.0


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

* Re: [oe-core][PATCH 2/4] util-linux: fix calling uuidd failed with /run/uuidd not found
  2020-09-25  7:05 ` [oe-core][PATCH 2/4] util-linux: fix calling uuidd failed with /run/uuidd not found hongxu
@ 2021-06-11  7:35   ` Yu, Mingli
  0 siblings, 0 replies; 10+ messages in thread
From: Yu, Mingli @ 2021-06-11  7:35 UTC (permalink / raw)
  To: hongxu, openembedded-core, richard.purdie

Ping.

Thanks,

On 9/25/20 3:05 PM, hongxu wrote:
> It failed to call uuidd
> ...
> root@qemux86-64:~# uuidd
> uuidd: cannot open /run/uuidd/uuidd.pid: No such file or directory
> ...
> 
> Create volatile dir /run/uuidd for both of systemd and sysvinit system
> 
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> ---
>   .../util-linux/util-linux_2.36.bb             | 21 +++++++++++++++++++
>   1 file changed, 21 insertions(+)
> 
> diff --git a/meta/recipes-core/util-linux/util-linux_2.36.bb b/meta/recipes-core/util-linux/util-linux_2.36.bb
> index 2ad00ff0a5..3762308c38 100644
> --- a/meta/recipes-core/util-linux/util-linux_2.36.bb
> +++ b/meta/recipes-core/util-linux/util-linux_2.36.bb
> @@ -151,6 +151,11 @@ FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.la"
>   FILES_${PN}-mount = "${sysconfdir}/default/mountall"
>   FILES_${PN}-runuser = "${sysconfdir}/pam.d/runuser*"
>   FILES_${PN}-su = "${sysconfdir}/pam.d/su-l"
> +FILES_${PN}-uuidd = " \
> +    /etc/tmpfiles.d/uuidd.conf \
> +    /etc/default/volatiles/99_uuidd \
> +"
> +
>   CONFFILES_${PN}-su = "${sysconfdir}/pam.d/su-l"
>   FILES_${PN}-pylibmount = "${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \
>                             ${PYTHON_SITEPACKAGES_DIR}/libmount/__init__.* \
> @@ -179,6 +184,12 @@ SYSTEMD_AUTO_ENABLE_${PN}-uuidd = "disable"
>   SYSTEMD_SERVICE_${PN}-fstrim = "fstrim.timer fstrim.service"
>   SYSTEMD_AUTO_ENABLE_${PN}-fstrim = "disable"
>   
> +pkg_postinst_${PN}-uuidd() {
> +	if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then
> +		${sysconfdir}/init.d/populate-volatile.sh update
> +	fi
> +}
> +
>   do_install () {
>   	# with ccache the timestamps on compiled files may
>   	# end up earlier than on their inputs, this allows
> @@ -226,6 +237,16 @@ do_install_append_class-target () {
>   		# and thus prevents the operation.
>   		ln -s su ${D}${sysconfdir}/pam.d/su-l
>   	fi
> +
> +	if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
> +		install -d ${D}${sysconfdir}/tmpfiles.d
> +		echo "d /run/uuidd 0755 root root - -" > ${D}${sysconfdir}/tmpfiles.d/uuidd.conf
> +	fi
> +
> +	if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
> +		install -d ${D}${sysconfdir}/default/volatiles
> +		echo "d root root 0755 /run/uuidd none" > ${D}${sysconfdir}/default/volatiles/99_uuidd
> +	fi
>   }
>   # nologin causes a conflict with shadow-native
>   # kill causes a conflict with coreutils-native (if ${bindir}==${base_bindir})
> 
> 
> 
> 
> 

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

* Re: [oe-core][PATCH 1/4] initramfs-framework/udev: umount /run/media/XXX
  2020-09-25  7:05 ` [oe-core][PATCH 1/4] initramfs-framework/udev: umount /run/media/XXX hongxu
@ 2021-06-11  7:36   ` Yu, Mingli
  2021-06-11 16:46     ` Alexander Kanavin
  0 siblings, 1 reply; 10+ messages in thread
From: Yu, Mingli @ 2021-06-11  7:36 UTC (permalink / raw)
  To: hongxu, openembedded-core, richard.purdie

Ping.

Thanks,

On 9/25/20 3:05 PM, hongxu wrote:
> In initramfs-framework, udev (initramfs-module-udev) calls hook mount.sh to
> mount /run/media/XXX which is used by setup-live (initramfs-module-setup-live).
> The setup-live calls install-XXX.sh and use /run/media/XXX to do installation
> 
> The side effect is while setup-live is not used, after it switches to rootfs,
> and the mounted disk could not be released
> 
> Release the mounted disk before switch root and after kill udev
> 
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> ---
>   meta/recipes-core/initrdscripts/initramfs-framework/udev | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/udev b/meta/recipes-core/initrdscripts/initramfs-framework/udev
> index 4898b89246..8b62080c68 100644
> --- a/meta/recipes-core/initrdscripts/initramfs-framework/udev
> +++ b/meta/recipes-core/initrdscripts/initramfs-framework/udev
> @@ -8,6 +8,11 @@ udev_shutdown_hook_handler() {
>   	if [ "$status" = "pre" ] && [ "$module" = "finish" ]; then
>   		udevadm settle
>   		killall `basename $_UDEV_DAEMON` 2>/dev/null
> +
> +		# Umount other media which is mounted by udev
> +		for dir in `awk '/\/dev.* \/run\/media/{print $2}' /proc/mounts`; do
> +			umount $dir
> +		done
>   	fi
>   }
>   
> 
> 
> 
> 
> 

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

* Re: [oe-core][PATCH 3/4] archive: fix racing between do_ar_patched and do_kernel_configme
  2020-09-25  7:05 ` [oe-core][PATCH 3/4] archive: fix racing between do_ar_patched and do_kernel_configme hongxu
@ 2021-06-11  7:38   ` Yu, Mingli
  0 siblings, 0 replies; 10+ messages in thread
From: Yu, Mingli @ 2021-06-11  7:38 UTC (permalink / raw)
  To: hongxu, openembedded-core, richard.purdie

Ping.

Thanks,

On 9/25/20 3:05 PM, hongxu wrote:
> While archive mode is 'patched', there is a probably racing between
> do_ar_patched and do_kernel_configme
> [snip]
> |File: 'oe-core/meta/classes/archiver.bbclass', lineno: 313, function: create_tarball
> ...
> |Exception: FileNotFoundError: [Errno 2] No such file or directory: 'build/
> tmp-glibc/work-shared/qemux86-64/kernel-source/.tmp.config.DCUH7mUNe3'
> [snip]
> 
> Task do_kernel_configme will modify ${S}, and it broke create_tarball in
> do_ar_patched.
> 
> Order do_kernel_configme and do_ar_patched to avoid racing.
> 
> Also improve sstatesig.py to respect commit [fed0ed8 archiver.bbclass: do
> not cause kernel rebuilds]
> 
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> ---
>   meta/classes/archiver.bbclass | 8 ++++++--
>   meta/lib/oe/sstatesig.py      | 3 ++-
>   2 files changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
> index aff1f9dbb0..efab438ebd 100644
> --- a/meta/classes/archiver.bbclass
> +++ b/meta/classes/archiver.bbclass
> @@ -596,7 +596,11 @@ python () {
>       # Add tasks in the correct order, specifically for linux-yocto to avoid race condition.
>       # sstatesig.py:sstate_rundepfilter has special support that excludes this dependency
>       # so that do_kernel_configme does not need to run again when do_unpack_and_patch
> -    # gets added or removed (by adding or removing archiver.bbclass).
> +    # or do_ar_patched gets added or removed (by adding or removing archiver.bbclass).
>       if bb.data.inherits_class('kernel-yocto', d):
> -        bb.build.addtask('do_kernel_configme', 'do_configure', 'do_unpack_and_patch', d)
> +        ar_src = d.getVarFlag('ARCHIVER_MODE', 'src')
> +        if ar_src == "patched":
> +            bb.build.addtask('do_kernel_configme', 'do_configure', 'do_ar_patched', d)
> +        else:
> +            bb.build.addtask('do_kernel_configme', 'do_configure', 'do_unpack_and_patch', d)
>   }
> diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
> index 21ae0a7657..30afbcd617 100644
> --- a/meta/lib/oe/sstatesig.py
> +++ b/meta/lib/oe/sstatesig.py
> @@ -32,7 +32,8 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCaches):
>       # from a mcdepends). The exception is the special
>       # do_kernel_configme->do_unpack_and_patch dependency from archiver.bbclass.
>       if recipename == depname and depmc == mc:
> -        if task == "do_kernel_configme" and deptaskname == "do_unpack_and_patch":
> +        if task == "do_kernel_configme" and (dep.endswith(".do_unpack_and_patch") or \
> +                                             dep.endswith(".do_ar_patched")):
>               return False
>           return True
>   
> 
> 
> 
> 
> 

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

* Re: [oe-core][PATCH 4/4] alsa-state: run alsactl store in pkg_postinst
  2020-09-25  7:05 ` [oe-core][PATCH 4/4] alsa-state: run alsactl store in pkg_postinst hongxu
@ 2021-06-11  7:39   ` Yu, Mingli
  0 siblings, 0 replies; 10+ messages in thread
From: Yu, Mingli @ 2021-06-11  7:39 UTC (permalink / raw)
  To: hongxu, openembedded-core, richard.purdie

Ping.

Thanks,

On 9/25/20 3:05 PM, hongxu wrote:
> Since the pkg_postinst is prior than alsa-state-init, it needs
> to run store first. On raspberry pi 4 boards, it failed to
> online install alsa-state
> 
> [raspberry pi 4]
> root@bcm-2xxx-rpi4:~# # dnf install alsa-state
> No state is present for card Headphones
> alsa-lib ../../../alsa-lib-1.2.3.2/src/ucm/main.c:983:(snd_use_case_mgr_open)
> error: failed to import hw:0 use case configuration -2
> Found hardware: "bcm2835_headpho" "Broadcom Mixer" "" "" ""
> Hardware is initialized using a generic method
> No state is present for card Headphones
> %post(alsa-state-0.2.0-r5.0.cortexa72): waitpid(823) rc 823 status 6300
> warning: %post(alsa-state-0.2.0-r5.0.cortexa72) scriptlet failed, exit status 99
> 
> Error in POSTIN scriptlet in rpm package alsa-state
> [raspberry pi 4]
> 
> No regression on qemuxxx bsp
> 
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> ---
>   meta/recipes-bsp/alsa-state/alsa-state.bb | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-bsp/alsa-state/alsa-state.bb b/meta/recipes-bsp/alsa-state/alsa-state.bb
> index cec2272c80..98a9381b4c 100644
> --- a/meta/recipes-bsp/alsa-state/alsa-state.bb
> +++ b/meta/recipes-bsp/alsa-state/alsa-state.bb
> @@ -62,7 +62,7 @@ pkg_postinst_${PN}() {
>   	then
>   		if test -x ${sbindir}/alsactl
>   		then
> -			${sbindir}/alsactl -g -f ${localstatedir}/lib/alsa/asound.state restore
> +			${sbindir}/alsactl -g -f ${localstatedir}/lib/alsa/asound.state store
>   		fi
>   	fi
>   }
> 
> 
> 
> 
> 

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

* Re: [oe-core][PATCH 1/4] initramfs-framework/udev: umount /run/media/XXX
  2021-06-11  7:36   ` Yu, Mingli
@ 2021-06-11 16:46     ` Alexander Kanavin
  0 siblings, 0 replies; 10+ messages in thread
From: Alexander Kanavin @ 2021-06-11 16:46 UTC (permalink / raw)
  To: Yu, Mingli; +Cc: hongxu, OE-core, Richard Purdie

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

At this point it's probably better to rebase and resend?

Alex

On Fri, 11 Jun 2021 at 09:30, Yu, Mingli <mingli.yu@windriver.com> wrote:

> Ping.
>
> Thanks,
>
> On 9/25/20 3:05 PM, hongxu wrote:
> > In initramfs-framework, udev (initramfs-module-udev) calls hook mount.sh
> to
> > mount /run/media/XXX which is used by setup-live
> (initramfs-module-setup-live).
> > The setup-live calls install-XXX.sh and use /run/media/XXX to do
> installation
> >
> > The side effect is while setup-live is not used, after it switches to
> rootfs,
> > and the mounted disk could not be released
> >
> > Release the mounted disk before switch root and after kill udev
> >
> > Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> > ---
> >   meta/recipes-core/initrdscripts/initramfs-framework/udev | 5 +++++
> >   1 file changed, 5 insertions(+)
> >
> > diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/udev
> b/meta/recipes-core/initrdscripts/initramfs-framework/udev
> > index 4898b89246..8b62080c68 100644
> > --- a/meta/recipes-core/initrdscripts/initramfs-framework/udev
> > +++ b/meta/recipes-core/initrdscripts/initramfs-framework/udev
> > @@ -8,6 +8,11 @@ udev_shutdown_hook_handler() {
> >       if [ "$status" = "pre" ] && [ "$module" = "finish" ]; then
> >               udevadm settle
> >               killall `basename $_UDEV_DAEMON` 2>/dev/null
> > +
> > +             # Umount other media which is mounted by udev
> > +             for dir in `awk '/\/dev.* \/run\/media/{print $2}'
> /proc/mounts`; do
> > +                     umount $dir
> > +             done
> >       fi
> >   }
> >
> >
> >
> >
> >
> >
>
> 
>
>

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

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

end of thread, other threads:[~2021-06-11 16:47 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-25  7:05 Review request 0/4: multiple fixes for oe-core hongxu
2020-09-25  7:05 ` [oe-core][PATCH 1/4] initramfs-framework/udev: umount /run/media/XXX hongxu
2021-06-11  7:36   ` Yu, Mingli
2021-06-11 16:46     ` Alexander Kanavin
2020-09-25  7:05 ` [oe-core][PATCH 2/4] util-linux: fix calling uuidd failed with /run/uuidd not found hongxu
2021-06-11  7:35   ` Yu, Mingli
2020-09-25  7:05 ` [oe-core][PATCH 3/4] archive: fix racing between do_ar_patched and do_kernel_configme hongxu
2021-06-11  7:38   ` Yu, Mingli
2020-09-25  7:05 ` [oe-core][PATCH 4/4] alsa-state: run alsactl store in pkg_postinst hongxu
2021-06-11  7:39   ` Yu, Mingli

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.