[yocto] local fetcher and devtool don't work well together
Aaron_Wright at selinc.com
Aaron_Wright at selinc.com
Thu Oct 5 16:12:02 PDT 2017
Paul Eggleton <paul.eggleton at linux.intel.com> wrote on 10/04/2017 06:47:50
PM:
> Hi Aaron,
>
> On Thursday, 5 October 2017 11:54:32 AM NZDT Aaron_Wright at selinc.com
wrote:
> > I have a recipe with:
> >
> > SRC_URI = "file://a/b/c/d;subdir=src"
> > S = "${WORKDIR}/src/a/b/c/d"
> >
> > First off, ${S} must be set to the full path because the basepath uri
> > parameter[1] doesn't work. So this doesn't work:
> >
> > SRC_URI = "file://a/b/c/d;subdir=src;basepath=a/b/c/d"
> > S = "${WORKDIR}/src"
> >
> > I wish it would, but that's ok. I can deal with the long ${S} path as
it
> > compiles and works fine with bitbake.
>
> My question would be what are you trying to achieve here? Should you be
using
> the externalsrc class perhaps?
I've waffled between externalsrc and the local fetcher, but the local
fetcher seems to behave the best.
What I'm trying to do is a little odd, but we are trying to use yocto with
the recipes, meta layer, and source code in the same repository. This
makes the continuous integration server much simpler, and developers can
see the results of their commit/push in the context of the whole product
being put together with yocto.
This might not be the best idea, and yocto certainly seems to be based on
the fact that the source is remote, but things are generally working well
for us; at least continuous integration server wise. Right now I'm trying
to figure out how to get developers developing.
> https://urldefense.proofpoint.com/v2/url?
>
u=http-3A__www.yoctoproject.org_docs_current_dev-2Dmanual_dev-2Dmanual.html-23building-2Dsoftware-2Dfrom-2Dan-2Dexternal-2Dsource&d=DwICAg&c=zVFQZQ67ypsA9mYKSCqWmQHiVkCCaN-
> Gb60_N6TVnLk&r=rUGbzRLPRvFX3fKfyNvK9Xgz1MfBXwYtoWGtKfkzG3k&m=o9VVMczGF-
> R7-
>
EC8L6cShpCsU-3GWfug-0DbDpHLamU&s=JFZPoF89tSSrPhrhqmYSV5VrbkGpTM4jsqr1ij9sBa4&e=
>
> > However, it doesn't work with
> > devtool:
> >
> > $ devtool modify -n d ~/mysrc/a/b/c/d
> > NOTE: Creating workspace layer in <... snip
> > ...>/yocto/poky/build/workspace
> > NOTE: Enabling workspace layer in bblayers.conf
> > Parsing recipes..done.
> > NOTE: Recipe d now set up to build from ~/mysrc/a/b/c/d/b/c/d
> >
> > Where is the extra 'b/c/d' coming from in where it will be built from?
> > This directory is reflected in the bbappends created the workspace:
> >
> > FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
> > FILESPATH_prepend := "~/mysrc/a/b/c/d/b/c/d/oe-local-files:"
> >
> > Is it possible to have a ${S} of "${WORKDIR}/src" in this situation?
> > How can I get devtool to behave and not duplicate the path?
>
> The ~ shouldn't be in the value of FILESPATH, it ought to be expanded,
so
> that's something we need to fix.
Don't worry about the ~, that was just something I passed in the email to
obscure my path. Sorry.
> With regard to the path doubling of the
> subdirectories, it's assuming that because you have that subdirectory
path in
> S then you need that underneath the specified source directory (since
that is
> usually true if you were for example pointing to a checkout of a git
> repository, or an extracted source tarball).
You are correct. I can't believe I didn't think of that before. Thank you
so much. That gets me going at least.
> devtool hasn't been written to handle this usage (which is unusual
-typically
> the recipe is pointing at remote source). It would be good to get an
> understanding of your use case here so we can figure out where to go
from
> here.
>
> Cheers,
> Paul
>
> --
>
> Paul Eggleton
> Intel Open Source Technology Centre
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20171005/7c4ef8e6/attachment.html>
More information about the yocto
mailing list