From: Chris Larson Date: Mon, 30 Aug 2010 23:43:31 +0000 (-0700) Subject: base.bbclass: fix bug with absolute file:// uris X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dd478c59e5ec36bc5f43ed9721323ad8171b5ef4;p=openembedded.git 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 --- 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