meta-openembedded and poky: subtree updates

Squash of the following due to dependencies among them
and OpenBMC changes:

meta-openembedded: subtree update:d0748372d2..9201611135
meta-openembedded: subtree update:9201611135..17fd382f34
poky: subtree update:9052e5b32a..2e11d97b6c
poky: subtree update:2e11d97b6c..a8544811d7

The change log was too large for the jenkins plugin
to handle therefore it has been removed. Here is
the first and last commit of each subtree:

meta-openembedded:d0748372d2
      cppzmq: bump to version 4.6.0
meta-openembedded:17fd382f34
      mpv: Remove X11 dependency
poky:9052e5b32a
      package_ipk: Remove pointless comment to trigger rebuild
poky:a8544811d7
      pbzip2: Fix license warning

Change-Id: If0fc6c37629642ee207a4ca2f7aa501a2c673cd6
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/poky/meta/lib/oe/prservice.py b/poky/meta/lib/oe/prservice.py
index b1132cc..2d3c9c7 100644
--- a/poky/meta/lib/oe/prservice.py
+++ b/poky/meta/lib/oe/prservice.py
@@ -3,6 +3,10 @@
 #
 
 def prserv_make_conn(d, check = False):
+    # Otherwise this fails when called from recipes which e.g. inherit python3native (which sets _PYTHON_SYSCONFIGDATA_NAME) with:
+    # No module named '_sysconfigdata'
+    if '_PYTHON_SYSCONFIGDATA_NAME' in os.environ:
+        del os.environ['_PYTHON_SYSCONFIGDATA_NAME']
     import prserv.serv
     host_params = list([_f for _f in (d.getVar("PRSERV_HOST") or '').split(':') if _f])
     try:
@@ -79,41 +83,40 @@
     df = d.getVar('PRSERV_DUMPFILE')
     #write data
     lf = bb.utils.lockfile("%s.lock" % df)
-    f = open(df, "a")
-    if metainfo:
-        #dump column info 
-        f.write("#PR_core_ver = \"%s\"\n\n" % metainfo['core_ver']);
-        f.write("#Table: %s\n" % metainfo['tbl_name'])
-        f.write("#Columns:\n")
-        f.write("#name      \t type    \t notn    \t dflt    \t pk\n")
-        f.write("#----------\t --------\t --------\t --------\t ----\n")
-        for i in range(len(metainfo['col_info'])):
-            f.write("#%10s\t %8s\t %8s\t %8s\t %4s\n" % 
-                    (metainfo['col_info'][i]['name'], 
-                     metainfo['col_info'][i]['type'], 
-                     metainfo['col_info'][i]['notnull'], 
-                     metainfo['col_info'][i]['dflt_value'], 
-                     metainfo['col_info'][i]['pk']))
-        f.write("\n")
+    with open(df, "a") as f:
+        if metainfo:
+            #dump column info
+            f.write("#PR_core_ver = \"%s\"\n\n" % metainfo['core_ver']);
+            f.write("#Table: %s\n" % metainfo['tbl_name'])
+            f.write("#Columns:\n")
+            f.write("#name      \t type    \t notn    \t dflt    \t pk\n")
+            f.write("#----------\t --------\t --------\t --------\t ----\n")
+            for i in range(len(metainfo['col_info'])):
+                f.write("#%10s\t %8s\t %8s\t %8s\t %4s\n" %
+                        (metainfo['col_info'][i]['name'],
+                         metainfo['col_info'][i]['type'],
+                         metainfo['col_info'][i]['notnull'],
+                         metainfo['col_info'][i]['dflt_value'],
+                         metainfo['col_info'][i]['pk']))
+            f.write("\n")
 
-    if lockdown:
-        f.write("PRSERV_LOCKDOWN = \"1\"\n\n")
+        if lockdown:
+            f.write("PRSERV_LOCKDOWN = \"1\"\n\n")
 
-    if datainfo:
-        idx = {}
-        for i in range(len(datainfo)):
-            pkgarch = datainfo[i]['pkgarch']
-            value = datainfo[i]['value']
-            if pkgarch not in idx:
-                idx[pkgarch] = i
-            elif value > datainfo[idx[pkgarch]]['value']:
-                idx[pkgarch] = i
-            f.write("PRAUTO$%s$%s$%s = \"%s\"\n" % 
-                (str(datainfo[i]['version']), pkgarch, str(datainfo[i]['checksum']), str(value)))
-        if not nomax:
-            for i in idx:
-                f.write("PRAUTO_%s_%s = \"%s\"\n" % (str(datainfo[idx[i]]['version']),str(datainfo[idx[i]]['pkgarch']),str(datainfo[idx[i]]['value'])))
-    f.close()
+        if datainfo:
+            idx = {}
+            for i in range(len(datainfo)):
+                pkgarch = datainfo[i]['pkgarch']
+                value = datainfo[i]['value']
+                if pkgarch not in idx:
+                    idx[pkgarch] = i
+                elif value > datainfo[idx[pkgarch]]['value']:
+                    idx[pkgarch] = i
+                f.write("PRAUTO$%s$%s$%s = \"%s\"\n" %
+                    (str(datainfo[i]['version']), pkgarch, str(datainfo[i]['checksum']), str(value)))
+            if not nomax:
+                for i in idx:
+                    f.write("PRAUTO_%s_%s = \"%s\"\n" % (str(datainfo[idx[i]]['version']),str(datainfo[idx[i]]['pkgarch']),str(datainfo[idx[i]]['value'])))
     bb.utils.unlockfile(lf)
 
 def prserv_check_avail(d):