From: Michael Opdenacker <michael.opdenacker@bootlin.com>
To: bitbake-devel@lists.openembedded.org
Cc: docs@lists.yoctoproject.org,
Michael Opdenacker <michael.opdenacker@bootlin.com>
Subject: [PATCH 2/2] doc: bitbake-user-manual: expand SRC_URI description
Date: Fri, 5 Nov 2021 15:42:38 +0100 [thread overview]
Message-ID: <20211105144238.27679-3-michael.opdenacker@bootlin.com> (raw)
In-Reply-To: <20211105144238.27679-1-michael.opdenacker@bootlin.com>
From contents from the Yocto Project manual
Took the opportunity to reorder SRC_URI fetchers and options
alphabetically.
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
---
.../bitbake-user-manual-ref-variables.rst | 94 ++++++++++++++-----
1 file changed, 68 insertions(+), 26 deletions(-)
diff --git a/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
index 5abf43d8..66a65143 100644
--- a/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
+++ b/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
@@ -1333,67 +1333,109 @@ overview of their function and contents.
The list of source files - local or remote. This variable tells
BitBake which bits to pull for the build and how to pull them. For
example, if the recipe or append file needs to fetch a single tarball
- from the Internet, the recipe or append file uses a :term:`SRC_URI` entry
- that specifies that tarball. On the other hand, if the recipe or
- append file needs to fetch a tarball and include a custom file, the
- recipe or append file needs an :term:`SRC_URI` variable that specifies
- all those sources.
-
- The following list explains the available URI protocols:
+ from the Internet, the recipe or append file uses a :term:`SRC_URI`
+ entry that specifies that tarball. On the other hand, if the recipe or
+ append file needs to fetch a tarball, apply two patches, and include
+ a custom file, the recipe or append file needs an :term:`SRC_URI`
+ variable that specifies all those sources.
+
+ The following list explains the available URI protocols. URI
+ protocols are highly dependent on particular BitBake Fetcher
+ submodules. Depending on the fetcher BitBake uses, various URL
+ parameters are employed. For specifics on the supported Fetchers, see
+ the :ref:`bitbake-user-manual/bitbake-user-manual-fetching:fetchers`
+ section.
- - ``file://`` : Fetches files, which are usually files shipped
- with the metadata, from the local machine. The path is relative to
- the :term:`FILESPATH` variable.
+ - ``az://`` : Fetches files from an Azure Storage account using HTTPS.
- ``bzr://`` : Fetches files from a Bazaar revision control
repository.
- - ``git://`` : Fetches files from a Git revision control
+ - ``ccrc://`` - Fetches files from a ClearCase repository.
+
+ - ``cvs://`` : Fetches files from a CVS revision control
repository.
- - ``osc://`` : Fetches files from an OSC (OpenSUSE Build service)
- revision control repository.
+ - ``file://`` - Fetches files, which are usually files shipped
+ with the Metadata, from the local machine.
+ The path is relative to the :term:`FILESPATH`
+ variable. Thus, the build system searches, in order, from the
+ following directories, which are assumed to be a subdirectories of
+ the directory in which the recipe file (``.bb``) or append file
+ (``.bbappend``) resides:
- - ``repo://`` : Fetches files from a repo (Git) repository.
+ - ``${BPN}`` - The base recipe name without any special suffix
+ or version numbers.
- - ``http://`` : Fetches files from the Internet using HTTP.
+ - ``${BP}`` - ``${BPN}-${PV}``. The base recipe name and
+ version but without any special package name suffix.
- - ``https://`` : Fetches files from the Internet using HTTPS.
+ - *files -* Files within a directory, which is named ``files``
+ and is also alongside the recipe or append file.
- ``ftp://`` : Fetches files from the Internet using FTP.
- - ``cvs://`` : Fetches files from a CVS revision control
+ - ``git://`` : Fetches files from a Git revision control
repository.
- ``hg://`` : Fetches files from a Mercurial (``hg``) revision
control repository.
+ - ``http://`` : Fetches files from the Internet using HTTP.
+
+ - ``https://`` : Fetches files from the Internet using HTTPS.
+
+ - ``npm://`` - Fetches JavaScript modules from a registry.
+
+ - ``osc://`` : Fetches files from an OSC (OpenSUSE Build service)
+ revision control repository.
+
- ``p4://`` : Fetches files from a Perforce (``p4``) revision
control repository.
+ - ``repo://`` : Fetches files from a repo (Git) repository.
+
- ``ssh://`` : Fetches files from a secure shell.
- ``svn://`` : Fetches files from a Subversion (``svn``) revision
control repository.
- - ``az://`` : Fetches files from an Azure Storage account using HTTPS.
-
Here are some additional options worth mentioning:
- - ``unpack`` : Controls whether or not to unpack the file if it is
- an archive. The default action is to unpack the file.
+ - ``destsuffix`` - Places the file (or extracts its contents) into
+ the specified subdirectory of :term:`WORKDIR` when
+ the Git fetcher is used. When the Npm fetcher is used, it specifies
+ the directory to use to unpack the dependencies.
+
+ - ``downloadfilename`` : Specifies the filename used when storing
+ the downloaded file.
+
+ - ``localdir`` - Places the file (or extracts its contents) into
+ the specified subdirectory of :term:`WORKDIR` when the CVS fetcher is
+ used.
+
+ - ``name`` - Specifies a name to be used for association with
+ :term:`SRC_URI` checksums or :term:`SRCREV` when you have more than one
+ file or git repository specified in :term:`SRC_URI`. For example::
+
+ SRC_URI = "git://example.com/foo.git;name=first \
+ git://example.com/bar.git;name=second \
+ http://example.com/file.tar.gz;name=third"
+
+ SRCREV_first = "f1d2d2f924e986ac86fdf7b36c94bcdf32beec15"
+ SRCREV_second = "e242ed3bffccdf271b7fbaf34ed72d089537b42f"
+ SRC_URI[third.sha256sum] = "13550350a8681c84c861aac2e5b440161c2b33a3e4f302ac680ca5b686de48de"
- ``subdir`` : Places the file (or extracts its contents) into the
specified subdirectory. This option is useful for unusual tarballs
or other archives that do not have their files already in a
subdirectory within the archive.
- - ``name`` : Specifies a name to be used for association with
- :term:`SRC_URI` checksums when you have more than one file specified
- in :term:`SRC_URI`.
+ - ``subpath`` - Limits the checkout to a specific subpath of the
+ tree when using the Git fetcher is used.
- - ``downloadfilename`` : Specifies the filename used when storing
- the downloaded file.
+ - ``unpack`` : Controls whether or not to unpack the file if it is
+ an archive. The default action is to unpack the file.
:term:`SRCDATE`
The date of the source code used to build the package. This variable
--
2.25.1
prev parent reply other threads:[~2021-11-05 14:42 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-05 14:42 [PATCH 0/2] doc: extend BitBake variable descriptions Michael Opdenacker
2021-11-05 14:42 ` [PATCH 1/2] doc: bitbake-user-manual: add TMPDIR and WORKDIR to the variable index Michael Opdenacker
2021-11-05 14:49 ` [bitbake-devel] " Richard Purdie
2021-11-05 14:42 ` Michael Opdenacker [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211105144238.27679-3-michael.opdenacker@bootlin.com \
--to=michael.opdenacker@bootlin.com \
--cc=bitbake-devel@lists.openembedded.org \
--cc=docs@lists.yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox