@@ -2243,6 +2243,39 @@ OpenEmbedded build system.
This class is enabled by default because it is inherited by the
:ref:`ref-classes-package` class.
+.. _ref-classes-packagefeed*:
+
+``packagefeed*``
+================
+
+The :ref:`ref-classes-packagefeed*` classes create a packagefeed (or repo) for a
+specific set of packages including the generation of package indexes. The classes
+included are:
+
+- The :ref:`packagefeed <ref-classes-packagefeed*>` class, which is the top-level
+ class to inherit in a packagefeed recipe. It handles creating the feeds and any
+ index files needed.
+
+- The :ref:`packagefeed_deb <ref-classes-packagefeed*>` class, which supports feed
+ creation for ``.deb`` packages. ``.deb`` package feeds are created in the
+ directory specified by the ``${``\ :term:`DEPLOY_DIR_FEED_DEB`\ ``}`` variable.
+
+- The :ref:`packagefeed_ipk <ref-classes-packagefeed*>` class, which supports feed
+ creation for ``.ipk``` packages. ``.ipk`` package feeds are created in the
+ directory specified by the ``${``\ :term:`DEPLOY_DIR_FEED_IPK`\ ``}`` variable.
+
+- The :ref:`packagefeed_rpm <ref-classes-packagefeed*>` class, which supports feed
+ creation for ``.rpm`` packages. ``.rpm`` package feeds are created in the
+ directory specified by the ``${``\ :term:`DEPLOY_DIR_FEED_RPM`\ ``}`` variable.
+
+A package feed with indexes is created for each package type included in the
+:term:`PACKAGE_CLASSES` variable. Packages are hard linked or copied directly from
+the deploy directory for the package type.
+
+For information on package feeds and how they are created, see the
+":ref:`overview-manual/concepts:package feeds`" section in the Yocto Project
+Overview and Concepts Manual.
+
.. _ref-classes-packagegroup:
``packagegroup``
@@ -779,3 +779,20 @@ sure that the machine and metadata branches as specified by the
:term:`SRCREV` variables actually exist on the specified
branches. Otherwise, if :term:`AUTOREV` is not being used, the
:ref:`ref-tasks-validate_branches` task fails during the build.
+
+Feed-Related Tasks
+==========================
+
+The following tasks are applicable to package feed recipes when creating
+custom feeds or repos.
+
+.. _ref-tasks-packagefeed:
+
+``do_packagefeed``
+------------------
+
+Creates custom package feeds in the ``${``\ :term:`DEPLOY_DIR_FEED`\ ``}``
+directory for use outside of the build system. A feed is created for each
+package type specified in the :term:`PACKAGE_CLASSES` variable. For more
+information, see the ":ref:`overview-manual/concepts:package feeds`"
+section in the Yocto Project Overview and Concepts Manual.
@@ -1955,6 +1955,71 @@ system and gives an overview of their function and contents.
":ref:`overview-manual/concepts:package feeds`" section
in the Yocto Project Overview and Concepts Manual.
+ :term:`DEPLOY_DIR_FEED`
+ Points to the area that the OpenEmbedded build system uses to place
+ custom feeds.:term:`DEPLOY_DIR`. The BitBake configuration file initially
+ defines this variable as a subdirectory of the :term:`DEPLOY_DIR`::
+
+ DEPLOY_DIR_FEED = "${DEPLOY_DIR}/feeds"
+
+ This variable is used to construct the default locations of feeds
+ for each package class. See :term:`DEPLOY_DIR_FEED_DEB`,
+ :term:`DEPLOY_DIR_FEED_IPK`, and :term:`DEPLOY_DIR_FEED_RPM` for
+ those definitions. For more information on package feeds, see the
+ ":ref:`overview-manual/concepts:package feeds`" in the Yocto Project
+ Overview and Concepts Manual.
+
+ :term:`DEPLOY_DIR_FEED_DEB`
+ Points to the area that the OpenEmbedded build system places feeds
+ of Debian packages that are ready for deployment outside of the
+ build system. This variable applies only when :term:`PACKAGE_CLASSES`
+ contains ":ref:`ref-classes-package_deb`".
+
+ The BitBake configuration file initially defines this variable as a
+ subdirectory of the :term:`DEPLOY_DIR_FEED` with the feed name::
+
+ DEPLOY_DIR_FEED_DEB = "${DEPLOY_DIR_FEED}/deb/${PN}"
+
+ This variable is used by the :ref:`ref-classes-packagefeed*` class
+ when constructing feeds for Debian packages during the
+ :ref:`ref-tasks-packagefeed` task. For more information on package feeds,
+ see the ":ref:`overview-manual/concepts:package feeds`" in the Yocto
+ Project Overview and Concepts Manual.
+
+ :term:`DEPLOY_DIR_FEED_IPK`
+ Points to the area that the OpenEmbedded build system places feeds
+ of IPK packages that are ready for deployment outside of the
+ build system. This variable applies only when :term:`PACKAGE_CLASSES`
+ contains ":ref:`ref-classes-package_ipk`".
+
+ The BitBake configuration file initially defines this variable as a
+ subdirectory of the :term:`DEPLOY_DIR_FEED` with the feed name::
+
+ DEPLOY_DIR_FEED_IPK = "${DEPLOY_DIR_FEED}/ipk/${PN}"
+
+ This variable is used by the :ref:`ref-classes-packagefeed*` class
+ when constructing feeds for IPK packages during the
+ :ref:`ref-tasks-packagefeed` task. For more information on package feeds,
+ see the ":ref:`overview-manual/concepts:package feeds`" in the Yocto
+ Project Overview and Concepts Manual.
+
+ :term:`DEPLOY_DIR_FEED_RPM`
+ Points to the area that the OpenEmbedded build system places feeds
+ of RPM packages that are ready for deployment outside of the
+ build system. This variable applies only when :term:`PACKAGE_CLASSES`
+ contains ":ref:`ref-classes-package_rpm`".
+
+ The BitBake configuration file initially defines this variable as a
+ subdirectory of the :term:`DEPLOY_DIR_FEED` with the feed name::
+
+ DEPLOY_DIR_FEED_RPM = "${DEPLOY_DIR_FEED}/rpm/${PN}"
+
+ This variable is used by the :ref:`ref-classes-packagefeed*` class
+ when constructing feeds for RPM packages during the
+ :ref:`ref-tasks-packagefeed` task. For more information on package feeds,
+ see the ":ref:`overview-manual/concepts:package feeds`" in the Yocto
+ Project Overview and Concepts Manual.
+
:term:`DEPLOY_DIR_IMAGE`
Points to the area that the OpenEmbedded build system uses to place
images and other associated output files that are ready to be
Adds the initial documentation for packagefeed.bbclass and the related task do_packagefeed. Includes new material in the variables, tasks, and classes manuals to cover the new class and related plumbing. Documents: - packagefeed task - packagefeed_* bbclasses - DEPLOY_DIR_FEED* variables Signed-off-by: Charlie Johnston <charlie.johnston@ni.com> --- documentation/ref-manual/classes.rst | 33 +++++++++++++ documentation/ref-manual/tasks.rst | 17 +++++++ documentation/ref-manual/variables.rst | 65 ++++++++++++++++++++++++++ 3 files changed, 115 insertions(+)