summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorJeff Wang <jeffrey.wang@mit.ll.edu>2014-11-07 09:45:32 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-12-21 12:37:53 +0000
commit6a5a2dff3c8479826131ee1cfafa2ca6385a5c92 (patch)
tree62130f66416f33c380d79bdee0f2cd5b73a011a7 /meta/classes
parent5b71b69355836687bbba5c12954a677d80070266 (diff)
downloadpoky-6a5a2dff3c8479826131ee1cfafa2ca6385a5c92.tar.gz
kernel-yocto: make sure git tags get dereferenced properly in do_patch()
Commit 92c1ece6c347030d48995a36f4c67861356e59d3 causes the test in do_patch() in kernel-yocto.bbclass to fail if ${machine_srcrev} is an annotated tag. The check is meant to ensure that ${machine_srcrev} is an ancestor of HEAD, but if ${machine_srcrev} is a tag, then "$(git rev-parse --verify ${machine_srcrev})" evaluates to the SHA of the tag instead of what it's pointing to. Replacing "$(git rev-parse --verify ${machine_srcrev})" with "$(git rev-parse --verify ${machine_srcrev}~0)" fixed the problem by finding the object pointed to by the tag, and not the tag itself. This also works for commit IDs that are not tags, hence is safe in a scenarios. Jeff Wang <jeffrey.wang@ll.mit.edu> (From OE-Core rev: f79c9334f670ed6fce86047fbadb817af8d4fe14) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/kernel-yocto.bbclass2
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 5706a9e4e3..3b59d85f4e 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -129,7 +129,7 @@ do_patch() {
129 # check to see if the specified SRCREV is reachable from the final branch. 129 # check to see if the specified SRCREV is reachable from the final branch.
130 # if it wasn't something wrong has happened, and we should error. 130 # if it wasn't something wrong has happened, and we should error.
131 if [ "${machine_srcrev}" != "AUTOINC" ]; then 131 if [ "${machine_srcrev}" != "AUTOINC" ]; then
132 if ! [ "$(git rev-parse --verify ${machine_srcrev})" = "$(git merge-base ${machine_srcrev} HEAD)" ]; then 132 if ! [ "$(git rev-parse --verify ${machine_srcrev}~0)" = "$(git merge-base ${machine_srcrev} HEAD)" ]; then
133 bberror "SRCREV ${machine_srcrev} was specified, but is not reachable" 133 bberror "SRCREV ${machine_srcrev} was specified, but is not reachable"
134 bbfatal "Check the BSP description for incorrect branch selection, or other errors." 134 bbfatal "Check the BSP description for incorrect branch selection, or other errors."
135 fi 135 fi