summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2014-03-17 10:59:16 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-09-01 14:35:39 +0100
commit6b294a048901f347337cac69dd63b3381a061470 (patch)
tree2e94bf024020bfea1025da43cf8ec7b33387ccba /meta/classes
parent50a8400b725efd32549ccd36a2365da0edf37ef0 (diff)
downloadpoky-6b294a048901f347337cac69dd63b3381a061470.tar.gz
kernel-yocto: remove redundant SRCREV check
do_validate_branches checks to ensure that a valid machine SRCREV was set. A test against an empty SRCREV is done in two separate locations, we only need one, since the first check immediately returns and the second check never hits. At the same time, we can stop referring to the same commit hash by 3 different names. Instead we assign to a local variable at the top of the routine, and refer to it at all times. (From OE-Core rev: 05508339882c7cc1fe3f1f67f72314fdcab979b7) 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.bbclass33
1 files changed, 12 insertions, 21 deletions
diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 6010dc94e0..6c92427704 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -296,12 +296,14 @@ do_validate_branches() {
296 export KMETA=${KMETA} 296 export KMETA=${KMETA}
297 297
298 machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}" 298 machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}"
299 machine_srcrev="${SRCREV_machine}"
299 300
300 set +e 301 set +e
301 # if SRCREV is AUTOREV it shows up as AUTOINC there's nothing to 302 # if SRCREV is AUTOREV it shows up as AUTOINC there's nothing to
302 # check and we can exit early 303 # check and we can exit early
303 if [ "${SRCREV_machine}" = "AUTOINC" ] || [ "${SRCREV_machine}" = "INVALID" ] || 304 if [ "${machine_srcrev}" = "AUTOINC" ] || [ "${machine_srcrev}" = "INVALID" ] ||
304 [ "${SRCREV_machine}" = "" ]; then 305 [ "${machine_srcrev}" = "" ]; then
306 bbnote "INFO: SRCREV validation is not required for AUTOREV or empty/invalid settings, returning"
305 return 307 return
306 fi 308 fi
307 309
@@ -319,27 +321,16 @@ do_validate_branches() {
319 fi 321 fi
320 fi 322 fi
321 323
322 if [ -z "${SRCREV_machine}" ]; then 324 ref=`git show ${machine_srcrev} 2>&1 | head -n1 || true`
323 target_branch_head="${SRCREV}"
324 else
325 target_branch_head="${SRCREV_machine}"
326 fi
327
328 # $SRCREV could have also been AUTOINC, so check again
329 if [ "${target_branch_head}" = "AUTOINC" ]; then
330 return
331 fi
332
333 ref=`git show ${target_branch_head} 2>&1 | head -n1 || true`
334 if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then 325 if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then
335 echo "ERROR ${target_branch_head} is not a valid commit ID." 326 echo "ERROR ${machine_srcrev} is not a valid commit ID."
336 echo "The kernel source tree may be out of sync" 327 echo "The kernel source tree may be out of sync"
337 exit 1 328 exit 1
338 fi 329 fi
339 330
340 containing_branches=`git branch --contains $target_branch_head | sed 's/^..//'` 331 containing_branches=`git branch --contains $machine_srcrev | sed 's/^..//'`
341 if [ -z "$containing_branches" ]; then 332 if [ -z "$containing_branches" ]; then
342 echo "ERROR: SRCREV was set to \"$target_branch_head\", but no branches" 333 echo "ERROR: SRCREV was set to \"$machine_srcrev\", but no branches"
343 echo " contain this commit" 334 echo " contain this commit"
344 exit 1 335 exit 1
345 fi 336 fi
@@ -349,13 +340,13 @@ do_validate_branches() {
349 git checkout -q master 340 git checkout -q master
350 for b in $containing_branches; do 341 for b in $containing_branches; do
351 branch_head=`git show-ref -s --heads ${b}` 342 branch_head=`git show-ref -s --heads ${b}`
352 if [ "$branch_head" != "$target_branch_head" ]; then 343 if [ "$branch_head" != "$machine_srcrev" ]; then
353 echo "[INFO] Setting branch $b to ${target_branch_head}" 344 echo "[INFO] Setting branch $b to ${machine_srcrev}"
354 if [ "$b" = "master" ]; then 345 if [ "$b" = "master" ]; then
355 git reset --hard $target_branch_head > /dev/null 346 git reset --hard $machine_srcrev > /dev/null
356 else 347 else
357 git branch -D $b > /dev/null 348 git branch -D $b > /dev/null
358 git branch $b $target_branch_head > /dev/null 349 git branch $b $machine_srcrev > /dev/null
359 fi 350 fi
360 fi 351 fi
361 done 352 done