poky: thud refresh 87e3a9739d..1cab405d88

Update poky to thud HEAD.

Adrian Bunk (1):
      archiver.bbclass: Fix COPYLEFT_LICENSE_{IN, EX}CLUDE

Adrian Freihofer (2):
      systemd: fix PN-container package splitting
      devtool: fix target-deploy --strip

Alejandro Enedino Hernandez Samaniego (1):
      python: Adds instructions to the manifest file

Alexander Kanavin (3):
      meson: do not manipulate the environment when looking for python via pkg-config
      openssl: update to 1.1.1a
      libc-package: fix postinst error when ENABLE_BINARY_LOCALE_GENERATION = "0"

Alexey Brodkin (1):
      gdb: Remove long ago upstreamed patch

André Draszik (1):
      linux-firmware: better packaging for TI wl12xx & wl18xx firmwares

Anuj Mittal (13):
      maintainers.inc: update Intel owners
      gst-plugins-bad: add PACKAGECONFIG for msdk
      gstreamer1.0: upgrade 1.14.3 -> 1.14.4
      gstreamer1.0-plugins-base: upgrade 1.14.3 -> 1.14.4
      gstreamer1.0-plugins-good: upgrade 1.14.3 -> 1.14.4
      gstreamer1.0-plugins-bad: upgrade 1.14.3 -> 1.14.4
      gstreamer1.0-plugins-ugly: upgrade 1.14.3 -> 1.14.4
      gstreamer1.0-libav: upgrade 1.14.3 -> 1.14.4
      gstreamer1.0-vaapi: upgrade 1.14.3 -> 1.14.4
      gstreamer1.0-rtsp-server: upgrade 1.14.3 -> 1.14.4
      gstreamer1.0-omx: upgrade 1.14.3 -> 1.14.4
      gstreamer1.0-python: upgrade 1.14.3 -> 1.14.4
      gst-validate: upgrade 1.14.2 -> 1.14.4

Armin Kuster (1):
      gnutls: update to 3.6.4

Bruce Ashfield (13):
      linux-yocto: remove obselete options from lxc config
      linux-yocto/4.14: configuration cleanups
      linux-yocto/4.18: -rt sync and config cleanups
      linux-yocto/tiny: switch default branch to standard/tiny/base
      linux-yocto/tiny: restore qemuarm support
      linux-yocto/4.18: bug fixes and configuration tweaks
      linux-yocto/4.18: update to v4.18.17
      linux-yocto/4.14: update to v4.14.79
      linux-yocto/4.18: integrate CVE fixes
      linux-yocto/4.18: update to v4.18.20
      linux-yocto/4.18: update to v4.18.21
      linux-yocto: configuration updates (virtio and tpm)
      linux-yocto: correct qemumips64el definition

Carlos Rafael Giani (10):
      gstreamer1.0: upgrade to version 1.14.3
      gstreamer1.0-plugin-base: upgrade to version 1.14.3
      gstreamer1.0-plugin-good: upgrade to version 1.14.3
      gstreamer1.0-plugin-bad: upgrade to version 1.14.3
      gstreamer1.0-plugin-ugly: upgrade to version 1.14.3
      gstreamer1.0-libav: upgrade to version 1.14.3
      gstreamer1.0-rtsp-server: upgrade to version 1.14.3
      gstreamer1.0-vaapi: upgrade to version 1.14.3
      gstreamer1.0-omx: upgrade to version 1.14.3
      gstreamer1.0-python: upgrade to version 1.14.3

Changhyeok Bae (2):
      iproute2: 4.18.0 -> 4.19.0
      ethtool: 4.17 -> 4.19

Christophe PRIOUZEAU (1):
      openssl: correct bad path on package preprocess

Douglas Royds (4):
      boost-context: Reproducibility: Set .file section for all *_elf_gas.S files
      reproducible: Refactor: Break out fixed_source_date_epoch() function
      reproducible: Don't look for youngest file when no source tarball
      ptest: Reproducibility: Take control of umask

Eric Chanudet (1):
      licence: Add license file CC-BY-SA-4.0

Hongxu Jia (6):
      elfutils: 0.174 -> 0.175
      gnupg: upgrade 2.2.9 -> 2.2.10
      gnupg: upgrade 2.2.10 -> 2.2.11
      libgcrypt: upgrade 1.8.3 -> 1.8.4
      ghostscript: 9.25 -> 9.26
      go 1.9/1.11: fix textrel qa warning for non mips arch

Joshua Watt (3):
      meta/icecc.bbclass: Move system blacklist to variables
      meta/icecc.bbclass: Update system blacklists
      classes/icecc.bbclass: Fix ccache disable

Kai Kang (1):
      multilib_script: fix packages split

Khem Raj (3):
      valgrind: Skip vgpreload_memcheck shared object from stripping
      populate_sdk_ext.bbclass: Include site.conf in parsing for contents for local.conf
      local.conf.sample: Update the sample config as per new migration manual

Ming Liu (1):
      image.bbclass: fix a wrong position blank

Mingli Yu (2):
      mdadm: improve the run-ptest
      nspr: improve reproducibility

Niko Mauno (1):
      opkg-utils: Fix update-alternatives link relocation

Otavio Salvador (1):
      linux-firmware: Bump revision to 1baa348

Paul Eggleton (1):
      socat: fix LICENSE

Peter Kjellerstedt (3):
      meson: Correct use of the _append operator
      bitbake: bitbake-diffsigs: Merge with bitbake-dumpsig
      bitbake: bitbake-diffsigs: Support recursive deps with signature files

Richard Purdie (9):
      meson: Disable rpath stripping at install time
      scripts/runqemu: Fix logic error causing failures with MACHINE from the environment
      meta-selftest/error: Cleanup large trailing whitespace
      bitbake: server/process: Make lockfile handling clearer
      bitbake: server/process: Show the last 60 log lines, not the last 10
      bitbake: server/process: Show last 60 lines of the log if the server didn't start
      poky.conf: Update the distros we test against on the autobuilder
      poky: Update version to 2.6.1
      build-appliance-image: Update to thud head revision

Robert Yang (5):
      classes: Remove tab indentations in python code
      recipes: Remove tab indentations in python code
      bugzilla.bbclass: Remove it since obsoleted
      sstate.bbclass: Only remove sstate file when task is existed
      bitbake: server/process: print a message when no logfile

Ross Burton (12):
      cpio: fix crash when appending to archives
      image_types: use cpio-native to build cpio images
      libtasn1: no need to inherit binconfig
      binconfig: only try to mangles files
      piglit: add missing waffle-bin dependency
      ruby: upgrade 2.5.1 -> 2.5.3
      insane: Clarify GNU_HASH warning
      patchreview: Various fixes/improvements
      python3: don't cripple target distutils
      python3: drop redundant patch
      bitbake: layerindex: don't use shell=True when cloning
      bitbake: fetch: don't use shell=True when listing ar files

Zheng Ruoqin (2):
      nss: Fix SHA_HTONL bug for arm 32be.
      createrepo-c: Fix setup of logging (log domains)

Change-Id: I025dd27f44e57af38abff110ebc331e371bc461b
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/poky/meta/recipes-devtools/python/python-native_2.7.15.bb b/poky/meta/recipes-devtools/python/python-native_2.7.15.bb
index 7c491fa..de35104 100644
--- a/poky/meta/recipes-devtools/python/python-native_2.7.15.bb
+++ b/poky/meta/recipes-devtools/python/python-native_2.7.15.bb
@@ -69,7 +69,11 @@
     import json
     pythondir = d.getVar('THISDIR',True)
     with open(pythondir+'/python/python2-manifest.json') as manifest_file:
-        python_manifest=json.load(manifest_file)
+        manifest_str =  manifest_file.read()
+        json_start = manifest_str.find('# EOC') + 6
+        manifest_file.seek(json_start)
+        manifest_str = manifest_file.read()
+        python_manifest = json.loads(manifest_str)
 
     rprovides = d.getVar('RPROVIDES').split()
 
diff --git a/poky/meta/recipes-devtools/python/python/create_manifest2.py b/poky/meta/recipes-devtools/python/python/create_manifest2.py
index 8799999..b674865 100644
--- a/poky/meta/recipes-devtools/python/python/create_manifest2.py
+++ b/poky/meta/recipes-devtools/python/python/create_manifest2.py
@@ -22,7 +22,7 @@
 #
 #
 # This way we will create a new manifest from the data structure that was built during
-# this process, ont this new manifest each package will contain specifically only
+# this process, on this new manifest each package will contain specifically only
 # what it needs to run.
 #
 # There are some caveats which we try to deal with, such as repeated files on different
@@ -30,7 +30,7 @@
 # Its also important to note that this method only works for python files, and shared
 # libraries. Static libraries, header files and binaries need to be dealt with manually.
 #
-# Author: Alejandro Enedino Hernandez Samaniego "aehs29" <aehs29@gmail.com>
+# Author: Alejandro Enedino Hernandez Samaniego "aehs29" <aehs29 at gmail dot com>
 
 
 import sys
@@ -62,10 +62,21 @@
   else:
     return False
 
+def prepend_comments(comments, json_manifest):
+    with open(json_manifest, 'r+') as manifest:
+        json_contents = manifest.read()
+        manifest.seek(0, 0)
+        manifest.write(comments + json_contents)
+
 # Read existing JSON manifest
 with open('python2-manifest.json') as manifest:
-  old_manifest = json.load(manifest, object_pairs_hook=collections.OrderedDict)
-
+    # The JSON format doesn't allow comments so we hack the call to keep the comments using a marker
+    manifest_str =  manifest.read()
+    json_start = manifest_str.find('# EOC') + 6 # EOC + \n
+    manifest.seek(0)
+    comments = manifest.read(json_start)
+    manifest_str = manifest.read()
+    old_manifest = json.loads(manifest_str, object_pairs_hook=collections.OrderedDict)
 
 # First pass to get core-package functionality, because we base everything on the fact that core is actually working
 # Not exactly the same so it should not be a function
@@ -277,3 +288,5 @@
 # Create the manifest from the data structure that was built
 with open('python2-manifest.json.new','w') as outfile:
     json.dump(new_manifest,outfile, indent=4)
+
+prepend_comments(comments,'python2-manifest.json.new')
diff --git a/poky/meta/recipes-devtools/python/python/python2-manifest.json b/poky/meta/recipes-devtools/python/python/python2-manifest.json
index 260fa6f..c092e69 100644
--- a/poky/meta/recipes-devtools/python/python/python2-manifest.json
+++ b/poky/meta/recipes-devtools/python/python/python2-manifest.json
@@ -1,3 +1,93 @@
+# DO NOT (entirely) modify this file manually, please read.
+#
+# IMPORTANT NOTE:
+# Please keep in mind that the create_manifest task relies on the fact the the
+# target and native Python packages are the same, and it also needs to be executed
+# with a fully working native package (with all the PACKAGECONFIGs enabled and all
+# and all the modules should be working, check log.do_compile), otherwise the script
+# will fail to find dependencies correctly, this note is valid either if you are
+# upgrading to a new Python version or adding a new package.
+#
+#
+# If you are adding a new package please follow the next steps:
+#     How to add a new package:
+#     - If a user wants to add a new package all that has to be done is:
+#     Modify the python2-manifest.json file, and add the required file(s) to the FILES list,
+#     fill up the SUMMARY section as well, the script should handle all the rest.
+#
+#     Real example:
+#     We want to add a web browser package, including the file webbrowser.py
+#     which at the moment is on python-misc.
+#     "webbrowser": {
+#         "files": ["${libdir}/python2.7/lib-dynload/webbrowser.py"],
+#         "rdepends": [],
+#         "summary": "Python Web Browser support"}
+#
+#     * Note that the rdepends field was left empty
+#
+#     We run $ bitbake python -c create_manifest and the resulting manifest
+#     should be completed after a few seconds, showing something like:
+#     "webbrowser": {
+#         "files": ["${libdir}/python2.7/webbrowser.py"],
+#         "rdepends": ["core","fcntl","io","pickle","shell","subprocess"],
+#         "summary": "Python Web Browser support"}
+#
+#
+# If you are upgrading Python to a new version please follow the next steps:
+#     After each Python upgrade, the create_manifest task should be executed, because we
+#     don't control what changes on upstream Python, so, some module dependency
+#     might have changed without us realizing it, a certain module can either have
+#     more or less dependencies, or could be depending on a new file that was just
+#     created on the new release and for obvious reasons we wouldn't have it on our
+#     old manifest, all of these issues would cause runtime errors on our system.
+#
+#     - Upgrade both the native and target Python packages to a new version
+#     - Run the create_manifest task for the target Python package as its shown below:
+#
+#     $ bitbake python -c create_manifest
+#
+#     This will automatically replace your manifest file located under the Python directory
+#     with an new one, which contains the new dependencies (if any).
+#
+#     Several things could have gone wrong here, I will try to explain a few:
+#
+#     a) A new file was introduced on this release, e.g. sha3*.so:
+#        The task will check what its needed to import every module, more than one module would
+#        would probably depend on sha3*.so, although only one module should contain it.
+#
+#        After running the task, the new manifest will have the sha3*.so file on more than one
+#        module, you need to manually decide which one of them should get it and delete it from
+#        the others, for example sha3*.so should likely be on ${PN}-crypt.
+#        Once you have deleted from the others you need to run the create_manifest task again,
+#        this will populate the other module's rdepends fields, with ${PN}-crypt and you should be
+#        good to go.
+#
+#     b) The native package wasn't built correctly and its missing a certain module:
+#        As mentioned before, you need to make sure the native package was built with all the modules
+#        because it is used as base to build the manifest file, you need to manually check log.do_compile
+#        since it won't error out the compile function if its only missing a couple of modules.
+#
+#        e.g. missing the _uuid module, log.do_compile would show the following:
+#        Python build finished successfully!
+#        The necessary bits to build these optional modules were not found:
+#        _uuid
+#
+#        What will happen here is that the new manifest would not be aware that the _uuid module exists, so
+#        not only we won't know of any dependencies to it, but also, the _uuid* files will be packaged on
+#        the misc package (which is where any file that doesn't belong anywhere else ends up).
+#
+#        This will eventually cause runtime errors on our system if we don't include the misc package on
+#        on our image, because the _uuid files will be missing.
+#        If we build the _uuid module correctly and run the create_manifest task the _uuid files will be
+#        detected correctly along with its dependencies, and we will get a working manifest.
+#
+#        This is the reason why it is important to make sure we have a fully working native build,
+#        so we can avoid these errors.
+#
+#
+#
+# DO NOT MODIFY THE NEXT LINE!, IT IS USED AS A MARKER FOR THE ACTUAL JSON MANIFEST
+# EOC
 {
     "tests": {
         "summary": "Python test suite", 
diff --git a/poky/meta/recipes-devtools/python/python3-native_3.5.6.bb b/poky/meta/recipes-devtools/python/python3-native_3.5.6.bb
index d5953cf..56236da 100644
--- a/poky/meta/recipes-devtools/python/python3-native_3.5.6.bb
+++ b/poky/meta/recipes-devtools/python/python3-native_3.5.6.bb
@@ -6,7 +6,6 @@
 file://12-distutils-prefix-is-inside-staging-area.patch \
 file://python-config.patch \
 file://030-fixup-include-dirs.patch \
-file://070-dont-clean-ipkg-install.patch \
 file://080-distutils-dont_adjust_files.patch \
 file://130-readline-setup.patch \
 file://150-fix-setupterm.patch \
diff --git a/poky/meta/recipes-devtools/python/python3/070-dont-clean-ipkg-install.patch b/poky/meta/recipes-devtools/python/python3/070-dont-clean-ipkg-install.patch
deleted file mode 100644
index f9971c6..0000000
--- a/poky/meta/recipes-devtools/python/python3/070-dont-clean-ipkg-install.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-consider opkg directories when cleaning up
-
--Khem
-
-Upstream-Status: Inappropriate [OE specific]
-
----
- Makefile.pre.in |    6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-Index: Python-3.5.3/Makefile.pre.in
-===================================================================
---- Python-3.5.3.orig/Makefile.pre.in
-+++ Python-3.5.3/Makefile.pre.in
-@@ -1574,8 +1574,8 @@ touch:
- # Sanitation targets -- clean leaves libraries, executables and tags
- # files, which clobber removes as well
- pycremoval:
--	-find $(srcdir) -depth -name '__pycache__' -exec rm -rf {} ';'
--	-find $(srcdir) -name '*.py[co]' -exec rm -f {} ';'
-+	-find $(srcdir) ! -path './ipkg-install/*' -depth -name '__pycache__' -exec rm -rf {} ';'
-+	-find $(srcdir) ! -path './ipkg-install/*' -name '*.py[co]' -exec rm -f {} ';'
- 
- rmtestturds:
- 	-rm -f *BAD *GOOD *SKIPPED
-@@ -1589,9 +1589,9 @@ docclean:
- 	-rm -rf Doc/tools/sphinx Doc/tools/pygments Doc/tools/docutils
- 
- clean: pycremoval
--	find . -name '*.[oa]' -exec rm -f {} ';'
--	find . -name '*.s[ol]' -exec rm -f {} ';'
--	find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
-+	find . ! -path './ipkg-install/*' -name '*.[oa]' -exec rm -f {} ';'
-+	find . ! -path './ipkg-install/*' -name '*.s[ol]' -exec rm -f {} ';'
-+	find . ! -path './ipkg-install/*' -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
- 	find build -name 'fficonfig.h' -exec rm -f {} ';' || true
- 	find build -name '*.py' -exec rm -f {} ';' || true
- 	find build -name '*.py[co]' -exec rm -f {} ';' || true
diff --git a/poky/meta/recipes-devtools/python/python3_3.5.6.bb b/poky/meta/recipes-devtools/python/python3_3.5.6.bb
index 31f8ead..2cb6504 100644
--- a/poky/meta/recipes-devtools/python/python3_3.5.6.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.5.6.bb
@@ -9,8 +9,6 @@
 SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
 file://python-config.patch \
 file://030-fixup-include-dirs.patch \
-file://070-dont-clean-ipkg-install.patch \
-file://080-distutils-dont_adjust_files.patch \
 file://130-readline-setup.patch \
 file://150-fix-setupterm.patch \
 file://0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch \
@@ -285,7 +283,7 @@
         for value in python_manifest[key]['files']:
             d.appendVar('FILES_' + pypackage, ' ' + value)
 
-    	# Add cached files
+        # Add cached files
         if include_pycs == '1':
             for value in python_manifest[key]['cached']:
                     d.appendVar('FILES_' + pypackage, ' ' + value)
diff --git a/poky/meta/recipes-devtools/python/python_2.7.15.bb b/poky/meta/recipes-devtools/python/python_2.7.15.bb
index dd969d8..c22c762 100644
--- a/poky/meta/recipes-devtools/python/python_2.7.15.bb
+++ b/poky/meta/recipes-devtools/python/python_2.7.15.bb
@@ -198,7 +198,11 @@
     bb.parse.mark_dependency(d, filename)
 
     with open(filename) as manifest_file:
-        python_manifest=json.load(manifest_file, object_pairs_hook=collections.OrderedDict)
+        manifest_str =  manifest_file.read()
+        json_start = manifest_str.find('# EOC') + 6
+        manifest_file.seek(json_start)
+        manifest_str = manifest_file.read()
+        python_manifest = json.loads(manifest_str, object_pairs_hook=collections.OrderedDict)
 
     include_pycs = d.getVar('INCLUDE_PYCS')