From eb79d7609979eb6f88d8b4e8e258294929f2209c Mon Sep 17 00:00:00 2001 From: Michael Opdenacker Date: Thu, 9 Feb 2023 21:10:37 +0100 Subject: [PATCH] ref-manual: document SSTATE_EXCLUDEDEPS_SYSROOT Backport from master: https://git.yoctoproject.org/yocto-docs/commit/?id=b6690011c14ce4bf30571f045152a9d324ad5039 (From yocto-docs rev: 733cbdc608d87b36e115689e97467117aee40442) Signed-off-by: Michael Opdenacker Signed-off-by: Richard Purdie --- documentation/conf.py | 1 + documentation/ref-manual/ref-variables.rst | 26 ++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/documentation/conf.py b/documentation/conf.py index df67a5cdf2..e9078e054e 100644 --- a/documentation/conf.py +++ b/documentation/conf.py @@ -97,6 +97,7 @@ extlinks = { 'yocto_git': ('https://git.yoctoproject.org%s', None), 'oe_home': ('https://www.openembedded.org%s', None), 'oe_lists': ('https://lists.openembedded.org%s', None), + 'oe_git': ('https://git.openembedded.org%s', None), } # Intersphinx config to use cross reference with Bitbake user manual diff --git a/documentation/ref-manual/ref-variables.rst b/documentation/ref-manual/ref-variables.rst index b8d56a082b..f582bc72ea 100644 --- a/documentation/ref-manual/ref-variables.rst +++ b/documentation/ref-manual/ref-variables.rst @@ -7147,6 +7147,32 @@ system and gives an overview of their function and contents. :term:`SSTATE_DIR` The directory for the shared state cache. + :term:`SSTATE_EXCLUDEDEPS_SYSROOT` + This variable allows to specify indirect dependencies to exclude + from sysroots, for example to avoid the situations when a dependency on + any ``-native`` recipe will pull in all dependencies of that recipe + in the recipe sysroot. This behaviour might not always be wanted, + for example when that ``-native`` recipe depends on build tools + that are not relevant for the current recipe. + + This way, irrelevant dependencies are ignored, which could have + prevented the reuse of prebuilt artifacts stored in the Shared + State Cache. + + :term:`SSTATE_EXCLUDEDEPS_SYSROOT` is evaluated as two regular + expressions of recipe and dependency to ignore. An example + is the rule in :oe_git:`meta/conf/layer.conf `:: + + # Nothing needs to depend on libc-initial + # base-passwd/shadow-sysroot don't need their dependencies + SSTATE_EXCLUDEDEPS_SYSROOT += "\ + .*->.*-initial.* \ + .*(base-passwd|shadow-sysroot)->.* \ + " + + The ``->`` substring represents the dependency between + the two regular expressions. + :term:`SSTATE_MIRROR_ALLOW_NETWORK` If set to "1", allows fetches from mirrors that are specified in :term:`SSTATE_MIRRORS` to work even when