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 delegate access to resources, if this variable is set, the Az Fetcher will
use it when fetching artifacts from the cloud. 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:: Here is an example URL::

View File

@ -36,6 +36,8 @@ class Az(Wget):
az_sas = d.getVar('AZ_SAS') az_sas = d.getVar('AZ_SAS')
if az_sas and az_sas not in ud.url: 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 ud.url += az_sas
return Wget.checkstatus(self, fetch, ud, d, try_again) return Wget.checkstatus(self, fetch, ud, d, try_again)
@ -62,6 +64,8 @@ class Az(Wget):
az_sas = d.getVar('AZ_SAS') az_sas = d.getVar('AZ_SAS')
if 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) azuri = '%s%s%s%s' % ('https://', ud.host, ud.path, az_sas)
else: else:
azuri = '%s%s%s' % ('https://', ud.host, ud.path) azuri = '%s%s%s' % ('https://', ud.host, ud.path)