3.4. Package Feeds

When the OpenEmbedded build system generates an image or an SDK, it gets the packages from a package feed area located in the Build Directory. The general Yocto Project Development Environment figure shows this package feeds area in the upper-right corner.

This section looks a little closer into the package feeds area used by the build system. Here is a more detailed look at the area:

Package feeds are an intermediary step in the build process. BitBake generates packages whose types are defined by the PACKAGE_CLASSES variable. Before placing the packages into package feeds, the build process validates them with generated output quality assurance checks through the insane class.

The package feed area resides in tmp/deploy of the Build Directory. Folders are created that correspond to the package type (IPK, DEB, or RPM) created. Further organization is derived through the value of the PACKAGE_ARCH variable for each package. For example, packages can exist for the i586 or qemux86 architectures. The package files themselves reside within the appropriate architecture folder.

BitBake uses the do_package_write_* tasks to place generated packages into the package holding area (e.g. do_package_write_ipk for IPK packages). See the "do_package_write_deb", "do_package_write_ipk", "do_package_write_rpm", and "do_package_write_tar" sections for additional information.