relocatible.bbclass: Call oe.path.relative in try/except
authorTom Rini <tom_rini@mentor.com>
Thu, 8 Jul 2010 03:14:35 +0000 (20:14 -0700)
committerTom Rini <tom_rini@mentor.com>
Thu, 8 Jul 2010 03:14:35 +0000 (20:14 -0700)
Some programs such as libxml-parser-perl-native can have junky
RPATH directories.  Found by Khem Raj.

Signed-off-by: Tom Rini <tom_rini@mentor.com>
classes/relocatable.bbclass

index cc22027..2af3a7a 100644 (file)
@@ -65,7 +65,11 @@ def process_dir (directory, d):
                     fdir = os.path.dirname(fpath.rpartition(tmpdir)[2])
                     ldir = rpath.partition(tmpdir)[2].strip()
 
-                new_rpaths.append("$ORIGIN/%s" % oe.path.relative(fdir, ldir))
+                try:
+                    new_rpaths.append("$ORIGIN/%s" % oe.path.relative(fdir, ldir))
+                except ValueError:
+                    # Some programs link in non-existant RPATH directories.
+                    continue
 
             # if we have modified some rpaths call chrpath to update the binary
             if len(new_rpaths):