Patchwork [1/1] rootfs_rpm.bbclass: fix the unexpected postinst error

login
register
mail settings
Submitter Qi.Chen@windriver.com
Date Jan. 22, 2013, 8:44 a.m.
Message ID <5229d2b8caba239e8140288a51b2c9c2d6487567.1358840606.git.Qi.Chen@windriver.com>
Download mbox | patch
Permalink /patch/43153/
State Accepted
Commit bd10a6d257ab5ce2fc961788c278af7c43637404
Headers show

Comments

Qi.Chen@windriver.com - Jan. 22, 2013, 8:44 a.m.
From: Chen Qi <Qi.Chen@windriver.com>

If the /etc/rpm-postinsts/ directory was empty, the following error
would occur at system startup.

      ERROR: postinst /etc/rpm-postinsts/* failed

This patch fixes this issue.

[YOCTO #3767]

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
 meta/classes/rootfs_rpm.bbclass |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Qi.Chen@windriver.com - Jan. 29, 2013, 9:03 a.m.
Really really sorry that this patch introduces a bug :(
(It built and booted correctly, so I thought everything's OK. I didn't 
check the do_rootfs log.)
A follow-up patch has been sent.
Sorry for the inconvenience.

Chen Qi

On 01/22/2013 04:44 PM, Qi.Chen@windriver.com wrote:
> From: Chen Qi <Qi.Chen@windriver.com>
>
> If the /etc/rpm-postinsts/ directory was empty, the following error
> would occur at system startup.
>
>        ERROR: postinst /etc/rpm-postinsts/* failed
>
> This patch fixes this issue.
>
> [YOCTO #3767]
>
> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> ---
>   meta/classes/rootfs_rpm.bbclass |    3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
> index 7d789cc..accd7d9 100644
> --- a/meta/classes/rootfs_rpm.bbclass
> +++ b/meta/classes/rootfs_rpm.bbclass
> @@ -108,7 +108,8 @@ fakeroot rootfs_rpm_do_rootfs () {
>   	i=\$i
>   	cat > ${IMAGE_ROOTFS}${sysconfdir}/rcS.d/S${POSTINSTALL_INITPOSITION}run-postinsts << EOF
>   #!/bin/sh
> -for i in /etc/rpm-postinsts/*; do
> +for i in `ls /etc/rpm-postinsts/`; do
> +	i=/etc/rpm-postinsts/$i
>   	echo "Running postinst $i..."
>   	if [ -f $i ] && $i; then
>   		rm $i

Patch

diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
index 7d789cc..accd7d9 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes/rootfs_rpm.bbclass
@@ -108,7 +108,8 @@  fakeroot rootfs_rpm_do_rootfs () {
 	i=\$i
 	cat > ${IMAGE_ROOTFS}${sysconfdir}/rcS.d/S${POSTINSTALL_INITPOSITION}run-postinsts << EOF
 #!/bin/sh
-for i in /etc/rpm-postinsts/*; do
+for i in `ls /etc/rpm-postinsts/`; do
+	i=/etc/rpm-postinsts/$i
 	echo "Running postinst $i..."
 	if [ -f $i ] && $i; then
 		rm $i