[oe-commits] Paul Eggleton : classes/sstate: avoid traceback when no files have been staged

git at git.openembedded.org git at git.openembedded.org
Wed Apr 3 15:58:57 UTC 2013


Module: openembedded-core.git
Branch: master
Commit: ca36be708e54c0c86535bc8512295c76c48f6cf5
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=ca36be708e54c0c86535bc8512295c76c48f6cf5

Author: Paul Eggleton <paul.eggleton at linux.intel.com>
Date:   Wed Apr  3 08:10:53 2013 +0100

classes/sstate: avoid traceback when no files have been staged

If no files have been staged we want to continue without error instead
of showing a traceback.

Fixes [YOCTO #4056].

Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/sstate.bbclass |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 3f4f43d..67ddc46 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -197,7 +197,8 @@ def sstate_install(ss, d):
 
     # Run the actual file install
     for state in ss['dirs']:
-        oe.path.copytree(state[1], state[2])
+        if os.path.exists(state[1]):
+            oe.path.copytree(state[1], state[2])
 
     for postinst in (d.getVar('SSTATEPOSTINSTFUNCS', True) or '').split():
         bb.build.exec_func(postinst, d)
@@ -448,6 +449,8 @@ def sstate_package(ss, d):
     bb.mkdirhier(sstatebuild)
     bb.mkdirhier(os.path.dirname(sstatepkg))
     for state in ss['dirs']:
+        if not os.path.exists(state[1]):
+            continue
         srcbase = state[0].rstrip("/").rsplit('/', 1)[0]
         for walkroot, dirs, files in os.walk(state[1]):
             for file in files:





More information about the Openembedded-commits mailing list