mirror of
https://git.yoctoproject.org/poky
synced 2026-07-27 07:27:12 +00:00
recipetool/devtool: calculate source paths relative to UNPACKDIR
Now that recipes default to S in UNPACKDIR, recipetool and devtool should do the same. There was some discussion about changing devtool to simply setting UNPACKDIR via bbappend to a workspace and running unpack task directly; currently it has a bunch of convoluted path calculations, substitutions, moving source trees around and and special casing (devtool-source.bbclass in particular is an unpleasant hack). This should definitely be done; but right now we can simply tweak existing code which at least doesn't make it worse. (From OE-Core rev: c326ca8aeb2bf0f7719e43921d10efd5dedc7b2a) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
efb0410d38
commit
4547232c71
@@ -317,7 +317,7 @@ def appendsrc(args, files, rd, extralines=None):
|
||||
import oe.recipeutils
|
||||
|
||||
srcdir = rd.getVar('S')
|
||||
workdir = rd.getVar('WORKDIR')
|
||||
unpackdir = rd.getVar('UNPACKDIR')
|
||||
|
||||
import bb.fetch
|
||||
simplified = {}
|
||||
@@ -336,10 +336,10 @@ def appendsrc(args, files, rd, extralines=None):
|
||||
src_destdir = os.path.dirname(srcfile)
|
||||
if not args.use_workdir:
|
||||
if rd.getVar('S') == rd.getVar('STAGING_KERNEL_DIR'):
|
||||
srcdir = os.path.join(workdir, rd.getVar('BB_GIT_DEFAULT_DESTSUFFIX'))
|
||||
srcdir = os.path.join(unpackdir, rd.getVar('BB_GIT_DEFAULT_DESTSUFFIX'))
|
||||
if not bb.data.inherits_class('kernel-yocto', rd):
|
||||
logger.warning('S == STAGING_KERNEL_DIR and non-kernel-yocto, unable to determine path to srcdir, defaulting to ${WORKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}')
|
||||
src_destdir = os.path.join(os.path.relpath(srcdir, workdir), src_destdir)
|
||||
logger.warning('S == STAGING_KERNEL_DIR and non-kernel-yocto, unable to determine path to srcdir, defaulting to ${UNPACKDIR}/${BB_GIT_DEFAULT_DESTSUFFIX}')
|
||||
src_destdir = os.path.join(os.path.relpath(srcdir, unpackdir), src_destdir)
|
||||
src_destdir = os.path.normpath(src_destdir)
|
||||
|
||||
if src_destdir and src_destdir != '.':
|
||||
|
||||
@@ -735,7 +735,7 @@ def create_recipe(args):
|
||||
if srcsubdir and not args.binary:
|
||||
# (for binary packages we explicitly specify subdir= when fetching to
|
||||
# match the default value of S, so we don't need to set it in that case)
|
||||
lines_before.append('S = "${WORKDIR}/%s"' % srcsubdir)
|
||||
lines_before.append('S = "${UNPACKDIR}/%s"' % srcsubdir)
|
||||
lines_before.append('')
|
||||
|
||||
if pkgarch:
|
||||
@@ -839,7 +839,7 @@ def create_recipe(args):
|
||||
line = line.replace(realpv, '${PV}')
|
||||
if pn:
|
||||
line = line.replace(pn, '${BPN}')
|
||||
if line == 'S = "${WORKDIR}/${BPN}-${PV}"' or 'tmp-recipetool-' in line:
|
||||
if line == 'S = "${UNPACKDIR}/${BPN}-${PV}"' or 'tmp-recipetool-' in line:
|
||||
skipblank = True
|
||||
continue
|
||||
elif line.startswith('SRC_URI = '):
|
||||
|
||||
Reference in New Issue
Block a user