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
