diff options
Diffstat (limited to 'meta/classes/kernel-yocto.bbclass')
| -rw-r--r-- | meta/classes/kernel-yocto.bbclass | 27 | 
1 files changed, 21 insertions, 6 deletions
| diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index fc9f3a76c0..78a13099ee 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -66,8 +66,15 @@ IFS='  	fi  	cd ${S} -	# checkout and clobber and unimportant files -	git checkout -f ${KBRANCH} +	set +e +	git show-ref --quiet --verify -- "refs/heads/${KBRANCH}" +	if [ $? -eq 0 ]; then +		# checkout and clobber and unimportant files +		git checkout -f ${KBRANCH} +	else +		echo "Not checking out ${KBRANCH}, it will be created later" +		git checkout -f master +	fi  }  do_kernel_checkout[dirs] = "${S}" @@ -105,21 +112,29 @@ python do_kernel_configcheck() {      bb.plain( "%s" % result )  } +# overrides the base kernel_do_configure, since we don't want all the +# defconfig processing in there +kernel_do_configure() { +        yes '' | oe_runmake oldconfig +} + +  # Ensure that the branches (BSP and meta) are on the locatios specified by  # their SRCREV values. If they are NOT on the right commits, the branches  # are reset to the correct commit.  do_validate_branches() {  	cd ${S} - 	branch_head=`git show-ref -s --heads ${KBRANCH}` - 	meta_head=`git show-ref -s --heads ${KMETA}` - 	target_branch_head="${SRCREV_machine}" - 	target_meta_head="${SRCREV_meta}"  	# nothing to do if bootstrapping   	if [ -n "${YOCTO_KERNEL_EXTERNAL_BRANCH}" ]; then   	 	return   	fi + 	branch_head=`git show-ref -s --heads ${KBRANCH}` + 	meta_head=`git show-ref -s --heads ${KMETA}` + 	target_branch_head="${SRCREV_machine}" + 	target_meta_head="${SRCREV_meta}" +  	current=`git branch |grep \*|sed 's/^\* //'`  	if [ -n "$target_branch_head" ] && [ "$branch_head" != "$target_branch_head" ]; then  		if [ -n "${KERNEL_REVISION_CHECKING}" ]; then | 
