bitbake: fetch/az: Add sanity check and clarify documentation

AZ_SAS token should be prefixed with a question mark. Add a sanity check for
this and fix the documentation.

[YOCTO #15882]

(Bitbake rev: 22011765202514600314732b97f1bb938e21f585)

Signed-off-by: Robbin Van Damme <robbinvandamme@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robbin Van Damme 2025-06-01 22:15:05 +02:00 committed by Richard Purdie
parent 47ff241a84
commit a2f77bbe0f
2 changed files with 6 additions and 2 deletions

View File

@ -686,9 +686,9 @@ Such functionality is set by the variable:
delegate access to resources, if this variable is set, the Az Fetcher will
use it when fetching artifacts from the cloud.
You can specify the AZ_SAS variable as shown below::
You can specify the AZ_SAS variable prefixed with a ? as shown below::
AZ_SAS = "se=2021-01-01&sp=r&sv=2018-11-09&sr=c&skoid=<skoid>&sig=<signature>"
AZ_SAS = "?se=2021-01-01&sp=r&sv=2018-11-09&sr=c&skoid=<skoid>&sig=<signature>"
Here is an example URL::

View File

@ -36,6 +36,8 @@ class Az(Wget):
az_sas = d.getVar('AZ_SAS')
if az_sas and az_sas not in ud.url:
if not az_sas.startswith('?'):
raise FetchError("When using AZ_SAS, it must start with a '?' character to mark the start of the query-parameters.")
ud.url += az_sas
return Wget.checkstatus(self, fetch, ud, d, try_again)
@ -62,6 +64,8 @@ class Az(Wget):
az_sas = d.getVar('AZ_SAS')
if az_sas:
if not az_sas.startswith('?'):
raise FetchError("When using AZ_SAS, it must start with a '?' character to mark the start of the query-parameters.")
azuri = '%s%s%s%s' % ('https://', ud.host, ud.path, az_sas)
else:
azuri = '%s%s%s' % ('https://', ud.host, ud.path)