diff mbox series

[06/19] Drop the icecc class and related variables

Message ID 20250729-release-note-5-3-first-bunch-v1-6-058971e37c93@bootlin.com
State New
Headers show
Series Updates from Poky master | expand

Commit Message

Antonin Godard July 29, 2025, 9:56 a.m. UTC
Dropped by commit ecf8c386cf83 ("classes/recipes-devtools: Drop icecc
from OE-Core") in OE-Core.

Remove documentation for the class and the related variables. Remove the
references to this class.

Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
---
 documentation/migration-guides/migration-4.0.rst  | 10 +--
 documentation/ref-manual/classes.rst              | 74 -------------------
 documentation/ref-manual/variables.rst            | 89 +----------------------
 documentation/sdk-manual/appendix-customizing.rst |  4 +-
 4 files changed, 9 insertions(+), 168 deletions(-)
diff mbox series

Patch

diff --git a/documentation/migration-guides/migration-4.0.rst b/documentation/migration-guides/migration-4.0.rst
index 0e9e741458..c8c2b856d9 100644
--- a/documentation/migration-guides/migration-4.0.rst
+++ b/documentation/migration-guides/migration-4.0.rst
@@ -33,11 +33,11 @@  The following variables have changed their names:
 - ``BB_SETSCENE_ENFORCE_WHITELIST`` became ``BB_SETSCENE_ENFORCE_IGNORE_TASKS``
 - ``CVE_CHECK_PN_WHITELIST`` became :term:`CVE_CHECK_SKIP_RECIPE`
 - ``CVE_CHECK_WHITELIST`` became :term:`CVE_CHECK_IGNORE`
-- ``ICECC_USER_CLASS_BL`` became :term:`ICECC_CLASS_DISABLE`
-- ``ICECC_SYSTEM_CLASS_BL`` became :term:`ICECC_CLASS_DISABLE`
-- ``ICECC_USER_PACKAGE_WL`` became :term:`ICECC_RECIPE_ENABLE`
-- ``ICECC_USER_PACKAGE_BL`` became :term:`ICECC_RECIPE_DISABLE`
-- ``ICECC_SYSTEM_PACKAGE_BL`` became :term:`ICECC_RECIPE_DISABLE`
+- ``ICECC_USER_CLASS_BL`` became ``ICECC_CLASS_DISABLE``
+- ``ICECC_SYSTEM_CLASS_BL`` became ``ICECC_CLASS_DISABLE``
+- ``ICECC_USER_PACKAGE_WL`` became ``ICECC_RECIPE_ENABLE``
+- ``ICECC_USER_PACKAGE_BL`` became ``ICECC_RECIPE_DISABLE``
+- ``ICECC_SYSTEM_PACKAGE_BL`` became ``ICECC_RECIPE_DISABLE``
 - ``LICENSE_FLAGS_WHITELIST`` became :term:`LICENSE_FLAGS_ACCEPTED`
 - ``MULTI_PROVIDER_WHITELIST`` became :term:`BB_MULTI_PROVIDER_ALLOWED`
 - ``PNBLACKLIST`` became :term:`SKIP_RECIPE`
diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index 7c2b4fb278..748f0395c2 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -1143,80 +1143,6 @@  The :ref:`ref-classes-gzipnative` class enables the use of different native vers
 ``gzip`` and ``pigz`` rather than the versions of these tools from the
 build host.
 
-.. _ref-classes-icecc:
-
-``icecc``
-=========
-
-The :ref:`ref-classes-icecc` class supports
-`Icecream <https://github.com/icecc/icecream>`__, which facilitates
-taking compile jobs and distributing them among remote machines.
-
-The class stages directories with symlinks from ``gcc`` and ``g++`` to
-``icecc``, for both native and cross compilers. Depending on each
-configure or compile, the OpenEmbedded build system adds the directories
-at the head of the ``PATH`` list and then sets the ``ICECC_CXX`` and
-``ICECC_CC`` variables, which are the paths to the ``g++`` and ``gcc``
-compilers, respectively.
-
-For the cross compiler, the class creates a ``tar.gz`` file that
-contains the Yocto Project toolchain and sets ``ICECC_VERSION``, which
-is the version of the cross-compiler used in the cross-development
-toolchain, accordingly.
-
-The class handles all three different compile stages (i.e native,
-cross-kernel and target) and creates the necessary environment
-``tar.gz`` file to be used by the remote machines. The class also
-supports SDK generation.
-
-If :term:`ICECC_PATH` is not set in your
-``local.conf`` file, then the class tries to locate the ``icecc`` binary
-using ``which``. If :term:`ICECC_ENV_EXEC` is set
-in your ``local.conf`` file, the variable should point to the
-``icecc-create-env`` script provided by the user. If you do not point to
-a user-provided script, the build system uses the default script
-provided by the recipe :oe_git:`icecc-create-env_0.1.bb
-</openembedded-core/tree/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb>`.
-
-.. note::
-
-   This script is a modified version and not the one that comes with
-   ``icecream``.
-
-If you do not want the Icecream distributed compile support to apply to
-specific recipes or classes, you can ask them to be ignored by Icecream
-by listing the recipes and classes using the
-:term:`ICECC_RECIPE_DISABLE` and
-:term:`ICECC_CLASS_DISABLE` variables,
-respectively, in your ``local.conf`` file. Doing so causes the
-OpenEmbedded build system to handle these compilations locally.
-
-Additionally, you can list recipes using the
-:term:`ICECC_RECIPE_ENABLE` variable in
-your ``local.conf`` file to force ``icecc`` to be enabled for recipes
-using an empty :term:`PARALLEL_MAKE` variable.
-
-Inheriting the :ref:`ref-classes-icecc` class changes all sstate signatures.
-Consequently, if a development team has a dedicated build system that
-populates :term:`SSTATE_MIRRORS` and they want to
-reuse sstate from :term:`SSTATE_MIRRORS`, then all developers and the build
-system need to either inherit the :ref:`ref-classes-icecc` class or nobody should.
-
-At the distribution level, you can inherit the :ref:`ref-classes-icecc` class to be
-sure that all builders start with the same sstate signatures. After
-inheriting the class, you can then disable the feature by setting the
-:term:`ICECC_DISABLED` variable to "1" as follows::
-
-   INHERIT_DISTRO:append = " icecc"
-   ICECC_DISABLED ??= "1"
-
-This practice
-makes sure everyone is using the same signatures but also requires
-individuals that do want to use Icecream to enable the feature
-individually as follows in your ``local.conf`` file::
-
-   ICECC_DISABLED = ""
-
 .. _ref-classes-image:
 
 ``image``
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index a6962bb9d4..d8e6a81ea7 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -9,7 +9,7 @@  system and gives an overview of their function and contents.
 
 :term:`A <ABIEXTENSION>` :term:`B` :term:`C <CACHE>`
 :term:`D` :term:`E <EFI_PROVIDER>` :term:`F <FAKEROOT>`
-:term:`G <GCCPIE>` :term:`H <HGDIR>` :term:`I <ICECC_CLASS_DISABLE>`
+:term:`G <GCCPIE>` :term:`H <HGDIR>` :term:`I <IMAGE_BASENAME>`
 :term:`K <KARCH>` :term:`L <LABELS>` :term:`M <MACHINE>`
 :term:`N <NATIVELSBSTRING>` :term:`O <OBJCOPY>` :term:`P`
 :term:`Q <QA_EMPTY_DIRS>` :term:`R <RANLIB>` :term:`S` :term:`T`
@@ -2686,7 +2686,7 @@  system and gives an overview of their function and contents.
       :ref:`populate-sdk-ext <ref-classes-populate-sdk-*>` class sets the
       default value::
 
-         ESDK_CLASS_INHERIT_DISABLE ?= "buildhistory icecc"
+         ESDK_CLASS_INHERIT_DISABLE ?= "buildhistory"
 
       Some classes are not generally applicable within the extensible SDK
       context. You can use this variable to disable those classes.
@@ -3818,91 +3818,6 @@  system and gives an overview of their function and contents.
       :term:`HOSTTOOLS_NONFATAL` is not found on the build host. Thus, you can
       use :term:`HOSTTOOLS_NONFATAL` to filter optional host tools.
 
-   :term:`ICECC_CLASS_DISABLE`
-      Identifies user classes that you do not want the Icecream distributed
-      compile support to consider. This variable is used by the
-      :ref:`ref-classes-icecc` class. You set this variable in
-      your ``local.conf`` file.
-
-      When you list classes using this variable, the recipes inheriting
-      those classes will not benefit from distributed compilation across
-      remote hosts. Instead they will be built locally.
-
-   :term:`ICECC_DISABLED`
-      Disables or enables the ``icecc`` (Icecream) function. For more
-      information on this function and best practices for using this
-      variable, see the ":ref:`ref-classes-icecc`"
-      section.
-
-      Setting this variable to "1" in your ``local.conf`` disables the
-      function::
-
-         ICECC_DISABLED ??= "1"
-
-      To enable the function, set the variable as follows::
-
-         ICECC_DISABLED = ""
-
-   :term:`ICECC_ENV_EXEC`
-      Points to the ``icecc-create-env`` script that you provide. This
-      variable is used by the :ref:`ref-classes-icecc` class. You
-      set this variable in your ``local.conf`` file.
-
-      If you do not point to a script that you provide, the OpenEmbedded
-      build system uses the default script provided by the
-      :oe_git:`icecc-create-env_0.1.bb
-      </openembedded-core/tree/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb>`
-      recipe, which is a modified version and not the one that comes with
-      ``icecream``.
-
-   :term:`ICECC_PARALLEL_MAKE`
-      Extra options passed to the ``make`` command during the
-      :ref:`ref-tasks-compile` task that specify parallel
-      compilation. This variable usually takes the form of "-j x", where x
-      represents the maximum number of parallel threads ``make`` can run.
-
-      .. note::
-
-         The options passed affect builds on all enabled machines on the
-         network, which are machines running the ``iceccd`` daemon.
-
-      If your enabled machines support multiple cores, coming up with the
-      maximum number of parallel threads that gives you the best
-      performance could take some experimentation since machine speed,
-      network lag, available memory, and existing machine loads can all
-      affect build time. Consequently, unlike the
-      :term:`PARALLEL_MAKE` variable, there is no
-      rule-of-thumb for setting :term:`ICECC_PARALLEL_MAKE` to achieve optimal
-      performance.
-
-      If you do not set :term:`ICECC_PARALLEL_MAKE`, the build system does not
-      use it (i.e. the system does not detect and assign the number of
-      cores as is done with :term:`PARALLEL_MAKE`).
-
-   :term:`ICECC_PATH`
-      The location of the ``icecc`` binary. You can set this variable in
-      your ``local.conf`` file. If your ``local.conf`` file does not define
-      this variable, the :ref:`ref-classes-icecc` class attempts
-      to define it by locating ``icecc`` using ``which``.
-
-   :term:`ICECC_RECIPE_DISABLE`
-      Identifies user recipes that you do not want the Icecream distributed
-      compile support to consider. This variable is used by the
-      :ref:`ref-classes-icecc` class. You set this variable in
-      your ``local.conf`` file.
-
-      When you list recipes using this variable, you are excluding them
-      from distributed compilation across remote hosts. Instead they will
-      be built locally.
-
-   :term:`ICECC_RECIPE_ENABLE`
-      Identifies user recipes that use an empty
-      :term:`PARALLEL_MAKE` variable that you want to
-      force remote distributed compilation on using the Icecream
-      distributed compile support. This variable is used by the
-      :ref:`ref-classes-icecc` class. You set this variable in
-      your ``local.conf`` file.
-
    :term:`IMAGE_BASENAME`
       The base name of image output files. This variable defaults to the
       recipe name (``${``\ :term:`PN`\ ``}``).
diff --git a/documentation/sdk-manual/appendix-customizing.rst b/documentation/sdk-manual/appendix-customizing.rst
index 61091d83ba..e08630dce0 100644
--- a/documentation/sdk-manual/appendix-customizing.rst
+++ b/documentation/sdk-manual/appendix-customizing.rst
@@ -48,8 +48,8 @@  build system applies them against ``local.conf`` and ``auto.conf``:
    :term:`ESDK_CLASS_INHERIT_DISABLE` are disabled. Using
    :term:`ESDK_CLASS_INHERIT_DISABLE` to disable these classes is the typical
    method to disable classes that are problematic or unnecessary in the SDK
-   context. The default value disables the
-   :ref:`ref-classes-buildhistory` and :ref:`ref-classes-icecc` classes.
+   context. The default value disables the :ref:`ref-classes-buildhistory`
+   class.
 
 Additionally, the contents of ``conf/sdk-extra.conf``, when present, are
 appended to the end of ``conf/local.conf`` within the produced SDK,