On Tue, Oct 30, 2018 at 1:06 AM CHMIELARZ Radoslaw
<[email protected]> wrote:
>
> Hi all,
>
>
>
> I think the documentation on migrating between Yocto 2.2 and 2.3 needs more 
> clarification as to how did the sysroots have changed.
>
>
>
> I wanted to migrate our build system from 2.2 to 2.5 and one package in 
> particular has caused me a day worth of scratching my head and trying 
> different ideas.
>
> We have a custom recipe for openssh-server which among other things had a 
> line:
>
> EXTRA_OECONF += 
> "--with-ssl-dir=${STAGING_DIR}/${MACHINE}/usr/local/openssl-1.0"
>
>
>
> This is due the fact that openssl-1.0 is being installed to 
> /usr/local/openssl-1.0.
>
>
>
> Now when trying to migrate I have noticed that STAGING_DIR is not populated 
> any more and this is clearly explained by the documentation. What is not 
> explained however is how to get the files from other recipes. The 
> documentation simply states that each recipe has its own staging directory. 
> Hence what I have tried to is steer this directory to the staging directory 
> of openssl-1.0.
>
>
>
> Of course the real solution is that openssh-server recipe installs header 
> files of all packages in DEPENDS into openssh-server STAGING_DIR_TARGET (in 
> my case, could be other STAGING_* directories apart from STAGING_DIR which is 
> empty right now) and the simple solution was to change the above line to:
>
> EXTRA_OECONF += "--with-ssl-dir=${STAGING_DIR_TARGET}/usr/local/openssl-1.0"
>
>
>
> And thus to save other people time I think it would be best to add another 
> point to the documentation 
> (https://www.yoctoproject.org/docs/2.5.1/ref-manual/ref-manual.html#migration-2.3-recipe-specific-sysroots)
>
> “Consider the following:
>
> [..]
>
> Examine the recipes that use STAGING_DIR: STAGING_DIR is a shared directory 
> not populated any more. Instead if You want to use files from another recipe 
> in Your recipe include that recipe in DEPENDS variable which will copy the 
> files from another recipe into Your recipe’s staging directories. Now You can 
> refer to those files using STAGING_DIR* pointing to Your recipe’s staging 
> directories. For example instead of:
>
> EXTRA_OECONF += 
> "--with-ssl-dir=${STAGING_DIR}/${MACHINE}/usr/local/openssl-1.0"
>
>                 Write the following:
>
>                                DEPENDS += “openssl-1.0”
>
> EXTRA_OECONF += "--with-ssl-dir=${STAGING_DIR_TARGET}/usr/local/openssl-1.0"
>
> “
>
>
>
> Of course this can be made more general and a precaution could be added that 
> this is taken care of by most of the packages. Maybe in my case it could also 
> be changed to be automatic but this I haven’t yet explored.

Thanks for this and I think it would be good if you are willing to add
it to How do I section of wiki here
https://wiki.yoctoproject.org/wiki/How_do_I


>
>
>
> Cheers,
>
> Radek Chmielarz
>
> Leica Geosystems AG
>
> --
> _______________________________________________
> yocto mailing list
> [email protected]
> https://lists.yoctoproject.org/listinfo/yocto
-- 
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to