Bug 5443

Summary: Clean up serialisation of package file listing in pkgdata
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Paul Eggleton <bluelightning>
Component: coreAssignee: Paul Eggleton <bluelightning>
Status: VERIFIED FIXED QA Contact:
Severity: enhancement    
Priority: Medium+ CC: alexandru.damian, alexandrux.palalau, meta.mr.watcher, meta.watcher, richard.purdie
Version: 1.6   
Target Milestone: 1.6   
Hardware: All   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Paul Eggleton 2013-11-01 12:01:26 UTC
Currently, when emit_pkgdata() in package.bbclass writes out the file listing for each package, it assembles the file paths into a dict and then writes str() of that dict, which results in rather nasty output:

FILES_INFO: {\'/path/to/build/tmp/work/i586-poky-linux/attr/2.4.46-r4/packages-split/attr/usr/bin\': [\'getfattr\', \'attr\', \'setfattr\']}

As shown it also includes the full path to packages-split as well which it should not be doing. We need to tidy this up so that the data is serialised explicitly instead of using str(), and the paths are relative to PKGDEST so that they will match up with what you see in the final package. Luckily the only parts of the code that read this field are Hob, Toaster, and more recently scripts/oe-pkgdata-util.

Additionally, Toaster needs the size of each file, so we should collect this information and write it out within the same structure as part of this effort and then change Toaster to read from that.
Comment 1 Alexandru Damian 2013-11-01 14:30:13 UTC
Taken.
Comment 3 Alexandru Palalau 2014-03-18 13:59:43 UTC
Switching to verified.
Master branch, commit ID: e58089b9d708ba176594a758580cc52c23725a5b