mirror of
https://git.yoctoproject.org/poky
synced 2026-09-24 22:36:21 +02:00
patch.py: Initialize git repo before patching
If PATCHTOOL="git" has been specified but workdir is not git repo bitbake fails to apply the patches with error message: Command Error: 'git rev-parse --show-toplevel' exited with 0 Output: fatal: not a git repository (or any of the parent directories): .git Fix this by initializing the repo before patching. This allows binary git patches to be applied. (From OE-Core rev: 4b567a984fe805b779bc59ce32635d32618e7170) Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 6184b56a7a0fc6f5d19fdfb81e7453667f7da940) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
6dc28db9d3
commit
3843d5ab80
@@ -300,3 +300,18 @@ INHERIT:remove = \"report-error\"
|
||||
|
||||
test_recipe_summary_after = get_bb_var('SUMMARY', test_recipe)
|
||||
self.assertEqual(expected_recipe_summary, test_recipe_summary_after)
|
||||
|
||||
def test_git_patchtool(self):
|
||||
""" PATCHTOOL=git should work with non-git sources like tarballs
|
||||
test recipe for the test must NOT containt git:// repository in SRC_URI
|
||||
"""
|
||||
test_recipe = "man-db"
|
||||
self.write_recipeinc(test_recipe, 'PATCHTOOL=\"git\"')
|
||||
src = get_bb_var("SRC_URI",test_recipe)
|
||||
gitscm = re.search("git://", src)
|
||||
self.assertFalse(gitscm, "test_git_patchtool pre-condition failed: {} test recipe contains git repo!".format(test_recipe))
|
||||
result = bitbake('man-db -c patch', ignore_status=False)
|
||||
fatal = re.search("fatal: not a git repository (or any of the parent directories)", result.output)
|
||||
self.assertFalse(fatal, "Failed to patch using PATCHTOOL=\"git\"")
|
||||
self.delete_recipeinc(test_recipe)
|
||||
bitbake('-cclean man-db')
|
||||
|
||||
Reference in New Issue
Block a user