summaryrefslogtreecommitdiff
path: root/meta/classes
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-10-22 12:51:35 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-10-22 12:51:35 +0100
commitf806c499c031fe0c4da001d41bce635088a90c52 (patch)
treebcfc36ccb48533dd49ffc2dc92bd596333b88c98 /meta/classes
parent08425b597c3df914162cb12394fe7b8533b826f9 (diff)
downloadopenembedded-core-f806c499c031fe0c4da001d41bce635088a90c52.tar.gz
openembedded-core-f806c499c031fe0c4da001d41bce635088a90c52.tar.bz2
openembedded-core-f806c499c031fe0c4da001d41bce635088a90c52.zip
sstate: Fix broken plaindirs support
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>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/sstate.bbclass8
1 files changed, 6 insertions, 2 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 92c3a274f0..fb30a18b72 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -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