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/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc
index 9cf09ff..cf8b9b7 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc
@@ -64,10 +64,8 @@
         d.setVar("SPL_BINARY", "")
 
     if providesbin and d.getVar("SOC_FAMILY") in ["zynqmp"]:
-        # depend on the pmu-firmware build
-        d.appendVar("DEPENDS", " virtual/pmu-firmware")
         # determine the path relative to the source tree
-        relpath = os.path.relpath(d.expand("${DEPLOY_DIR_IMAGE}/pmu-${MACHINE}.bin"), d.getVar("S"))
+        relpath = os.path.relpath(d.expand("${PMU_FIRMWARE_DEPLOY_DIR}/${PMU_FIRMWARE_IMAGE_NAME}.bin"), d.getVar("S"))
         # setup PMU Firmware path via MAKEFLAGS
         d.appendVar("EXTRA_OEMAKE", " CONFIG_PMUFW_INIT_FILE=\"{0}\"".format(relpath))
 }
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx/v2018.1/microblaze-kc705-Convert-microblaze-generic-to-k.patch b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx/v2018.3/microblaze-kc705-Convert-microblaze-generic-to-k.patch
similarity index 100%
rename from meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx/v2018.1/microblaze-kc705-Convert-microblaze-generic-to-k.patch
rename to meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx/v2018.3/microblaze-kc705-Convert-microblaze-generic-to-k.patch
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2018.1.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2018.3.bb
similarity index 69%
rename from meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2018.1.bb
rename to meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2018.3.bb
index fb2c618..c87672e 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2018.1.bb
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-xlnx_2018.3.bb
@@ -1,9 +1,9 @@
 UBOOT_VERSION = "v2018.01"
-XILINX_RELEASE_VERSION = "v2018.1"
+XILINX_RELEASE_VERSION = "v2018.3"
 
 UBRANCH ?= "master"
 
-SRCREV ?= "949e5cb9a736bac32ea8886e3953da55bdd30754"
+SRCREV ?= "d8fc4b3b70bccf1577dab69f6ddfd4ada9a93bac"
 
 include u-boot-xlnx.inc
 include u-boot-spl-zynq-init.inc
@@ -23,5 +23,10 @@
 		xilinx_zynqmp_zcu102_rev1_0_config \
 		xilinx_zynqmp_zcu106_revA_config \
 		xilinx_zynqmp_zcu104_revC_config \
+		xilinx_zynqmp_zcu100_revC_config \
+		xilinx_zynqmp_zcu111_revA_config \
+		xilinx_zynqmp_zc1275_revA_config \
+		xilinx_zynqmp_zc1275_revB_config \
+		xilinx_zynqmp_zc1254_revA_config \
 		"
 
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-uenv.bb b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-uenv.bb
index f6c2a00..952077d 100644
--- a/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-uenv.bb
+++ b/meta-xilinx/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-uenv.bb
@@ -5,43 +5,28 @@
 INHIBIT_DEFAULT_DEPS = "1"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
+python () {
+    # The device trees must be populated in the deploy directory to correctly
+    # detect them and their names. This means that this recipe needs to depend
+    # on those deployables just like the image recipe does.
+    deploydeps = ["virtual/kernel"]
+    for i in (d.getVar("MACHINE_ESSENTIAL_EXTRA_RDEPENDS") or "").split():
+        if i != d.getVar("BPN"):
+            deploydeps.append(i)
+    for i in (d.getVar("EXTRA_IMAGEDEPENDS") or "").split():
+        if i != d.getVar("BPN"):
+            deploydeps.append(i)
+
+    # add as DEPENDS since the targets might not have do_deploy tasks
+    if len(deploydeps) != 0:
+        d.appendVar("DEPENDS", " " + " ".join(deploydeps))
+}
+
 COMPATIBLE_MACHINE = "^$"
 COMPATIBLE_MACHINE_zynq = ".*"
 COMPATIBLE_MACHINE_zynqmp = ".*"
 
-inherit deploy
-
-def bootfiles_bitstream(d):
-    expectedfiles = [("bitstream", True)]
-    expectedexts = [(".bit", True), (".bin", False)]
-    # search for bitstream paths, use the renamed file. First matching is used
-    for f in (d.getVar("IMAGE_BOOT_FILES") or "").split():
-        sf, rf = f, f
-        if ';' in f:
-            sf, rf = f.split(';')
-
-        # skip boot.bin and u-boot.bin, it is not a bitstream
-        skip = ["boot.bin", "u-boot.bin"]
-        if sf in skip or rf in skip:
-            continue
-
-        for e, t in expectedfiles:
-            if sf == e or rf == e:
-                return rf, t
-        for e, t in expectedexts:
-            if sf.endswith(e) or rf.endswith(e):
-                return rf, t
-    return "", False
-
-def bootfiles_dtb_filepath(d):
-    if d.getVar("IMAGE_BOOT_FILES"):
-        dtbs = d.getVar("IMAGE_BOOT_FILES").split(" ")
-        # IMAGE_BOOT_FILES has extra renaming info in the format '<source>;<target>'
-        dtbs = [f.split(";")[0] for f in dtbs]
-        dtbs = [f for f in dtbs if f.endswith(".dtb")]
-        if len(dtbs) != 0:
-            return dtbs[0]
-    return ""
+inherit deploy image-wic-utils
 
 def uboot_boot_cmd(d):
     if d.getVar("KERNEL_IMAGETYPE") in ["uImage", "fitImage"]:
@@ -61,7 +46,7 @@
     env["kernel_image"] = d.getVar("KERNEL_IMAGETYPE")
     env["kernel_load_address"] = d.getVar("KERNEL_LOAD_ADDRESS")
 
-    env["devicetree_image"] = bootfiles_dtb_filepath(d)
+    env["devicetree_image"] = boot_files_dtb_filepath(d)
     env["devicetree_load_address"] = d.getVar("DEVICETREE_LOAD_ADDRESS")
 
     env["bootargs"] = d.getVar("KERNEL_BOOTARGS")
@@ -73,7 +58,7 @@
     # default uenvcmd does not load bitstream
     env["uenvcmd"] = "run bootkernel"
 
-    bitstream, bitstreamtype = bootfiles_bitstream(d)
+    bitstream, bitstreamtype = boot_files_bitstream(d)
     if bitstream:
         env["bitstream_image"] = bitstream
         env["bitstream_load_address"] = "0x100000"