reset upstream subtrees to yocto 2.6

Reset the following subtrees on thud HEAD:

  poky: 87e3a9739d
  meta-openembedded: 6094ae18c8
  meta-security: 31dc4e7532
  meta-raspberrypi: a48743dc36
  meta-xilinx: c42016e2e6

Also re-apply backports that didn't make it into thud:
  poky:
    17726d0 systemd-systemctl-native: handle Install wildcards

  meta-openembedded:
    4321a5d libtinyxml2: update to 7.0.1
    042f0a3 libcereal: Add native and nativesdk classes
    e23284f libcereal: Allow empty package
    030e8d4 rsyslog: curl-less build with fmhttp PACKAGECONFIG
    179a1b9 gtest: update to 1.8.1

Squashed OpenBMC subtree compatibility updates:
  meta-aspeed:
    Brad Bishop (1):
          aspeed: add yocto 2.6 compatibility

  meta-ibm:
    Brad Bishop (1):
          ibm: prepare for yocto 2.6

  meta-ingrasys:
    Brad Bishop (1):
          ingrasys: set layer compatibility to yocto 2.6

  meta-openpower:
    Brad Bishop (1):
          openpower: set layer compatibility to yocto 2.6

  meta-phosphor:
    Brad Bishop (3):
          phosphor: set layer compatibility to thud
          phosphor: libgpg-error: drop patches
          phosphor: react to fitimage artifact rename

    Ed Tanous (4):
          Dropbear: upgrade options for latest upgrade
          yocto2.6: update openssl options
          busybox: remove upstream watchdog patch
          systemd: Rebase CONFIG_CGROUP_BPF patch

Change-Id: I7b1fe71cca880d0372a82d94b5fd785323e3a9e7
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meta-xilinx/meta-xilinx-bsp/classes/image-wic-utils.bbclass b/meta-xilinx/meta-xilinx-bsp/classes/image-wic-utils.bbclass
new file mode 100644
index 0000000..6f66d55
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-bsp/classes/image-wic-utils.bbclass
@@ -0,0 +1,51 @@
+# Helper/utility functions to work with the IMAGE_BOOT_FILES variable and its
+# expected behvaior with regards to the contents of the DEPLOY_DIR_IMAGE.
+#
+# The use of these functions assume that the deploy directory is populated with
+# any dependent files/etc. Such that the recipe using these functions depends
+# on the recipe that provides the files being used/queried.
+
+def boot_files_split_expand(d):
+    # IMAGE_BOOT_FILES has extra renaming info in the format '<source>;<target>'
+    for f in (d.getVar("IMAGE_BOOT_FILES") or "").split(" "):
+        parts = f.split(";", 1)
+        sources = [parts[0]]
+        if "*" in parts[0]:
+            # has glob part
+            import glob
+            deployroot = d.getVar("DEPLOY_DIR_IMAGE")
+            sources = []
+            for i in glob.glob(os.path.join(deployroot, parts[0])):
+                sources.append(os.path.basename(i))
+
+        # for all sources, yield an entry
+        for s in sources:
+            if len(parts) == 2:
+                yield s, parts[1]
+            yield s, s
+
+def boot_files_bitstream(d):
+    expectedfiles = [("bitstream", True)]
+    expectedexts = [(".bit", True), (".bin", False)]
+    # search for bitstream paths, use the renamed file. First matching is used
+    for source, target in boot_files_split_expand(d):
+        # skip boot.bin and u-boot.bin, it is not a bitstream
+        skip = ["boot.bin", "u-boot.bin"]
+        if source in skip or target in skip:
+            continue
+
+        for e, t in expectedfiles:
+            if source == e or target == e:
+                return target, t
+        for e, t in expectedexts:
+            if source.endswith(e) or target.endswith(e):
+                return target, t
+    return "", False
+
+def boot_files_dtb_filepath(d):
+    dtbs = (d.getVar("IMAGE_BOOT_FILES") or "").split(" ")
+    for source, target in boot_files_split_expand(d):
+        if target.endswith(".dtb"):
+            return target
+    return ""
+