[oe-commits] Bruce Ashfield : kernel-yocto: remove redundant SRCREV check

git at git.openembedded.org git at git.openembedded.org
Mon Sep 1 14:11:37 UTC 2014


Module: openembedded-core.git
Branch: master
Commit: 05508339882c7cc1fe3f1f67f72314fdcab979b7
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=05508339882c7cc1fe3f1f67f72314fdcab979b7

Author: Bruce Ashfield <bruce.ashfield at windriver.com>
Date:   Mon Mar 17 10:59:16 2014 -0400

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.

Signed-off-by: Bruce Ashfield <bruce.ashfield at windriver.com>

---

 meta/classes/kernel-yocto.bbclass | 33 ++++++++++++---------------------
 1 file changed, 12 insertions(+), 21 deletions(-)

diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass
index 6010dc9..6c92427 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -296,12 +296,14 @@ do_validate_branches() {
 	export KMETA=${KMETA}
 
 	machine_branch="${@ get_machine_branch(d, "${KBRANCH}" )}"
+	machine_srcrev="${SRCREV_machine}"
 
 	set +e
 	# if SRCREV is AUTOREV it shows up as AUTOINC there's nothing to
 	# check and we can exit early
-	if [ "${SRCREV_machine}" = "AUTOINC" ] || [ "${SRCREV_machine}" = "INVALID" ] ||
-	   [ "${SRCREV_machine}" = "" ]; then
+	if [ "${machine_srcrev}" = "AUTOINC" ] || [ "${machine_srcrev}" = "INVALID" ] ||
+	   [ "${machine_srcrev}" = "" ]; then
+		bbnote "INFO: SRCREV validation is not required for AUTOREV or empty/invalid settings, returning"
 		return
 	fi
 
@@ -319,27 +321,16 @@ do_validate_branches() {
 		fi
 	fi
 
-	if [ -z "${SRCREV_machine}" ]; then
-		target_branch_head="${SRCREV}"
-	else
-	 	target_branch_head="${SRCREV_machine}"
-	fi
-
-	# $SRCREV could have also been AUTOINC, so check again
-	if [ "${target_branch_head}" = "AUTOINC" ]; then
-		return
-	fi
-
-	ref=`git show ${target_branch_head} 2>&1 | head -n1 || true`
+	ref=`git show ${machine_srcrev} 2>&1 | head -n1 || true`
 	if [ "$ref" = "fatal: bad object ${target_meta_head}" ]; then
-	    echo "ERROR ${target_branch_head} is not a valid commit ID."
+	    echo "ERROR ${machine_srcrev} is not a valid commit ID."
 	    echo "The kernel source tree may be out of sync"
 	    exit 1
 	fi
 
-	containing_branches=`git branch --contains $target_branch_head | sed 's/^..//'`
+	containing_branches=`git branch --contains $machine_srcrev | sed 's/^..//'`
 	if [ -z "$containing_branches" ]; then
-		echo "ERROR: SRCREV was set to \"$target_branch_head\", but no branches"
+		echo "ERROR: SRCREV was set to \"$machine_srcrev\", but no branches"
 		echo "       contain this commit"
 		exit 1
 	fi
@@ -349,13 +340,13 @@ do_validate_branches() {
 	git checkout -q master
 	for b in $containing_branches; do
 		branch_head=`git show-ref -s --heads ${b}`		
-		if [ "$branch_head" != "$target_branch_head" ]; then
-			echo "[INFO] Setting branch $b to ${target_branch_head}"
+		if [ "$branch_head" != "$machine_srcrev" ]; then
+			echo "[INFO] Setting branch $b to ${machine_srcrev}"
 			if [ "$b" = "master" ]; then
-				git reset --hard $target_branch_head > /dev/null
+				git reset --hard $machine_srcrev > /dev/null
 			else
 				git branch -D $b > /dev/null
-				git branch $b $target_branch_head > /dev/null
+				git branch $b $machine_srcrev > /dev/null
 			fi
 		fi
 	done



More information about the Openembedded-commits mailing list