chrpath.bbclass: Normalize rpath only of it doesn't contain ORIGIN variable
authorAndrei Gherzan <andrei.gherzan@windriver.com>
Fri, 14 Dec 2012 02:15:03 +0000 (04:15 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 14 Dec 2012 08:53:41 +0000 (08:53 +0000)
If we normalize a rpath which contains ORIGIN variable, the binary will end
up without those rpaths at all. So check first if rpath contains ORIGIN variable
and if not, move on and normalize it.

(From OE-Core rev: 46dc514ff5a3d2693546cf95c5481e0539c43580)

Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/chrpath.bbclass

index 82329d1..0c7ab77 100644 (file)
@@ -49,10 +49,10 @@ def process_dir (directory, d):
             new_rpaths = []
             for rpath in rpaths:
                 # If rpath is already dynamic copy it to new_rpath and continue
-                rpath =  os.path.normpath(rpath)
                 if rpath.find("$ORIGIN") != -1:
                     new_rpaths.append(rpath.strip())
                     continue
+                rpath =  os.path.normpath(rpath)
                 # If the rpath shares a root with base_prefix determine a new dynamic rpath from the
                 # base_prefix shared root
                 if rpath.find(basedir) != -1: