diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2010-10-22 12:51:35 +0100 |
---|---|---|
committer | Saul Wold <Saul.Wold@intel.com> | 2010-10-22 11:12:55 -0700 |
commit | f0c88f220edec03c44f9d7cade2a90238ebf6cd0 (patch) | |
tree | 73e0cb837bf4c5bd4b199b0c4c1b31b45c93e70e | |
parent | 1a3140eaf6c789d318e95f89d4b626dbc7b135e2 (diff) | |
download | poky-f0c88f220edec03c44f9d7cade2a90238ebf6cd0.tar.gz |
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>
-rw-r--r-- | meta/classes/sstate.bbclass | 8 |
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): | |||
154 | sstate_install(ss, d) | 154 | sstate_install(ss, d) |
155 | 155 | ||
156 | for plain in ss['plaindirs']: | 156 | for plain in ss['plaindirs']: |
157 | bb.mkdirhier(sstateinst + plain) | 157 | workdir = d.getVar('WORKDIR', True) |
158 | oe.path.copytree(sstateinst + plain, bb.data.getVar('WORKDIR', d, True) + plain) | 158 | src = sstateinst + "/" + plain.replace(workdir, '') |
159 | dest = plain | ||
160 | bb.mkdirhier(src) | ||
161 | bb.mkdirhier(dest) | ||
162 | oe.path.copytree(src, dest) | ||
159 | 163 | ||
160 | return True | 164 | return True |
161 | 165 | ||