diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 3479947141..826a54e572 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1130,6 +1130,13 @@ python emit_pkgdata() { workdir = d.getVar('WORKDIR', True) for pkg in packages.split(): + items = {} + for files_list in pkgfiles[pkg]: + item_name = os.path.basename(files_list) + item_path = os.path.dirname(files_list) + if item_path not in items: + items[item_path] = [] + items[item_path].append(item_name) subdata_file = pkgdatadir + "/runtime/%s" % pkg pkgval = d.getVar('PKG_%s' % pkg, True) @@ -1137,6 +1144,8 @@ python emit_pkgdata() { pkgval = pkg d.setVar('PKG_%s' % pkg, pkg) + d.setVar('FILES_INFO', str(items)) + sf = open(subdata_file, 'w') write_if_exists(sf, pkg, 'PN') write_if_exists(sf, pkg, 'PV') @@ -1161,6 +1170,7 @@ python emit_pkgdata() { write_if_exists(sf, pkg, 'pkg_preinst') write_if_exists(sf, pkg, 'pkg_prerm') write_if_exists(sf, pkg, 'FILERPROVIDESFLIST') + write_if_exists(sf, pkg, 'FILES_INFO') for dfile in (d.getVar('FILERPROVIDESFLIST_' + pkg, True) or "").split(): write_if_exists(sf, pkg, 'FILERPROVIDES_' + dfile) diff --git a/meta/classes/packageinfo.bbclass b/meta/classes/packageinfo.bbclass index 5e6f5901e0..4709bea359 100644 --- a/meta/classes/packageinfo.bbclass +++ b/meta/classes/packageinfo.bbclass @@ -8,24 +8,6 @@ python packageinfo_handler () { package_archs = e.data.getVar('PACKAGE_ARCHS', True) packaging = e.data.getVar('PACKAGE_CLASSES', True).split()[0].split('_')[1] deploy_dir = e.data.getVar('DEPLOY_DIR', True) + '/' + packaging - dirs = os.listdir(tmpdir + '/work/') - pkgsplit_dir = tmpdir + '/work/' - items = {} - passing = '' - for directories in dirs: - temp_dirs = os.listdir(pkgsplit_dir + directories) - for temps1 in temp_dirs: - if os.path.exists(pkgsplit_dir + directories + '/' + temps1 + '/' + os.listdir(pkgsplit_dir + directories + '/' + temps1)[0] + '/packages-split'): - subs = pkgsplit_dir + directories + '/' + temps1 + '/' + os.listdir(pkgsplit_dir + directories + '/' + temps1)[0] + '/packages-split' - for temps in os.listdir(subs): - items[temps] = {} - for path, dirs, files in os.walk(pkgsplit_dir + directories + '/' + temps1 + '/' + os.listdir(pkgsplit_dir + directories + '/' + temps1)[0] + '/packages-split' + '/' + temps): - file_list = [] - if os.listdir(path) != []: - items[temps][path] = [] - for f in files: - file_list.append(f) - items[temps][path].append(file_list) for arch in package_archs.split(): pkgdata_dir = tmpdir + '/pkgdata/' + arch + target_vendor + '-' + target_os + '/runtime/' @@ -38,8 +20,6 @@ python packageinfo_handler () { try: sdata = oe.packagedata.read_pkgdatafile(pkgdatafile) sdata['PKG'] = pkgname - if pkgname in items: - sdata['FILES_INFO'] = items[pkgname] pkginfolist.append(sdata) except Exception as e: bb.warn("Failed to read pkgdata file %s: %s: %s" % (pkgdatafile, e.__class__, str(e)))