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

(From OE-Core rev: ca36be708e54c0c86535bc8512295c76c48f6cf5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton 2013-04-03 08:10:53 +01:00 committed by Richard Purdie
parent 6c22c59137
commit c7f52855f9
1 changed files with 4 additions and 1 deletions

View File

@ -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: