[bitbake-devel] [PATCH 3/6] packageinfo.bbclass : extended functionality
Paul Eggleton
paul.eggleton at linux.intel.com
Thu Mar 28 18:54:58 UTC 2013
Hi Andrei,
On Thursday 28 March 2013 10:23:19 Andrei Dinu wrote:
> Extended the functionality of packageinfo.bbclass
> so that the sistem retrieves information about the
> files brought in by each package. This is done
> (without activating buildhistory) by parsing
> the packages-split directory for each package.
>
> Signed-off-by: Andrei Dinu <andrei.adrianx.dinu at intel.com>
> ---
> meta/classes/packageinfo.bbclass | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
> diff --git a/meta/classes/packageinfo.bbclass
> b/meta/classes/packageinfo.bbclass index bd7b249..5e6f590 100644
> --- a/meta/classes/packageinfo.bbclass
> +++ b/meta/classes/packageinfo.bbclass
> @@ -8,6 +8,25 @@ 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/' if os.path.exists(pkgdata_dir):
> @@ -19,6 +38,8 @@ 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)))
This is a change against the metadata rather than BitBake; it needs to be sent
separately to the OE-Core mailing list.
Before you send it there however, you really need to be using the PKGDEST
variable instead of composing the path to packages-split using hardcoded path
components.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
More information about the bitbake-devel
mailing list