On Wed, Apr 03, 2013 at 12:14:33PM +0200, Martin Jansa wrote: > * when PACKAGE_ARCH is changed e.g. from MACHINE_ARCH to TUNE_PKGARCH > get_subpkgedata_fn is still reading old MACHINE_ARCH directory instead of > newer with TUNE_PKGARCH
This is too strict in some cases, e.g.: ERROR: More then one pkgdata dir found for pkg 'opkg-collateral' ( '/OE/shr-core/tmp-eglibc/pkgdata/cortexa8-vfp-neon-oe-linux-gnueabi/runtime/opkg-collateral', '/OE/shr-core/tmp-eglibc/pkgdata/armv5te-oe-linux-gnueabi/runtime/opkg-collateral'), returning first Why do we need to look in all pkgdatadirs? Why not just PACKAGE_ARCH? > --- > meta/lib/oe/packagedata.py | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-) > > diff --git a/meta/lib/oe/packagedata.py b/meta/lib/oe/packagedata.py > index 62fd718..2533700 100644 > --- a/meta/lib/oe/packagedata.py > +++ b/meta/lib/oe/packagedata.py > @@ -34,11 +34,18 @@ def get_subpkgedata_fn(pkg, d): > dirs = all_pkgdatadirs(d) > > pkgdata = d.expand('${TMPDIR}/pkgdata/') > + found = None > for dir in dirs: > fn = pkgdata + dir + pkg > if os.path.exists(fn): > - return fn > - return d.expand('${PKGDATA_DIR}/runtime/%s' % pkg) > + if found: > + bb.error("More then one pkgdata dir found for pkg '%s' > ('%s', '%s'), returning first" % (pkg, found, fn)) > + continue > + found = fn > + if found: > + return found > + else: > + return d.expand('${PKGDATA_DIR}/runtime/%s' % pkg) > > def has_subpkgdata(pkg, d): > return os.access(get_subpkgedata_fn(pkg, d), os.R_OK) > @@ -68,6 +75,7 @@ def read_subpkgdata_dict(pkg, d): > return ret > > def _pkgmap(d): > + import bb > """Return a dictionary mapping package to recipe name.""" > > target_os = d.getVar("TARGET_OS", True) > @@ -85,6 +93,7 @@ def _pkgmap(d): > continue > > for pn in filter(lambda f: not > os.path.isdir(os.path.join(pkgdatadir, f)), files): > + bb.warn("Trying path '%s'" % os.path.join(pkgdatadir, pn)) > try: > pkgdata = read_pkgdatafile(os.path.join(pkgdatadir, pn)) > except OSError: > -- > 1.8.1.5 > -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com
signature.asc
Description: Digital signature
_______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core