oe/lib/package: handle shlibs files disappearing

Message ID 1468420574-13115-1-git-send-email-ross.burton@intel.com
State Accepted
Commit 1e355da3fda742c78d99ddd2ee5caa9df52f92e1
Headers show

Commit Message

Ross Burton July 13, 2016, 2:36 p.m.
During a parallel build it's possible for unrelated shlib files to be removed if
the recipe they came from is about to be rebuilt.  They can't be involved in the
dependency chains as otherwise they wouldn't be removed, so just silently handle
files disappearing.

[ YOCTO #8555 ]

Signed-off-by: Ross Burton <ross.burton@intel.com>

---
 meta/lib/oe/package.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

-- 
2.8.1

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Patch

diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py
index faa0ab2..02642f2 100644
--- a/meta/lib/oe/package.py
+++ b/meta/lib/oe/package.py
@@ -114,7 +114,12 @@  def read_shlib_providers(d):
             m = list_re.match(file)
             if m:
                 dep_pkg = m.group(1)
-                fd = open(os.path.join(dir, file))
+                try:
+                    fd = open(os.path.join(dir, file))
+                except IOError:
+                    # During a build unrelated shlib files may be deleted, so
+                    # handle files disappearing between the listdirs and open.
+                    continue
                 lines = fd.readlines()
                 fd.close()
                 for l in lines: