diff mbox series

[1/5] manuals: Add documentation for new packagefeed class.

Message ID 20230817155143.2578874-2-charlie.johnston@ni.com
State New
Headers show
Series Add packagefeed class documentation. | expand

Commit Message

Charlie Johnston Aug. 17, 2023, 3:50 p.m. UTC
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(+)
diff mbox series

Patch

diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index a7819d5b6..c632d1670 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -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``
diff --git a/documentation/ref-manual/tasks.rst b/documentation/ref-manual/tasks.rst
index 0db960b22..649d19fd7 100644
--- a/documentation/ref-manual/tasks.rst
+++ b/documentation/ref-manual/tasks.rst
@@ -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.
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 44e2dd08a..dba215acb 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -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