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@windriver.com>
kernel-yocto: use cat-file instead of git-show

Parsing the output of git show is error prone, since it changes based on
the type of issue with bad comit IDs. Since the output is no longer used
in the case of a valid ref, we can switch to git-cat-file and  simply
check the return code.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
kernel-yocto: move SRCREV validation to patching phase

Rather than attempting to condition the entire tree to machine SRCREV (since
we don't know what branch will be built), we can instead wait until patching
has completed and then confirm that we are indeed building a decendant of the
specified SRCREV. The result is a much simpler check, and no mangling of the
tree.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
kernel-yocto: remove containing branch check

The bitbake fetcher now enforces that a commit is contained by a branch,
so this code can be dropped from do_validate_branches.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
kernel-yocto: remove SRC_URI kbranch validation

We no longer need to check if the KBRANCH matches the branch specified
in the SRC_URI. This is taken care of by the fetcher at the beginning
and SRCREV ancestor validation after patching.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
kernel-yocto: remove branch existence checking in do_validate_branches

Now that the fetcher will enforce branch existence, we no longer need to
confirm that a branch exists, and that it was the branch requested to
be built.

We know the branch exists and we'll confirm that the specified SRCREV
is going to be built after we've patched the tree.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
kernel-yocto: remove KBRANCH_DEFAULT

KBRANCH_DEFAULT was introduced as a way to trigger the enforced build
of a particular branch of the tree. With the fetcher now enforcing
SRCREVs existing on a branch, we can simply validate that the SRCREV
is reachable from the final branch and no longer care about enforcing
a given branch.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
kernel-yocto: simplify branch SRCREV validation

The checking of machine and meta branch SRCREVs was inconsistent and
didn't allow a mixed AUTOREV machine/meta branch combination. By
simplifying the checks and changing the logic, we can now allow this
combination.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
kernel-yocto: use show-ref instead of branch -a

It's better to check a branches existence via show-ref versus the end
user branch commands. So we make the switch.

Also as part of this change, we move the conversion of remote branches
to local branches above the meta branch checking. This is required to
ensure that the branch is local for the show-ref check.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
kernel-yocto: clean overly complex branch checkout

Since the git fetcher ensures that branches exist, we no longer need to
validate the branch and have a conditional checkout of the source.

We can remove some checks and ensure that whenever we exit the
do_kernel_checkout routine that a branch is always checked out.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
kernel-yocto: allow custom non-meta, SRCREV format builds

When custom respositories are built (like a pure kernel.org
repo), the machine_meta SRCREV format is not applicable. As
such, we shouldn't check for the meta branch and we shouldn't
only check SRCREV_machine based revisions.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
kernel-yocto: remove KBRANCH_DEFAULT

KBRANCH_DEFAULT is no longer used, so we can remove it from all
recipes (and it won't be missed).

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
kernel-yocto: convert echo statements to bb* equivalents

Use the bbinfo, bberror, bbfatal equivalents to the existing echo statements
within the kernel-yocto processing. This makes us consistent with the other
messages from the build system.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
kern-tools: allow meta branch and meta data directory to differ

From the kern-tools commit:

    tools: allow meta directories that are not the same as the branch name

    With this change it is now possible to have a meta branch with meta data
    in a directory that is not the same name as the branch.

    The changes to three parts of the build are required to discover the name
    of the meta directory by relying on the fact that in a clean/proper build
    the meta directory is the only untracked, top level directory in the build.

    As such, we can restore a checkpoint and then examine the build directory
    to determine the meta directory name .. avoiding any new variables to
    indicate this to the scripts and build system.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
linux-yocto/3.14: vhost, vxland, openvswitch and block/bfq updates

Updating the linux-yocto/3.14 SRCREVs to integrate more feature additions
and backports to the LTSI kernel base:

   42477caf6bfd block, bfq: add Early Queue Merge (EQM) to BFQ-v7r5 for 3.14.0
   349aa3f0848d block: introduce the BFQ-v7r5 I/O sched for 3.14
   121ed2738c47 block: cgroups, kconfig, build bits for BFQ-v7r5-3.14
   9925795a3e54 vhost-scsi: Include prot_bytes into expected data transfer length
   68fe340cb836 vhost: move memory pointer to VQs
   72fa27bcf526 vhost: move acked_features to VQs
   757680234478 vhost: replace rcu with mutex
   050c1440ac73 vhost-net: extend device allocation to vmalloc
   d68641313156 vhost/scsi: Enable T10 PI IOV -> SGL memory mapping
   fb89a8df7f1c vhost/scsi: Add T10 PI IOV -> SGL memory mapping logic
   5caf8475ee8a vhost/scsi: Add preallocation of protection SGLs
   c0785b9490a8 vhost/scsi: Move sanity check into vhost_scsi_map_iov_to_sgl
   bd947327cdf6 vhost: don't open-code sockfd_put()
   83fab2df94c6 openvswitch: Use exact lookup for flow_get and flow_del.
   9c185c40f7a8 openvswitch: Fix tracking of flags seen in TCP flows.
   0d2455332847 openvswitch: supply a dummy err_handler of gre_cisco_protocol to prevent kernel crash
   4513a2fd2703 openvswitch: Fix a double free bug for the sample action
   1acf10deff18 openvswitch: Simplify genetlink code.
   9ea6a4dea3f5 openvswitch: Minimize ovs_flow_cmd_new|set critical sections.
   9e76764432cf openvswitch: Split ovs_flow_cmd_new_or_set().
   7bafcd59a838 openvswitch: Minimize ovs_flow_cmd_del critical section.
   67980f929444 openvswitch: Reduce locking requirements.
   347f9442b559 openvswitch: Fix ovs_flow_stats_get/clear RCU dereference.
   c7aa7c522ec0 openvswitch: Fix typo.
   b244c7b19a55 openvswitch: Minimize dp and vport critical sections.
   21883a3ffdb6 openvswitch: Make flow mask removal symmetric.
   ffa173197cf5 openvswitch: Build flow cmd netlink reply only if needed.
   f3e8e5c07505 openvswitch: Clarify locking.
   df42a8f505c2 openvswitch: Avoid assigning a NULL pointer to flow actions.
   91b07542da22 openvswitch: Compact sw_flow_key.
   24bb1a576332 net/openvswitch: Use with RCU_INIT_POINTER(x, NULL) in vport-gre.c
   808868318939 openvswitch: Use TCP flags in the flow key for stats.
   a57851bae1cf openvswitch: Fix output of SCTP mask.
   8b70125106ee openvswitch: Per NUMA node flow stats.
   606497442f52 openvswitch: Remove 5-tuple optimization.
   01e74b175909 openvswitch: Use ether_addr_copy
   b5d02cfdc985 openvswitch: flow_netlink: Use pr_fmt to OVS_NLERR output
   4da9e8d176f9 openvswitch: Use net_ratelimit in OVS_NLERR
   ee8f673dd798 openvswitch: Added (unsigned long long) cast in printf
   b67f35f8b0aa openvswitch: avoid cast-qual warning in vport_priv
   3e01428f6e0c openvswitch: avoid warnings in vport_from_priv
   069ee359a487 openvswitch: use const in some local vars and casts
   cbec86356a89 vxlan: add x-netns support
   a51970560923 vxlan: ensure to advertise the right fdb remote
   696068dca072 vxlan: remove unused port variable in vxlan_udp_encap_recv()
   e94003f3b58d sched/deadline: Fix sched_yield() behavior

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
linux-yocto/3.14: update to v3.14.17

Updating the 3.14 repository to the latest korg stable udpate.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
linux-yocto/3.4: remove 3.4 name recipes

Removing the 3.4 recipes, since support has not shifted to 3.10 and
3.14 for LTSI kernel versions, with 3.16+ as the development version.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
kernel-yocto: replace --is-ancestor with basic git porcelain commands

--is-ancestor is a relatively new git option [commit 5907cda1, Aug 30 2012].
To support build machines with older versions of git installed, we can use
the basic porcelain commands to acheive the same check.

merge-base: "--is-ancestor A B" can be replaced with:

    if test "$(git rev-parse --verify A)" = "$(git merge-base A B)"

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
linux-yocto: ensure that recipe specific defaults take precedence

In order to make KBRANCH assignments more flexible and easy to override the
default in each recipe as changed to a conditional assignment. But the
common include file, sets its own branch default to master.

This results in the recipes not overriding KBRANCH and master always being
used.

By putting the include after the default assignment, we now get the proper
default branch.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
glibc: Migrate eglibc 2.19 -> glibc 2.20

- This is a big swoop change where we switch to using glibc
- option-groups are forward ported
- cross-localedef is extracted out from eglibc and hosted
  at github.com/kraj/localedef, its used for cross-localedef
  recipe
- Other non ported patches from eglibc are forward ported
  ppc8xx cache line workaround
  SH fpcr values
  dynamic resolver
  installing PIC archives is there but is not applied
  libc header bootstrap

- Delete eglibc recipes we moved back to using glibc now
- Fix ppc/e500 build

- Fix crypt module build when options are used
- Fix fnmatch build when options OPTION_EGLIBC_LOCALE_CODE is unset
  HAVE_MBSTATE_T and HAVE_MBSRTOWCS should be defined conditionally
  based upon OPTION_EGLIBC_LOCALE_CODE being set/unset
- Move the ports/ patches to relevant files now that ports is gone

Signed-off-by: Khem Raj <raj.khem@gmail.com>