If patches fail to apply with git, quilt it used as a fallback. If that
happens, the code in this class is meant to handle cleanup of these patch
files. In the case where ${S} is a subdir of the git tree, the code doesn't
correctly set the patches directory.
This change correctly sets the patches directory (which is different to the
location of the git repository).
[YOCTO #7911]
(From OE-Core master rev:
de6e0f3af5e858960676ea291036e59105fd806f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
logger.info('Unpacking...')
exec_task_func('do_unpack', False)
srcsubdir = crd.getVar('S', True)
+ patchsubdir = srcsubdir
if srcsubdir != workdir and os.path.dirname(srcsubdir) != workdir:
# Handle if S is set to a subdirectory of the source
srcsubdir = os.path.join(workdir, os.path.relpath(srcsubdir, workdir).split(os.sep)[0])
scriptutils.git_convert_standalone_clone(srcsubdir)
- patchdir = os.path.join(srcsubdir, 'patches')
+ patchdir = os.path.join(patchsubdir, 'patches')
haspatches = False
if os.path.exists(patchdir):
if os.listdir(patchdir):