mirror of
https://git.yoctoproject.org/poky
synced 2026-09-14 21:49:33 +02:00
archiver: Fix build errors for kernels that don't use kernel-yocto.bbclass
Special handling for kernel source in work-shared was incorrectly limited to kernel-yocto.bbclass instead of kernel.bbclass. (From OE-Core rev: b8c5680a67888d43540366a40bd0c501e926ac31) Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
34afa37f5f
commit
c2eec907cb
@@ -319,6 +319,10 @@ def create_diff_gz(d, src_orig, src, ar_outdir):
|
|||||||
finally:
|
finally:
|
||||||
os.chdir(cwd)
|
os.chdir(cwd)
|
||||||
|
|
||||||
|
def is_work_shared(d):
|
||||||
|
pn = d.getVar('PN')
|
||||||
|
return bb.data.inherits_class('kernel', d) or pn.startswith('gcc-source')
|
||||||
|
|
||||||
# Run do_unpack and do_patch
|
# Run do_unpack and do_patch
|
||||||
python do_unpack_and_patch() {
|
python do_unpack_and_patch() {
|
||||||
if d.getVarFlag('ARCHIVER_MODE', 'src') not in \
|
if d.getVarFlag('ARCHIVER_MODE', 'src') not in \
|
||||||
@@ -331,7 +335,7 @@ python do_unpack_and_patch() {
|
|||||||
pn = d.getVar('PN')
|
pn = d.getVar('PN')
|
||||||
|
|
||||||
# The kernel class functions require it to be on work-shared, so we dont change WORKDIR
|
# The kernel class functions require it to be on work-shared, so we dont change WORKDIR
|
||||||
if not (bb.data.inherits_class('kernel-yocto', d) or pn.startswith('gcc-source')):
|
if not is_work_shared(d):
|
||||||
# Change the WORKDIR to make do_unpack do_patch run in another dir.
|
# Change the WORKDIR to make do_unpack do_patch run in another dir.
|
||||||
d.setVar('WORKDIR', ar_workdir)
|
d.setVar('WORKDIR', ar_workdir)
|
||||||
# Restore the original path to recipe's native sysroot (it's relative to WORKDIR).
|
# Restore the original path to recipe's native sysroot (it's relative to WORKDIR).
|
||||||
@@ -351,7 +355,7 @@ python do_unpack_and_patch() {
|
|||||||
oe.path.copytree(src, src_orig)
|
oe.path.copytree(src, src_orig)
|
||||||
|
|
||||||
# Make sure gcc and kernel sources are patched only once
|
# Make sure gcc and kernel sources are patched only once
|
||||||
if not (d.getVar('SRC_URI') == "" or (bb.data.inherits_class('kernel-yocto', d) or pn.startswith('gcc-source'))):
|
if not (d.getVar('SRC_URI') == "" or is_work_shared(d)):
|
||||||
bb.build.exec_func('do_patch', d)
|
bb.build.exec_func('do_patch', d)
|
||||||
|
|
||||||
# Create the patches
|
# Create the patches
|
||||||
|
|||||||
Reference in New Issue
Block a user