utils.bbclass: fix is_machine_specific
authorEric Bénard <eric@eukrea.com>
Mon, 20 Sep 2010 22:33:42 +0000 (00:33 +0200)
committerEric Bénard <eric@eukrea.com>
Tue, 21 Sep 2010 07:42:21 +0000 (09:42 +0200)
* base.bbclass can set a package's PACKAGE_ARCH to MACHINE_ARCH if
it finds file:// in the SRC_URI and the corresponding file is machine
specific (recipes/foo/foo-1.0/<some machine>/)
* but is_machine_specific actually fails to detect these files as
urldata.path is used instead of urldata.localpath thus preventing the
comparison of the file's path with machinepaths
* tested with bitbake HEAD & 1.8.18, with OE's tree alone and OE's tree
plus an overlay.

Signed-off-by: Eric Bénard <eric@eukrea.com>
Acked-by: Chris Larson <clarson@kergoth.com>
Acked-by: Khem Raj <raj.khem@gmail.com>
classes/utils.bbclass

index 0a7a045..1c636be 100644 (file)
@@ -54,7 +54,7 @@ def is_machine_specific(d):
     urldatadict = bb.fetch.init(d.getVar("SRC_URI", True).split(), d, True)
     for urldata in (urldata for urldata in urldatadict.itervalues()
                     if urldata.type == "file"):
-        if any(urldata.path.startswith(mp + "/") for mp in machinepaths):
+        if any(urldata.localpath.startswith(mp + "/") for mp in machinepaths):
             return True
 
 def subprocess_setup():