[yocto] Building local sources
Erik Botö
erik.boto at pelagicore.com
Wed Mar 11 04:11:40 PDT 2015
Hi,
On Wed, Mar 11, 2015 at 10:42 AM, Paul Eggleton
<paul.eggleton at linux.intel.com> wrote:
> I would advise against simply setting S as the build system normally thinks it
> is in control of that directory and may under certain circumstances delete it,
> which probably won't be what you want.
>
> We do have a proper mechanism for this kind of thing - the externalsrc class.
> Here is a section of the manual that describes how to use it:
>
> http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#building-software-from-an-external-source
>
> Generally though externalsrc is designed for temporary usage; long term
> I'd recommend you keep your metadata and source code separate and
> have the recipe(s) fetch the source in the normal manner.
>
I read the first email as that the problem was simple having multiple
modules in the git-repo, I missed that the recipes and actual code was
in the same git. You are right that setting S to point somewhere
outside of ${WORKDIR} is unsafe.
Cheers,
Erik
> Cheers,
> Paul
>
> On Wednesday 11 March 2015 09:34:30 Erik Botö wrote:
>> I think you should set S to whatever directory that contains your
>> source, it has a default to ${WORKDIR}/${PN}-${PV} if I remember
>> correctly.
>>
>> So S = "${WORKDIR}/${PN}" should work if the recipe is named the same
>> as the subdir in git, otherwise just set it explicitly using e.g. S =
>> "${WORKDIR}/module_a"
>>
>> Side note: Your example uses an underscore, which means that a and b
>> would be interpreted as versions, which is probably not intended. See
>> http://www.yoctoproject.org/docs/1.6/dev-manual/dev-manual.html#new-recipe-s
>> toring-and-naming-the-recipe
>>
>> Cheers,
>> Erik
>>
>> On Mon, Mar 9, 2015 at 4:37 PM, Koehler, Yannick (HP Networking)
>>
>> <yannick.koehler at hp.com> wrote:
>> > Hi,
>> >
>> > I need some help regarding this since I cannot find out how to achieve this. I have a git repo with a lot of code splitted in module, such as:
>> > /.git
>> > /module_a
>> > /module_b
>> >
>> > Etc...
>> >
>> > I want to compile those modules using a bitbake recipe within yocto so I created the following tree structure:
>> > /.git
>> > /module_a
>> > /module_b
>> > /poky
>> >
>> > /meta-modules
>> >
>> > /recipes-<category>
>> >
>> > /module_a
>> >
>> > module_a.bb
>> >
>> > /recipes-<category>
>> >
>> > /module_b
>> >
>> > module_b.bb
>> >
>> > So far so good, but now I am having issue with unpack/compile step, my
>> > modules are make-based (not autotools and not CMake). So I used
>> > EXTRA_OEMAKE to get them to use the proper target toolchain. Problem
>> > lies with the SRC_URI, my files from module_a gets copied into $WORKDIR
>> > and not into $S, as such the compile step failed. I understand that
>> > SRC_URI is not really the proper usage in such situation, appears to be
>> > meant to retrieve external packages and some files here and there,
>> > mostly patches. Even thought all my modules are within a git repo, I
>> > do not want to extract the full repo for each modules either.
>> >
>> > I am now looking into writing my own unpack function to move my code
>> > under S manually, but I was wondering if yocto had something to support
>> > this model and I simply missed it or if writing a custom unpack is the
>> > appropriate solution (likely I'll have to create a class so that all my
>> > modules use the same unpack behavior).>
>> > Yannick Koehler
>> > --
>> > _______________________________________________
>> > yocto mailing list
>> > yocto at yoctoproject.org
>> > https://lists.yoctoproject.org/listinfo/yocto
>
> --
>
> Paul Eggleton
> Intel Open Source Technology Centre
--
Erik Botö
M.Sc.E.E.
SENIOR SOFTWARE ENGINEER
Pelagicore AB
Ekelundsgatan 4, 6tr, SE-411 18 Gothenburg, Sweden
Mobile: +46 (0)768 817 203
E-Mail: erik.boto at pelagicore.com
PELAGICORE Experience Change
More information about the yocto
mailing list