From 2aa75224b5a03cc115db37b46409b3faaa305423 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Tue, 18 Mar 2014 21:38:33 -0400 Subject: [PATCH] kernel-yocto: use show-ref instead of branch -a It's better to check a branches existence via show-ref versus the end user branch commands. So we make the switch. Also as part of this change, we move the conversion of remote branches to local branches above the meta branch checking. This is required to ensure that the branch is local for the show-ref check. (From OE-Core rev: 04bd4cee625574cfa67679b6b2a150a21106c5bf) Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie --- meta/classes/kernel-yocto.bbclass | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index 0ac1572471..9209f423cf 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -200,20 +200,6 @@ do_kernel_checkout() { fi # end debare - # If KMETA is defined, the branch must exist, but a machine branch - # can be missing since it may be created later by the tools. - if [ -n "${KMETA}" ]; then - git branch -a --no-color | grep -q ${KMETA} - if [ $? -ne 0 ]; then - echo "ERROR. The branch '${KMETA}' is required and was not" - echo "found. Ensure that the SRC_URI points to a valid linux-yocto" - echo "kernel repository" - exit 1 - fi - fi - - machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}" - # convert any remote branches to local tracking ones for i in `git branch -a --no-color | grep remotes | grep -v HEAD`; do b=`echo $i | cut -d' ' -f2 | sed 's%remotes/origin/%%'`; @@ -223,6 +209,20 @@ do_kernel_checkout() { fi done + # If KMETA is defined, the branch must exist, but a machine branch + # can be missing since it may be created later by the tools. + if [ -n "${KMETA}" ]; then + git show-ref --quiet --verify -- "refs/heads/${KMETA}" + if [ $? -eq 1 ]; then + echo "ERROR. The branch '${KMETA}' is required and was not" + echo "found. Ensure that the SRC_URI points to a valid linux-yocto" + echo "kernel repository" + exit 1 + fi + fi + + machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}" + # Create a working tree copy of the kernel by checking out a branch git show-ref --quiet --verify -- "refs/heads/${machine_branch}" if [ $? -eq 0 ]; then