From 1418534d2215890723c281f852b6a6fd08acdbcf Mon Sep 17 00:00:00 2001 From: Antonin Godard Date: Tue, 24 Dec 2024 16:35:55 +0100 Subject: [PATCH] SSTATE_MIRRORS/SOURCE_MIRROR_URL: add instructions for mirror authentication [ YOCTO #15218 ] There are different ways of configuring the build host when authentication to a mirror (SSTATE_MIRRORS or SOURCE_MIRROR_URL) is required. Document these methods, and begin with the preferred approach which is to edit ~/.netrc appropriately. When that is not possible, specifying the credentials from the URL is also possible, so document it as well. Reported-by: peter.zsifkovits@at.bosch.com Tested-by: Antonin Godard # Debian 12 container (From yocto-docs rev: e0f88c9595a084244691c6c6aee8d95ce29602fc) Signed-off-by: Antonin Godard (cherry picked from commit 4c303cce0627e0f2ce52e72597541e220585aaed) Signed-off-by: Antonin Godard Signed-off-by: Steve Sakoman --- documentation/ref-manual/variables.rst | 53 ++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst index e63a749950..7f0d09903b 100644 --- a/documentation/ref-manual/variables.rst +++ b/documentation/ref-manual/variables.rst @@ -7527,6 +7527,31 @@ system and gives an overview of their function and contents. You can specify only a single URL in :term:`SOURCE_MIRROR_URL`. + .. note:: + + If the mirror is protected behind a username and password, the + :term:`build host` needs to be configured so the :term:`build system + ` is able to fetch from the mirror. + + The recommended way to do that is by setting the following parameters + in ``$HOME/.netrc`` (``$HOME`` being the :term:`build host` home + directory):: + + machine example.com + login + password + + This file requires permissions set to ``400`` or ``600`` to prevent + other users from reading the file:: + + chmod 600 "$HOME/.netrc" + + Another method to configure the username and password is from the URL + in :term:`SOURCE_MIRROR_URL` directly, with the ``user`` and ``pswd`` + parameters:: + + SOURCE_MIRROR_URL = "http://example.com/my_source_mirror;user=;pswd=" + :term:`SPDX_ARCHIVE_PACKAGED` This option allows to add to :term:`SPDX` output compressed archives of the files in the generated target packages. @@ -7905,6 +7930,34 @@ system and gives an overview of their function and contents. file://.* https://someserver.tld/share/sstate/PATH;downloadfilename=PATH \ file://.* file:///some-local-dir/sstate/PATH" + .. note:: + + If the mirror is protected behind a username and password, the + :term:`build host` needs to be configured so the :term:`build system + ` is able to download the sstate cache using + authentication. + + The recommended way to do that is by setting the following parameters + in ``$HOME/.netrc`` (``$HOME`` being the :term:`build host` home + directory):: + + machine someserver.tld + login + password + + This file requires permissions set to ``400`` or ``600`` to prevent + other users from reading the file:: + + chmod 600 "$HOME/.netrc" + + Another method to configure the username and password is from the + URL in :term:`SSTATE_MIRRORS` directly, with the ``user`` and ``pswd`` + parameters:: + + SSTATE_MIRRORS ?= "\ + file://.* https://someserver.tld/share/sstate/PATH;user=;pswd=;downloadfilename=PATH \ + " + The Yocto Project actually shares the cache data objects built by its autobuilder::