[OE-core] Recipe specific sysroot: handling recipes creating same files
Andreas Müller
schnitzeltony at googlemail.com
Sun Feb 19 22:04:27 UTC 2017
Hi,
I have the case that two recipes are trying to install same files.
In my case:
samba and libldb install
/usr/lib/python2.7/site-packages/_ldb_text.py
I bet samba doe that due to missing dependency on libldb but I don't
want to discuss that here - I'll find a proper solution.
What I would like to discuss is that both recipes build fine without
an error. The error comes up on gvfs depending on both. gvfs fails
with cryptic python backtrace:
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
0001:
*** 0002:extend_recipe_sysroot(d)
0003:
File: '/home/superandy/data/oe-core/sources/openembedded-core/meta/classes/staging.bbclass',
lineno: 623, function: extend_recipe_sysroot
0619: dest = newmanifest[l]
0620: if l.endswith("/"):
0621: staging_copydir(l, targetdir, dest, seendirs)
0622: continue
*** 0623: staging_copyfile(l, targetdir, dest,
postinsts, seendirs)
0624:
0625: for f in fixme:
0626: if f == '':
0627: staging_processfixme(fixme[f], recipesysroot,
recipesysroot, recipesysrootnative, d)
File: '/home/superandy/data/oe-core/sources/openembedded-core/meta/classes/staging.bbclass',
lineno: 269, function: staging_copyfile
0265: os.symlink(linkto, dest)
0266: #bb.warn(c)
0267: else:
0268: try:
*** 0269: os.link(c, dest)
0270: except OSError as err:
0271: if err.errno == errno.EXDEV:
0272: bb.utils.copyfile(c, dest)
0273: else:
Exception: FileExistsError: [Errno 17] File exists:
'/home/superandy/tmp/oe-core-glibc/sysroots-components/cortexa7t2hf-neon-vfpv4/libldb/usr/lib/python2.7/site-packages/_ldb_text.py'
-> '/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/gvfs/1.28.3-r0/recipe-sysroot/usr/lib/python2.7/site-packages/_ldb_text.py'
This needs love: One can guess that libldb is trying to install stuff
already there - nothing mentions samba and the error pops up for gvfs
which does nothing really wrong. I consider this as bug introduced by
RSS.
Andreas
More information about the Openembedded-core
mailing list