]> code.ossystems Code Review - openembedded-core.git/commitdiff
sstate: Fix broken plaindirs support
authorRichard Purdie <rpurdie@linux.intel.com>
Fri, 22 Oct 2010 11:51:35 +0000 (12:51 +0100)
committerRichard Purdie <rpurdie@linux.intel.com>
Fri, 22 Oct 2010 11:51:35 +0000 (12:51 +0100)
When installing a sstate package, directories tracked by plaindirs were being installed
to the incorrect location. With the current implementation this was limited to
the do_package task.

This patch ensures plaindirs tracked files are created in the correct location, fixing
the bug where these files would go missing.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
meta/classes/sstate.bbclass

index 92c3a274f044203891ccff9741bfd4e813497507..fb30a18b726723c32b3b11c25faa9cdc5dcffcb2 100644 (file)
@@ -154,8 +154,12 @@ def sstate_installpkg(ss, d):
     sstate_install(ss, d)
 
     for plain in ss['plaindirs']:
-        bb.mkdirhier(sstateinst + plain)
-        oe.path.copytree(sstateinst + plain, bb.data.getVar('WORKDIR', d, True) + plain)
+        workdir = d.getVar('WORKDIR', True)
+        src = sstateinst + "/" + plain.replace(workdir, '')
+        dest = plain
+        bb.mkdirhier(src)
+        bb.mkdirhier(dest)
+        oe.path.copytree(src, dest)
 
     return True