summaryrefslogtreecommitdiff
path: root/poky/bitbake/doc
diff options
context:
space:
mode:
Diffstat (limited to 'poky/bitbake/doc')
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml2
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml60
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml61
3 files changed, 122 insertions, 1 deletions
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml
index e4251dff56..04c5a26b99 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml
@@ -765,7 +765,7 @@
the concept:
<literallayout class='monospaced'>
BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \
- SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM \
+ SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL \
USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST \
PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \
CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE LICENSE_PATH SDKPKGSUFFIX"
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml
index d1bfc23362..fe4372adeb 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.xml
@@ -736,6 +736,10 @@
The fetcher's temporary working directory is set by
<link linkend='var-bb-P4DIR'><filename>P4DIR</filename></link>,
which defaults to "DL_DIR/p4".
+ The fetcher does not make use of a perforce client, instead it
+ relies on <filename>p4 files</filename> to retrieve a list of
+ files and <filename>p4 print</filename> to transfer the content
+ of those files locally.
</para>
<para>
@@ -783,6 +787,62 @@
to <filename>"${WORKDIR}/p4"</filename> in your recipe.
</note>
</para>
+
+ <para>
+ By default, the fetcher strips the depot location from the
+ local file paths. In the above example, the content of
+ <filename>example-depot/main/source/</filename>
+ will be placed in <filename>${WORKDIR}/p4</filename>.
+ For situations where preserving parts of the remote depot paths
+ locally is desirable, the fetcher supports two parameters:
+
+ <itemizedlist>
+ <listitem><para>
+ <emphasis>"module":</emphasis>
+ The top-level depot location or directory to fetch. The
+ value of this parameter can also point to a single file
+ within the depot, in which case the local file path will
+ include the module path.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>"remotepath":</emphasis>
+ When used with the value "<filename>keep</filename>",
+ the fetcher will mirror the full depot paths locally
+ for the specified location, even in combination with
+ the <filename>module</filename> parameter.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
+ Here is an example use of the the <filename>module</filename>
+ parameter:
+
+ <literallayout class='monospaced'>
+ SRC_URI = "p4://user:passwd@example-depot/main;module=source/..."
+ </literallayout>
+
+ In this case, the content of the top-level directory
+ <filename>source/</filename> will be fetched to
+ <filename>${P4DIR}</filename>, including the directory itself.
+ The top-level directory will be accesible at
+ <filename>${P4DIR}/source/</filename>.
+ </para>
+
+ <para>
+ Here is an example use of the the <filename>remotepath</filename>
+ parameter:
+
+ <literallayout class='monospaced'>
+ SRC_URI = "p4://user:passwd@example-depot/main;module=source/...;remotepath=keep"
+ </literallayout>
+
+ In this case, the content of the top-level directory
+ <filename>source/</filename> will be fetched to
+ <filename>${P4DIR}</filename>, but the complete depot paths will
+ be mirrored locally. The top-level directory will be accessible
+ at <filename>${P4DIR}/example-depot/main/source/</filename>.
+ </para>
</section>
<section id='repo-fetcher'>
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml
index c4bd1f2584..4c29b2464f 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.xml
@@ -1124,6 +1124,67 @@
</glossdef>
</glossentry>
+ <glossentry id='var-BBFILES_DYNAMIC'><glossterm>BBFILES_DYNAMIC</glossterm>
+ <info>
+ BBFILES_DYNAMIC[doc] = "Activates content depending on presence of identified layers."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+ Activates content depending on presence of identified layers.
+ You identify the layers by the collections that the layers
+ define.
+ </para>
+
+ <para>
+ Use the <filename>BBFILES_DYNAMIC</filename> variable to
+ avoid <filename>.bbappend</filename> files whose
+ corresponding <filename>.bb</filename> file is in a layer
+ that attempts to modify other layers through
+ <filename>.bbappend</filename> but does not want to
+ introduce a hard dependency on those other layers.
+ </para>
+
+ <para>
+ Additionally you can prefix the rule with "!" to add
+ <filename>.bbappend</filename> and <filename>.bb</filename> files
+ in case a layer is not present.
+ Use this avoid hard dependency on those other layers.
+ </para>
+
+ <para>
+ Use the following form for
+ <filename>BBFILES_DYNAMIC</filename>:
+ <literallayout class='monospaced'>
+ <replaceable>collection_name</replaceable>:<replaceable>filename_pattern</replaceable>
+ </literallayout>
+ The following example identifies two collection names and
+ two filename patterns:
+ <literallayout class='monospaced'>
+ BBFILES_DYNAMIC += "\
+ clang-layer:${LAYERDIR}/bbappends/meta-clang/*/*/*.bbappend \
+ core:${LAYERDIR}/bbappends/openembedded-core/meta/*/*/*.bbappend \
+ "
+ </literallayout>
+ When the collection name is prefixed with "!" it will add the file pattern in case
+ the layer is absent:
+ <literallayout class='monospaced'>
+ BBFILES_DYNAMIC += "\
+ !clang-layer:${LAYERDIR}/backfill/meta-clang/*/*/*.bb \
+ "
+ </literallayout>
+
+ This next example shows an error message that occurs
+ because invalid entries are found, which cause parsing to
+ abort:
+ <literallayout class='monospaced'>
+ ERROR: BBFILES_DYNAMIC entries must be of the form {!}&lt;collection name&gt;:&lt;filename pattern&gt;, not:
+ /work/my-layer/bbappends/meta-security-isafw/*/*/*.bbappend
+ /work/my-layer/bbappends/openembedded-core/meta/*/*/*.bbappend
+ </literallayout>
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id='var-bb-BBINCLUDED'><glossterm>BBINCLUDED</glossterm>
<glossdef>
<para>