summaryrefslogtreecommitdiffstats
path: root/classes
diff options
context:
space:
mode:
authorChris Larson <chris_larson@mentor.com>2010-08-30 16:43:31 -0700
committerChris Larson <chris_larson@mentor.com>2010-08-31 08:46:25 -0700
commitdd478c59e5ec36bc5f43ed9721323ad8171b5ef4 (patch)
tree17ff8f6027edff5e13c8609d3dbc18296c8853e9 /classes
parent7b4cb64edce429f03cb4802f7df94f52176e4a23 (diff)
downloadopenembedded-dd478c59e5ec36bc5f43ed9721323ad8171b5ef4.tar.gz
base.bbclass: fix bug with absolute file:// uris
The code which used host/path from the url to construct the destination of the copy was using os.path.join. os.path.join treats a "/" in an element as an indication to drop all previous elements, so the full path resulted in a destination exactly the same as the source, resulting in a no-op unpack. Fixed by using oe.path.join instead. The previous fix missed two instances of os.path.join -- there's code duplication in oe_unpack_file, really need to resurrect my do_unpack cleanup branch. Signed-off-by: Chris Larson <chris_larson@mentor.com>
Diffstat (limited to 'classes')
-rw-r--r--classes/base.bbclass8
1 files changed, 4 insertions, 4 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index afc30da9c2..438327c95c 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -226,14 +226,14 @@ def oe_unpack_file(file, data, url = None):
dest = host + os.path.dirname(path) or "."
else:
dest = "."
- bb.mkdirhier("%s" % os.path.join(os.getcwd(),dest))
- cmd = 'cp %s %s' % (file, os.path.join(os.getcwd(), dest))
+ bb.mkdirhier("%s" % oe.path.join(os.getcwd(),dest))
+ cmd = 'cp %s %s' % (file, oe.path.join(os.getcwd(), dest))
if not cmd:
return True
if not host:
- dest = os.path.join(os.getcwd(), path)
+ dest = oe.path.join(os.getcwd(), path)
else:
- dest = os.path.join(os.getcwd(), os.path.join(host, path))
+ dest = oe.path.join(os.getcwd(), oe.path.join(host, path))
if os.path.exists(dest):
if os.path.samefile(file, dest):
return True