]> code.ossystems Code Review - openembedded-core.git/commitdiff
python: respect package order in manifest
authorAndrew Geissler <geissonator@gmail.com>
Wed, 19 Sep 2018 16:22:28 +0000 (09:22 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 21 Sep 2018 15:15:19 +0000 (08:15 -0700)
Don't sort the manifest when using it to generate packaging rules, so
ordering can be used to have complex packaging rules.

This is a backport of the same changes done by Ross Burton for python3

Changes since v1:
- Rebase

Signed-off-by: Andrew Geissler <geissonator@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-devtools/python/python_2.7.15.bb

index 43d9ff5152a7e82d1e79936dd0ddfa9cdba3b1ac..472c1da4bf7db7218b3dad145519daab29bb9d80 100644 (file)
@@ -207,7 +207,7 @@ RPROVIDES_${PN} += "${PN}-modules"
 INCLUDE_PYCS ?= "1"
 
 python(){
-    import json
+    import collections, json
 
     filename = os.path.join(d.getVar('THISDIR'), 'python', 'python2-manifest.json')
     # This python changes the datastore based on the contents of a file, so mark
@@ -215,7 +215,7 @@ python(){
     bb.parse.mark_dependency(d, filename)
 
     with open(filename) as manifest_file:
-        python_manifest=json.load(manifest_file)
+        python_manifest=json.load(manifest_file, object_pairs_hook=collections.OrderedDict)
 
     include_pycs = d.getVar('INCLUDE_PYCS')
 
@@ -248,8 +248,6 @@ python(){
             d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value)
         d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary'])
 
-    # We need to ensure staticdev packages match for files first so we sort in reverse
-    newpackages.sort(reverse=True)
     # Prepending so to avoid python-misc getting everything
     packages = newpackages + packages
     d.setVar('PACKAGES', ' '.join(packages))