summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/kernel-yocto.bbclass29
1 files changed, 8 insertions, 21 deletions
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 3bef841ae8..d51748e556 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -309,13 +309,19 @@ python do_kernel_configcheck() {
309# their SRCREV values. If they are NOT on the right commits, the branches 309# their SRCREV values. If they are NOT on the right commits, the branches
310# are corrected to the proper commit. 310# are corrected to the proper commit.
311do_validate_branches() { 311do_validate_branches() {
312 set +e
312 cd ${S} 313 cd ${S}
313 export KMETA=${KMETA} 314 export KMETA=${KMETA}
314 315
315 machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}" 316 machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}"
316 machine_srcrev="${SRCREV_machine}" 317 machine_srcrev="${SRCREV_machine}"
317 318
318 set +e 319 # if the machine branch doesn't exist, lets build master
320 git show-ref --quiet --verify -- "refs/heads/${machine_branch}"
321 if [ $? -eq 1 ]; then
322 machine_branch = "master"
323 fi
324
319 # if SRCREV is AUTOREV it shows up as AUTOINC there's nothing to 325 # if SRCREV is AUTOREV it shows up as AUTOINC there's nothing to
320 # check and we can exit early 326 # check and we can exit early
321 if [ "${machine_srcrev}" = "AUTOINC" ] || [ "${machine_srcrev}" = "INVALID" ] || 327 if [ "${machine_srcrev}" = "AUTOINC" ] || [ "${machine_srcrev}" = "INVALID" ] ||
@@ -324,19 +330,6 @@ do_validate_branches() {
324 return 330 return
325 fi 331 fi
326 332
327 # If something other than the default branch was requested, it must
328 # exist in the tree, and it's a hard error if it wasn't
329 git show-ref --quiet --verify -- "refs/heads/${machine_branch}"
330 if [ $? -eq 1 ]; then
331 if [ -n "${KBRANCH_DEFAULT}" ] &&
332 [ "${machine_branch}" != "${KBRANCH_DEFAULT}" ]; then
333 echo "ERROR: branch ${machine_branch} was set for kernel compilation, "
334 echo " but it does not exist in the kernel repository."
335 echo " Check the value of KBRANCH and ensure that it describes"
336 echo " a valid banch in the source kernel repository"
337 exit 1
338 fi
339 fi
340 333
341 git cat-file -t ${machine_srcrev} > /dev/null 334 git cat-file -t ${machine_srcrev} > /dev/null
342 if [ if $? -ne 0 ]; then 335 if [ if $? -ne 0 ]; then
@@ -369,13 +362,7 @@ do_validate_branches() {
369 fi 362 fi
370 fi 363 fi
371 364
372 git show-ref --quiet --verify -- "refs/heads/${machine_branch}" 365 git checkout -q -f ${machine_branch}
373 if [ $? -eq 0 ]; then
374 # restore the branch for builds
375 git checkout -q -f ${machine_branch}
376 else
377 git checkout -q master
378 fi
379} 366}
380 367
381# Many scripts want to look in arch/$arch/boot for the bootable 368# Many scripts want to look in arch/$arch/boot for the bootable