]> code.ossystems Code Review - openembedded-core.git/commit
kernel-yocto: fix machine_srcrev check in do_patch
authorPetter Mabäcker <petter@technux.se>
Wed, 8 Jul 2015 19:02:03 +0000 (21:02 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 16 Jul 2015 14:08:42 +0000 (15:08 +0100)
commit5f7403151fc8bfd5b1d77f6626717c8b84d33d93
tree94956098bd58c468e02275bcf39c512a8178a37a
parent80ec9f62791575de4948d7635dc6674abfac2193
kernel-yocto: fix machine_srcrev check in do_patch

do_patch is currently doing checks with machine_srcrev without initiate
it which leads to below (additional debug added):

 DEBUG: Executing shell function do_patch
 .
 .
 .
 + [ 0 -ne 0 ]
 + [  != AUTOINC ]
 + git rev-parse --verify ~0
 fatal: Needed a single revision
 + git merge-base HEAD
 usage: git merge-base [-a|--all] <commit> <commit>...
    or: git merge-base [-a|--all] --octopus <commit>...
    or: git merge-base --independent <commit>...
    or: git merge-base --is-ancestor <commit> <commit>
    or: git merge-base --fork-point <ref> [<commit>]

     -a, --all             output all common ancestors
     --octopus             find ancestors for a single n-way merge
     --independent         list revs not reachable from others
     --is-ancestor         is the first one ancestor of the other?
     --fork-point          find where <commit> forked from reflog of <ref>

 + [  =  ]
 + set +x
 DEBUG: Shell function do_patch finished

Only reason it works today is because 'rev-parse/merge-base' with empty machine_srcrev
will result in "false positive". Solve this by adding a similar non-empty check and
use SRCREV as fallback as in 'do_kernel_metadata'

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/kernel-yocto.bbclass