meta-raspberrypi: refresh thud: d5d92f2cb7..c71d79efc5

Update meta-raspberrypi to thud HEAD.

Andrei Gherzan (2):
      raspberrypi-cm3.conf: Define it as a stand alone machine
      docs/layer-contents.md: raspberrypi-cm3 is a stand alone machine now

Drew Moseley (1):
      linux-raspberrypi: Update to 4.14.85

Hugo Hromic (1):
      docs: improve the contributing section

Khem Raj (8):
      dynamic-layers/qt5-layer: Append to oe-device-extra.pri instead of rewriting
      bpftool: Disable for rpi until kernel is not > 4.14
      packagegroup-meta-oe.bbappend: remove bpftool for rpi
      Add meta-oe to dynamic-layers
      layer.conf: Fix typo for openembedded-layer dynamic layer addition
      bpftool: Move under meta-oe dynamic layer
      qtbase: Get eglfs/kms working with vc4graphics
      userland: Use original name libegl-mesa in rdeps

Marek Belisko (1):
      devtools: Added raspi-gpio

Ming Liu (2):
      rpi-default-providers.inc: use virtual/libgbm instead of libgbm
      userland: do not provide libgl1

Pepijn de Vos (2):
      firmware.inc: Update to 20181211
      linux-raspberrypi: Update to 4.14.87

Ricardo Salveti (1):
      bluez-firmware-rpidistro: update bluez-firmware

Richard Osterloh (1):
      sdcard_image-rpi: Format boot partition as FAT32

Zahari Petkov (2):
      linux-raspberrypi: Update to 4.14.98
      firmware.inc: Update to 20190212

memox_5 (1):
      rpi-config: used printf to escape properly

Change-Id: I36c776929c0ca91f06ab0f9bd93f1e2ce19cdf8b
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/meta-raspberrypi/classes/sdcard_image-rpi.bbclass b/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
index 6244ee5..d63a240 100644
--- a/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
+++ b/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
@@ -118,7 +118,7 @@
     # Create a vfat image with boot files
     BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDIMG} unit b print | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 512 /2 }')
     rm -f ${WORKDIR}/boot.img
-    mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
+    mkfs.vfat -F32 -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
     mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/
     if test -n "${DTS}"; then
         # Copy board device trees to root folder
diff --git a/meta-raspberrypi/conf/layer.conf b/meta-raspberrypi/conf/layer.conf
index 6e2fdf6..67eb98f 100644
--- a/meta-raspberrypi/conf/layer.conf
+++ b/meta-raspberrypi/conf/layer.conf
@@ -25,6 +25,8 @@
                for layer in BBFILE_COLLECTIONS.split())}"
 
 BBFILES_DYNAMIC += " \
+    openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \
+    openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \
     qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bb \
     qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bbappend \
 "
diff --git a/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc b/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc
index 5b2658b..5231a84 100644
--- a/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc
+++ b/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc
@@ -6,5 +6,5 @@
 PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}"
 PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
 PREFERRED_PROVIDER_virtual/mesa ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
-PREFERRED_PROVIDER_libgbm ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
+PREFERRED_PROVIDER_virtual/libgbm ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
 PREFERRED_PROVIDER_jpeg ?= "jpeg"
diff --git a/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf b/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
index 5f6d3b6..c8677b4 100644
--- a/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
+++ b/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
@@ -2,5 +2,11 @@
 #@NAME: RaspberryPi Compute Module 3 (CM3)
 #@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module 3 (CM3)
 
-MACHINEOVERRIDES = "raspberrypi3:${MACHINE}"
-include conf/machine/raspberrypi3.conf
+DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
+require conf/machine/include/tune-cortexa7.inc
+include conf/machine/include/rpi-base.inc
+
+KBUILD_DEFCONFIG ?= "bcm2709_defconfig"
+SDIMG_KERNELIMAGE ?= "kernel7.img"
+UBOOT_MACHINE = "rpi_3_32b_config"
+SERIAL_CONSOLES ?= "115200;ttyAMA0"
diff --git a/meta-raspberrypi/docs/contributing.md b/meta-raspberrypi/docs/contributing.md
index 94dbf49..7d18400 100644
--- a/meta-raspberrypi/docs/contributing.md
+++ b/meta-raspberrypi/docs/contributing.md
@@ -2,37 +2,108 @@
 
 ## Mailing list
 
-The main communication tool we use is a mailing list:
+The main communication tool in use is the Yocto Project mailing list:
+
 * <yocto@yoctoproject.org>
 * <https://lists.yoctoproject.org/listinfo/yocto>
 
-Feel free to ask any kind of questions but always prepend your email subject
-with "[meta-raspberrypi]". This is because we use the 'yocto' mailing list and
-not a perticular 'meta-raspberrypi' mailing list.
+Feel free to ask any kind of questions but please always prepend your email
+subject with `[meta-raspberrypi]` as this is the global *Yocto* mailing
+list and not a dedicated *meta-raspberrypi* mailing list.
 
-## Patches and pull requests
+## Formatting patches
 
-All the contributions should be compliant with the openembedded patch
-guidelines: <http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines>
+First and foremost, all of the contributions to the layer must be compliant
+with the standard openembedded patch guidelines:
 
-To contribute to this project you should send pull requests to the github mirror
-(<https://github.com/agherzan/meta-raspberrypi>). **Additionally** you can send
-the patches for review to the above specified mailing list.
+* <http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines>
 
-When creating patches for the mailing list, please use something like:
+In summary, your commit log messages should be formatted as follows:
+
+    <layer-component>: <short log/statement of what needed to be changed>
+
+    (Optional pointers to external resources, such as defect tracking)
+
+    The intent of your change.
+
+    (Optional: if it's not clear from above, how your change resolves
+    the issues in the first part)
+
+    Signed-off-by: Your Name <yourname@youremail.com>
+
+The `<layer-component>` is the layer component name that your changes affect.
+It is important that you choose it correctly. A simple guide for selecting a
+a good component name is the following:
+
+* For changes that affect *layer recipes*, please just use the **base names**
+  of the affected recipes, separated by commas (`,`), as the component name.
+  For example: use `omxplayer` instead of `omxplayer_git.bb`. If you are
+  adding new recipe(s), just use the new recipe(s) base name(s). An example
+  for changes to multiple recipes would be `userland,vc-graphics,wayland`.
+* For changes that affect the *layer documentation*, please just use `docs`
+  as the component name.
+* For changes that affect *other files*, i.e. under the `conf` directory,
+  please use the full path as the component name, e.g. `conf/layer.conf`.
+* For changes that affect the *layer itself* and do not fall into any of
+  the above cases, please use `meta-raspberrypi` as the component name.
+
+A full example of a suitable commit log message is below:
+
+    foobar: Adjusted the foo setting in bar
+
+    When using foobar on systems with less than a gigabyte of RAM common
+    usage patterns often result in an Out-of-memory condition causing
+    slowdowns and unexpected application termination.
+
+    Low-memory systems should continue to function without running into
+    memory-starvation conditions with minimal cost to systems with more
+    available memory.  High-memory systems will be less able to use the
+    full extent of the system, a dynamically tunable option may be best,
+    long-term.
+
+    The foo setting in bar was decreased from X to X-50% in order to
+    ensure we don't exhaust all system memory with foobar threads.
+
+    Signed-off-by: Joe Developer <joe.developer@example.com>
+
+A common issue during patch reviewing is commit log formatting, please review
+the above formatting guidelines carefully before sending your patches.
+
+## Sending patches
+
+The preferred method to contribute to this project is to send pull
+requests to the GitHub mirror of the layer:
+
+* <https://github.com/agherzan/meta-raspberrypi>
+
+**In addition**, you may send patches for review to the above specified
+mailing list. In this case, when creating patches using `git` please make
+sure to use the following formatting for the message subject:
 
     git format-patch -s --subject-prefix='meta-raspberrypi][PATCH' origin
 
-When sending patches to the mailing list, please use something like:
+Then, for sending patches to the mailing list, you may use this command:
 
     git send-email --to yocto@yoctoproject.org <generated patch>
 
-## Github issues
+## GitHub issues
 
-In order to manage and trace the meta-raspberrypi issues, we use github issues:
-<https://github.com/agherzan/meta-raspberrypi/issues>
+In order to manage and track the layer issues more efficiently, the
+GitHub issues facility is used by this project:
 
-If you push patches which have a github issue associated, please provide the
-issue number in the commit log just before "Signed-off-by" line(s). Example line
-for a bug:
-`[Issue #13]`
+* <https://github.com/agherzan/meta-raspberrypi/issues>
+
+If you submit patches that have a GitHub issue associated, please make sure to
+use standard GitHub keywords, e.g. `closes`, `resolves` or `fixes`, before the
+"Signed-off-by" tag to close the relevant issues automatically:
+
+    foobar: Adjusted the foo setting in bar
+
+    Fixes: #324
+
+    Signed-off-by: Joe Developer <joe.developer@example.com>
+
+More information on the available GitHub close keywords can be found here:
+
+* <https://help.github.com/articles/closing-issues-using-keywords>
+
diff --git a/meta-raspberrypi/docs/layer-contents.md b/meta-raspberrypi/docs/layer-contents.md
index f71d396..14e6b99 100644
--- a/meta-raspberrypi/docs/layer-contents.md
+++ b/meta-raspberrypi/docs/layer-contents.md
@@ -9,7 +9,7 @@
 * raspberrypi3
 * raspberrypi3-64 (64 bit kernel & userspace)
 * raspberrypi-cm (dummy alias for raspberrypi)
-* raspberrypi-cm3 (dummy alias for raspberrypi2)
+* raspberrypi-cm3
 
 Note: The raspberrypi3 machines include support for Raspberry Pi 3B+.
 
diff --git a/meta-raspberrypi/dynamic-layers/openembedded-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend b/meta-raspberrypi/dynamic-layers/openembedded-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
new file mode 100644
index 0000000..25423d0
--- /dev/null
+++ b/meta-raspberrypi/dynamic-layers/openembedded-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
@@ -0,0 +1 @@
+RDEPENDS_packagegroup-meta-oe-kernel_remove_rpi = "bpftool"
diff --git a/meta-raspberrypi/dynamic-layers/openembedded-layer/recipes-kernel/linux/bpftool.bbappend b/meta-raspberrypi/dynamic-layers/openembedded-layer/recipes-kernel/linux/bpftool.bbappend
new file mode 100644
index 0000000..7536f39
--- /dev/null
+++ b/meta-raspberrypi/dynamic-layers/openembedded-layer/recipes-kernel/linux/bpftool.bbappend
@@ -0,0 +1,3 @@
+# remove it when we upgrade to kernel > 4.14
+#
+COMPATIBLE_HOST_rpi = "null"
diff --git a/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend b/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
index 7d6ab84..58b7b47 100644
--- a/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
+++ b/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
@@ -1,17 +1,17 @@
 PACKAGECONFIG_GL_rpi = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'gl', \
-                        bb.utils.contains('DISTRO_FEATURES',     'opengl', 'eglfs gles2 linuxfb', \
+                        bb.utils.contains('DISTRO_FEATURES',     'opengl', 'eglfs gles2', \
                                                                        '', d), d)}"
-#PACKAGECONFIG_GL_rpi = "${@bb.utils.any_distro_features('x11 wayland', '', 'eglfs', d)}"
+PACKAGECONFIG_GL_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', ' gbm kms', '', d)}"
 PACKAGECONFIG_FONTS_rpi = "fontconfig"
 PACKAGECONFIG_append_rpi = " libinput examples tslib xkb xkbcommon-evdev"
 PACKAGECONFIG_remove_rpi = "tests"
 
-OE_QTBASE_EGLFS_DEVICE_INTEGRATION_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'eglfs_kms', 'eglfs_brcm', d)}"
+OE_QTBASE_EGLFS_DEVICE_INTEGRATION_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'eglfs_brcm', d)}"
 
 do_configure_prepend_rpi() {
     # Add the appropriate EGLFS_DEVICE_INTEGRATION
     if [ "${@d.getVar('OE_QTBASE_EGLFS_DEVICE_INTEGRATION')}" != "" ]; then
-        echo "EGLFS_DEVICE_INTEGRATION = ${OE_QTBASE_EGLFS_DEVICE_INTEGRATION}" > ${S}/mkspecs/oe-device-extra.pri
+        echo "EGLFS_DEVICE_INTEGRATION = ${OE_QTBASE_EGLFS_DEVICE_INTEGRATION}" >> ${S}/mkspecs/oe-device-extra.pri
     fi
 }
 RDEPENDS_${PN}_append_rpi = " userland"
diff --git a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
index d92b8e4..fcc7771 100644
--- a/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
+++ b/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
@@ -184,7 +184,7 @@
     fi
 
     # Append extra config if the user has provided any
-    echo "${RPI_EXTRA_CONFIG}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+    printf "${RPI_EXTRA_CONFIG}\n" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
 }
 
 do_deploy_append_raspberrypi3-64() {
diff --git a/meta-raspberrypi/recipes-bsp/common/firmware.inc b/meta-raspberrypi/recipes-bsp/common/firmware.inc
index 7be848a..37cd343 100644
--- a/meta-raspberrypi/recipes-bsp/common/firmware.inc
+++ b/meta-raspberrypi/recipes-bsp/common/firmware.inc
@@ -1,11 +1,11 @@
-RPIFW_DATE ?= "20180924"
-SRCREV ?= "5b49caa17e91d0e64024380119ad739bb201c674"
+RPIFW_DATE ?= "20190212"
+SRCREV ?= "83977fe3b6ef54c1d29c83b0a778d330f523441f"
 RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz"
 RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
 
 SRC_URI = "${RPIFW_SRC_URI}"
-SRC_URI[md5sum] = "51352972a029c6f47bde6d302b69440e"
-SRC_URI[sha256sum] = "d1f9c58957dfe681fff7e1cf1eabb9e0f6fdc99720f1d059fb24a37750573310"
+SRC_URI[md5sum] = "5ccdb5447cbdd3ee0158a514f7b76cb9"
+SRC_URI[sha256sum] = "9a34ccc4a51695a33206cc6c8534f615ba5a30fcbce5fa3add400ecc6b80ad8a"
 
 
 PV = "${RPIFW_DATE}"
diff --git a/meta-raspberrypi/recipes-devtools/raspi-gpio/raspi-gpio_git.bb b/meta-raspberrypi/recipes-devtools/raspi-gpio/raspi-gpio_git.bb
new file mode 100644
index 0000000..0de775c
--- /dev/null
+++ b/meta-raspberrypi/recipes-devtools/raspi-gpio/raspi-gpio_git.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Tool to help debug / hack at the BCM283x GPIO"
+HOMEPAGE = "https://github.com/RPi-Distro/raspi-gpio"
+SECTION = "devel/libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a14affa234debc057b47cdca615b2192"
+
+COMPATIBLE_MACHINE = "^rpi$"
+
+inherit autotools
+
+SRCREV = "2df7b8684e2e36b080cda315d78d5ba16f8f18b0"
+SRC_URI = "git://github.com/RPi-Distro/raspi-gpio.git;protocol=https;branch=master \
+          "
+
+S = "${WORKDIR}/git"
+
diff --git a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
index e6af4bf..f5c803e 100644
--- a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
+++ b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
@@ -7,7 +7,7 @@
 
 PROVIDES += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "virtual/libgles2 virtual/egl", d)}"
 
-RPROVIDES_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "libgles2 egl libegl libegl1 libgl1 libglesv2-2", d)}"
+RPROVIDES_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "libgles2 egl libegl libegl1 libglesv2-2", d)}"
 COMPATIBLE_MACHINE = "^rpi$"
 
 SRCBRANCH = "master"
@@ -91,4 +91,4 @@
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 RDEPENDS_${PN} += "bash"
-RDEPENDS_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "libegl1", "", d)}"
+RDEPENDS_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "libegl-mesa", "", d)}"
diff --git a/meta-raspberrypi/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb b/meta-raspberrypi/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb
index b16b2c1..310d2f8 100644
--- a/meta-raspberrypi/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb
+++ b/meta-raspberrypi/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb
@@ -24,7 +24,7 @@
 NO_GENERIC_LICENSE[Firmware-cypress-rpidistro] = "LICENCE.cypress-rpidistro"
 
 SRC_URI = "git://github.com/RPi-Distro/bluez-firmware"
-SRCREV = "ade2bae1aaaebede09abb8fb546f767a0e4c7804"
+SRCREV = "96eefffcccc725425fd83be5e0704a5c32b79e54"
 PV = "0.0+git${SRCPV}"
 
 S = "${WORKDIR}/git"
diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb
index d11b599..c68d2d0 100644
--- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb
+++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb
@@ -1,6 +1,6 @@
-LINUX_VERSION ?= "4.14.79"
+LINUX_VERSION ?= "4.14.98"
 
-SRCREV = "9ca74c53cbda1f104bce3b33850fd3bf33eb3793"
+SRCREV = "5d63a4595d32a8505590d5fea5c4ec1ca79fd49d"
 SRC_URI = " \
     git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y \
     file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \