rm_work.bbclass: ignore failure for removing pseudo folder

Submitted by Ming Liu on May 23, 2013, 7:33 a.m.

Details

Message ID 1369294423-19805-1-git-send-email-ming.liu@windriver.com
State Accepted
Commit 9742e866f545bc0d04aca697b541ed88f4e1764a
Headers show

Commit Message

Ming Liu May 23, 2013, 7:33 a.m.
When building over NFS2/3 server, removal of pseudo folders will fail in
some cases for there are files in it still used by pseudo daemon, thus
cause ".nfsXXXXX" files generated which can't be removed by clients. This
will lead rm_work task fo fail.

These failures could be safely ignored because ".nfsXXXXX" files would be
automatically cleared by NFS server when no clients keep opening them.

[YOCTO #4531]
[ CQID: WIND00412051 ]

Signed-off-by: Ming Liu <ming.liu@windriver.com>
---
 meta/classes/rm_work.bbclass | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Patch hide | download patch | download mbox

diff --git a/meta/classes/rm_work.bbclass b/meta/classes/rm_work.bbclass
index 1642af7..f0f6d18 100644
--- a/meta/classes/rm_work.bbclass
+++ b/meta/classes/rm_work.bbclass
@@ -30,15 +30,18 @@  do_rm_work () {
     cd ${WORKDIR}
     for dir in *
     do
-        # Retain only logs and other files in temp.
-        if [ $dir != 'temp' ]; then
+        # Retain only logs and other files in temp, safely ignore
+        # failures of removing pseudo folers on NFS2/3 server.
+        if [ $dir = 'pseudo' ]; then
+            rm -rf $dir 2> /dev/null || true
+        elif [ $dir != 'temp' ]; then
             rm -rf $dir
         fi
     done
 
     # Need to add pseudo back or subsqeuent work in this workdir
     # might fail since setscene may not rerun to recreate it
-    mkdir ${WORKDIR}/pseudo/
+    mkdir -p ${WORKDIR}/pseudo/
 
     # Change normal stamps into setscene stamps as they better reflect the
     # fact WORKDIR is now empty