So first I will definitely recommend looking at the Openembedded manual. I have 
that document bookmarked, printed out, on my ipad and kindle.

http://docs.openembedded.org/usermanual/usermanual.html

From: [email protected] 
[mailto:[email protected]] On Behalf Of Hingolikar, Mrinmayee
Sent: Friday, October 18, 2013 4:10 AM
To: [email protected]
Subject: [meta-arago] Help on packaging

Hi all,

Is there any detailed documentation about the packaging in the yocto build 
system?
I would like to know more about the packaging specifically to answer:

1.       How to do a quick check as what files will go in the filesystem: in 
the image directory or the sysroot-destdir?


[Franklin]
image
The image directory (or destination directory) is where the software needs to 
be installed into in order to be packaged. This directory is referred to as D 
in recipes. So instead of installing binaries into /usr/bin and libraries into 
/usr/lib for example you would need to install into ${D}/usr/bin and 
${D}/usr/lib instead. When installed on the target the ${D} will be not be 
included so they'll end up in the correct place. You definitely don't want 
files on your host system being replaced by cross-compiled binaries for your 
target!
sysroots
Contains the staging area, which is used to store natively compiled tools and 
and libraries and headers for the target that are required for building other 
software.

So the above is saying that the image directory is where the do_install step 
copies all the files that will end up being packaged. Sysroots is where all the 
critical headers and libraries that other software can point to grab any 
external files it may need to build itself.
So to answer your original question of what is going into your filesystem. What 
goes into your file system are specific packages. If you look at the 
package-split directory you will see all the different packages that are 
available to go into your filesystem. Looking at a single recipe to determine 
which specific packages will go into the filesystem is tough since it is really 
dependent on the RDEPENDS RRECOMMENDS that may be set by other recipes/packages.
Take a look at the following link: http://elinux.org/Bitbake_Cheat_Sheet. 
Bitbake has a -g option that you can use to output dependency files that you 
can work your way through to figure out exactly what package has a dependency 
on another package.
If for some reason a certain package isn't being included by default that you 
need then either can explicitly set RDEPENDS or RRECOMMENDS in an image, 
packagegroup or recipe to make sure your filesystem gets what you need.



2.       How the do_package deals with symbolic links? (Since some of the 
symbolic links were missing in the target fs)
[Franklin] http://docs.openembedded.org/usermanual/usermanual.html#id325388
I would check if the symbolic link is found within the packages directory. If 
not then do_package is missing the symbolic link. What files are found in each 
package is determined by each package's FILES_<package name> variable. So you 
want to check if the proper paths (relative to the image directory) is being 
set properly to insure that the files you're interested in isn't missing 
anything.

Hopefully the above helps and if you need any clarification let me know!

Thanks and Regards,
Mrinmayee

_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago

Reply via email to