mirror of
https://git.yoctoproject.org/poky
synced 2026-04-28 06:32:34 +02:00
sstate: add support for caching shared workdir tasks
The sstate bbclass uses workdir as a hardcoded string in path manipulations. This means that the sstate caching mechanism does not work for the work-shared directory which the kernel uses to share its build configuration and source files for out of tree kernel modules. This commit modifies the path manipulation mechanism to use the work-shared directory if detected in the paths when handling the sstate cache packages. (From OE-Core rev: 27642449f95e38598f9c83948ce109c5891e5877) (From OE-Core rev: f57d83c72b5f53fb10bc8377862668580d331a8c) Signed-off-by: Michael Ho <Michael.Ho@bmw.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
179c5cb7fd
commit
5646749d60
@@ -362,7 +362,10 @@ def sstate_installpkgdir(ss, d):
|
||||
|
||||
for plain in ss['plaindirs']:
|
||||
workdir = d.getVar('WORKDIR')
|
||||
sharedworkdir = os.path.join(d.getVar('TMPDIR', True), "work-shared")
|
||||
src = sstateinst + "/" + plain.replace(workdir, '')
|
||||
if sharedworkdir in plain:
|
||||
src = sstateinst + "/" + plain.replace(sharedworkdir, '')
|
||||
dest = plain
|
||||
bb.utils.mkdirhier(src)
|
||||
prepdir(dest)
|
||||
@@ -620,8 +623,11 @@ def sstate_package(ss, d):
|
||||
os.rename(state[1], sstatebuild + state[0])
|
||||
|
||||
workdir = d.getVar('WORKDIR')
|
||||
sharedworkdir = os.path.join(d.getVar('TMPDIR', True), "work-shared")
|
||||
for plain in ss['plaindirs']:
|
||||
pdir = plain.replace(workdir, sstatebuild)
|
||||
if sharedworkdir in plain:
|
||||
pdir = plain.replace(sharedworkdir, sstatebuild)
|
||||
bb.utils.mkdirhier(plain)
|
||||
bb.utils.mkdirhier(pdir)
|
||||
os.rename(plain, pdir)
|
||||
|
||||
Reference in New Issue
Block a user