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
