diff --git a/documentation/mega-manual/figures/package-feeds.png b/documentation/mega-manual/figures/package-feeds.png
index 4bc311f3d6..37c9c32506 100644
Binary files a/documentation/mega-manual/figures/package-feeds.png and b/documentation/mega-manual/figures/package-feeds.png differ
diff --git a/documentation/ref-manual/closer-look.xml b/documentation/ref-manual/closer-look.xml
index eaf07d665f..27f674ae2f 100644
--- a/documentation/ref-manual/closer-look.xml
+++ b/documentation/ref-manual/closer-look.xml
@@ -640,7 +640,9 @@
Package feeds are an intermediary step in the build process.
- BitBake generates packages whose types are defined by the
+ The OpenEmbedded build system provides classes to generate
+ different package types, and you specify which classes to enable
+ through the
PACKAGE_CLASSES
variable.
Before placing the packages into package feeds,
@@ -651,22 +653,41 @@
- 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.
+ The package feed area resides in the Build Directory.
+ The directory the build system uses to temporarily store packages
+ is determined by a combination of variables and the particular
+ package manager in use.
+ See the "Package Feeds" box in the illustration and note the
+ information to the right of that area.
+ In particular, the following defines where package files are
+ kept:
+
+ DEPLOY_DIR:
+ Defined as tmp/deploy in the Build
+ Directory.
+
+ DEPLOY_DIR_*:
+ Depending on the package manager used, the package type
+ sub-folder.
+ Given RPM, IPK, or DEB packaging and tarball creation, the
+ DEPLOY_DIR_RPM,
+ DEPLOY_DIR_IPK,
+ DEPLOY_DIR_DEB,
+ or
+ DEPLOY_DIR_TAR,
+ variables are used, respectively.
+
+ PACKAGE_ARCH:
+ Defines architecture-specific sub-folders.
+ For example, packages could exist for the i586 or qemux86
+ architectures.
+
+
BitBake uses the do_package_write_* tasks to
- place generated packages into the package holding area (e.g.
+ generate packages and place them into the package holding area (e.g.
do_package_write_ipk for IPK packages).
See the
"do_package_write_deb",
@@ -675,6 +696,13 @@
and
"do_package_write_tar"
sections for additional information.
+ As an example, consider a scenario where an IPK packaging manager
+ is being used and package architecture support for both i586
+ and qemux86 exist.
+ Packages for the i586 architecture are placed in
+ build/tmp/deploy/ipk/i586, while packages for
+ the qemux86 architecture are placed in
+ build/tmp/deploy/ipk/qemux86.
diff --git a/documentation/ref-manual/figures/package-feeds.png b/documentation/ref-manual/figures/package-feeds.png
index 4bc311f3d6..37c9c32506 100644
Binary files a/documentation/ref-manual/figures/package-feeds.png and b/documentation/ref-manual/figures/package-feeds.png differ
diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml
index 880badda73..4eb61c5ba5 100644
--- a/documentation/ref-manual/ref-classes.xml
+++ b/documentation/ref-manual/ref-classes.xml
@@ -2263,11 +2263,12 @@
The package_deb class
- provides support for creating packages that use the
- .deb file format.
- The class ensures the packages are written out to the
- ${DEPLOY_DIR}/deb
- directory in a .deb file format.
+ provides support for creating packages that use the Debian
+ (i.e. .deb) file format.
+ The class ensures the packages are written out in a
+ .deb file format to the
+ ${DEPLOY_DIR_DEB}
+ directory.
@@ -2284,11 +2285,12 @@
The package_ipk class
- provides support for creating packages that use the
- .ipk file format.
- The class ensures the packages are written out to the
- ${DEPLOY_DIR}/ipk
- directory in a .ipk file format.
+ provides support for creating packages that use the IPK
+ (i.e. .ipk) file format.
+ The class ensures the packages are written out in a
+ .ipk file format to the
+ ${DEPLOY_DIR_IPK}
+ directory.
@@ -2305,11 +2307,12 @@
The package_rpm class
- provides support for creating packages that use the
- .rpm file format.
- The class ensures the packages are written out to the
- ${DEPLOY_DIR}/rpm
- directory in a .rpm file format.
+ provides support for creating packages that use the RPM
+ (i.e. .rpm) file format.
+ The class ensures the packages are written out in a
+ .rpm file format to the
+ ${DEPLOY_DIR_RPM}
+ directory.
@@ -2324,19 +2327,13 @@
package_tar.bbclass
- Warning
- The package_tar class is broken and is not
- supported.
- It is recommended that you do not use it.
-
-
- The package_tar
- class provides support for creating packages that use the
- .tar file format.
- The class ensures the packages are written out to the
- ${DEPLOY_DIR}/tar
- directory in a .tar file format.
+ The package_tar class
+ provides support for creating tarballs.
+ The class ensures the packages are written out in a
+ tarball format to the
+ ${DEPLOY_DIR_TAR}
+ directory.
diff --git a/documentation/ref-manual/ref-tasks.xml b/documentation/ref-manual/ref-tasks.xml
index 2b3031538f..59b4d9607a 100644
--- a/documentation/ref-manual/ref-tasks.xml
+++ b/documentation/ref-manual/ref-tasks.xml
@@ -144,9 +144,13 @@
do_package_write_deb
- Creates the actual DEB packages and places them in the
- Package Feeds
- area.
+ Creates Debian packages (i.e. *.deb files) and
+ places them in the
+ ${DEPLOY_DIR_DEB}
+ directory in the package feeds area.
+ For more information, see the
+ "Package Feeds"
+ section.
@@ -154,9 +158,13 @@
do_package_write_ipk
- Creates the actual IPK packages and places them in the
- Package Feeds
- area.
+ Creates IPK packages (i.e. *.ipk files) and
+ places them in the
+ ${DEPLOY_DIR_IPK}
+ directory in the package feeds area.
+ For more information, see the
+ "Package Feeds"
+ section.
@@ -164,9 +172,13 @@
do_package_write_rpm
- Creates the actual RPM packages and places them in the
- Package Feeds
- area.
+ Creates RPM packages (i.e. *.rpm files) and
+ places them in the
+ ${DEPLOY_DIR_RPM}
+ directory in the package feeds area.
+ For more information, see the
+ "Package Feeds"
+ section.
@@ -174,9 +186,12 @@
do_package_write_tar
- Creates tar archives for packages and places them in the
- Package Feeds
- area.
+ Creates tarballs and places them in the
+ ${DEPLOY_DIR_TAR}
+ directory in the package feeds area.
+ For more information, see the
+ "Package Feeds"
+ section.
diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml
index c0cae81212..ecac2b6c26 100644
--- a/documentation/ref-manual/ref-variables.xml
+++ b/documentation/ref-manual/ref-variables.xml
@@ -2686,13 +2686,55 @@
section.
For more detail on the contents of the
deploy directory, see the
- "Images" and
+ "Images",
+ "Package Feeds",
+ and
"Application Development SDK"
sections.
+ DEPLOY_DIR_DEB
+
+ DEPLOY_DIR_DEB[doc] = "Points to a Debian-specific area that the OpenEmbedded build system uses to place images, packages, SDKs and other output files that are ready to be used outside of the build system."
+
+
+
+
+ Points to the area that the OpenEmbedded build system uses
+ to place Debian packages that are ready to be used outside
+ of the build system.
+ This variable applies only when
+ PACKAGE_CLASSES
+ contains "package_deb".
+
+
+
+ The BitBake configuration file initially defines the
+ DEPLOY_DIR_DEB variable as a
+ sub-folder of
+ DEPLOY_DIR:
+
+ DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb"
+
+
+
+
+ The
+ package_deb
+ class uses the
+ DEPLOY_DIR_DEB variable to make sure
+ the
+ do_package_write_deb
+ task writes Debian packages into the appropriate folder.
+ For more information on how packaging works, see the
+ "Package Feeds"
+ section.
+
+
+
+
DEPLOY_DIR_IMAGE
DEPLOY_DIR_IMAGE[doc] = "Points to the area that the OpenEmbedded build system uses to place images and other associated output files that are ready to be deployed onto the target machine."
@@ -2724,6 +2766,123 @@
+ DEPLOY_DIR_IPK
+
+ DEPLOY_DIR_IPK[doc] = "Points to a IPK-specific area that the OpenEmbedded build system uses to place images, packages, SDKs and other output files that are ready to be used outside of the build system."
+
+
+
+
+ Points to the area that the OpenEmbedded build system uses
+ to place IPK packages that are ready to be used outside of
+ the build system.
+ This variable applies only when
+ PACKAGE_CLASSES
+ contains "package_ipk".
+
+
+
+ The BitBake configuration file initially defines this
+ variable as a sub-folder of
+ DEPLOY_DIR:
+
+ DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk"
+
+
+
+
+ The
+ package_ipk
+ class uses the
+ DEPLOY_DIR_IPK variable to make sure
+ the
+ do_package_write_ipk
+ task writes IPK packages into the appropriate folder.
+ For more information on how packaging works, see the
+ "Package Feeds"
+ section.
+
+
+
+
+ DEPLOY_DIR_RPM
+
+ DEPLOY_DIR_RPM[doc] = "Points to a RPM-specific area that the OpenEmbedded build system uses to place images, packages, SDKs and other output files that are ready to be used outside of the build system."
+
+
+
+
+ Points to the area that the OpenEmbedded build system uses
+ to place RPM packages that are ready to be used outside
+ of the build system.
+ This variable applies only when
+ PACKAGE_CLASSES
+ contains "package_rpm".
+
+
+
+ The BitBake configuration file initially defines this
+ variable as a sub-folder of
+ DEPLOY_DIR:
+
+ DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm"
+
+
+
+
+ The
+ package_rpm
+ class uses the
+ DEPLOY_DIR_RPM variable to make sure
+ the
+ do_package_write_rpm
+ task writes RPM packages into the appropriate folder.
+ For more information on how packaging works, see the
+ "Package Feeds"
+ section.
+
+
+
+
+ DEPLOY_DIR_TAR
+
+ DEPLOY_DIR_TAR[doc] = "Points to a tarball area that the OpenEmbedded build system uses to place images, packages, SDKs and other output files that are ready to be used outside of the build system."
+
+
+
+
+ Points to the area that the OpenEmbedded build system uses
+ to place tarballs that are ready to be used outside of
+ the build system.
+ This variable applies only when
+ PACKAGE_CLASSES
+ contains "package_tar".
+
+
+
+ The BitBake configuration file initially defines this
+ variable as a sub-folder of
+ DEPLOY_DIR:
+
+ DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar"
+
+
+
+
+ The
+ package_tar
+ class uses the
+ DEPLOY_DIR_TAR variable to make sure
+ the
+ do_package_write_tar
+ task writes TAR packages into the appropriate folder.
+ For more information on how packaging works, see the
+ "Package Feeds"
+ section.
+
+
+
+
DEPLOYDIR
DEPLOYDIR[doc] = "For recipes that inherit the deploy class, the DEPLOYDIR points to a temporary work area for deployed files."