summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python
diff options
context:
space:
mode:
authorAlejandro Enedino Hernandez Samaniego <alejandro.enedino.hernandez-samaniego@xilinx.com>2018-12-07 17:31:56 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-12-13 16:32:21 +0000
commitd0c2395db30c1145dffa32b8d8a4a6ba48970302 (patch)
tree01aa1786dd9315e15323404da5ae1513ab89287f /meta/recipes-devtools/python
parente235a9e18bad4758650c11cd98133de695b72bd1 (diff)
downloadpoky-d0c2395db30c1145dffa32b8d8a4a6ba48970302.tar.gz
create_manifest2: Dont match filenames which contain the directory name for new manifest
When creating a new python2 manifest, there is a corner case on which the filepath for a certain dependency that was found, could contain the path of an existing folder, e.g. ${libdir}/python2.7/xmlrpclib.py module path contains ${libdir}/python2.7/xml, this causes an issue where the dependency doesnt get eventually added on FILES for that module. This patch checks if the dependency that was found is a directory, if it is, it checks if it matches one of the existing directories on the manifest, if it is not, then it checks if the dependency's path (without the filename) matches one of the directories. Also some misc indentation fixes. (From OE-Core rev: a1c1253b44eb2000de55b7fa3836e5cdaa28a508) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/python')
-rw-r--r--meta/recipes-devtools/python/python/create_manifest2.py28
1 files changed, 17 insertions, 11 deletions
diff --git a/meta/recipes-devtools/python/python/create_manifest2.py b/meta/recipes-devtools/python/python/create_manifest2.py
index b6748653b6..34659515cb 100644
--- a/meta/recipes-devtools/python/python/create_manifest2.py
+++ b/meta/recipes-devtools/python/python/create_manifest2.py
@@ -209,7 +209,13 @@ for key in old_manifest:
209 209
210 inFolders=False 210 inFolders=False
211 for folder in allfolders: 211 for folder in allfolders:
212 if folder in item: 212 # The module could have a directory named after it, e.g. xml, if we take out the filename from the path
213 # we'll end up with ${libdir}, and we want ${libdir}/xml
214 if isFolder(item):
215 check_path = item
216 else:
217 check_path = os.path.dirname(item)
218 if folder in check_path :
213 inFolders = True # Did we find a folder? 219 inFolders = True # Did we find a folder?
214 folderFound = False # Second flag to break inner for 220 folderFound = False # Second flag to break inner for
215 # Loop only through packages which contain folders 221 # Loop only through packages which contain folders
@@ -262,16 +268,16 @@ for key in old_manifest:
262 new_manifest[key]['rdepends'].append(newkey) 268 new_manifest[key]['rdepends'].append(newkey)
263 break 269 break
264 else: 270 else:
265 # Debug 271 # Debug
266 print('Adding %s to %s FILES' % (item, key)) 272 print('Adding %s to %s FILES' % (item, key))
267 # Since it wasnt found on another package, its not an RDEP, so add it to FILES for this package 273 # Since it wasnt found on another package, its not an RDEP, so add it to FILES for this package
268 new_manifest[key]['files'].append(item) 274 new_manifest[key]['files'].append(item)
269 if item.endswith('*'): 275 if item.endswith('*'):
270 wildcards.append(item) 276 wildcards.append(item)
271 if item not in allfiles: 277 if item not in allfiles:
272 allfiles.append(item) 278 allfiles.append(item)
273 else: 279 else:
274 repeated.append(item) 280 repeated.append(item)
275 281
276print ('The following files are repeated (contained in more than one package), please check which package should get it:') 282print ('The following files are repeated (contained in more than one package), please check which package should get it:')
277print (repeated) 283print (repeated)