1

I sucessfully created a premirror for our yocto builds on an Azure Storage Blob, that works if I set the access level to "Blob (Anonymous read).."

Now I wanted to keep the blob completely private, and access only via SAS Tokens.

SAS_TOKEN = "?sv=2019-12-12&ss=bf&srt=co&sp=rdl&se=2020-08-19T17:38:27Z&st=2020-08-19T09:38:27Z&spr=https&sig=abcdef_TEST"

INHERIT += "own-mirrors"
SOURCE_MIRROR_URL = "https://somewhere.blob.core.windows.net/our-mirror/downloads/BASENAME${SAS_TOKEN}"

BB_FETCH_PREMIRRORONLY = "1"

In general this works, but yocto (or to be exact the bitbake fetch module) will try then try to fetch from https://somewhere.blob.core.windows.net/our-mirror/downloads/bash-5.0.tar.gz%3Fsv%3D2019-12-12%26ss%3Dbf%26srt%3Dco%26sp%3Drdl%26se%3D2020-08-19T17%3A38%3A27Z%26st%3D2020-08-19T09%3A38%3A27Z%26spr%3Dhttps%26sig%3Dabcdef_TEST/bash-5.0.tar.gz

Which also encodes the special characters for the parameters and of course the fetch fill fail. Did anybody has solved this or similar issues already?

Or is it possible to patch files inside the poky layer (namely in ./layers/poky/bitbake/lib/bb/fetch2) without changing them, so I can roll my on encodeurl function there?

Jahn
  • 103
  • 1
  • 8
  • In our CI yocto builds on azure batch the solution was to use the blob storage as a mount configuration, with that the `SOURCE_MIRROR_URL` can be something lik `file://${AZ_BATCH_NODE_MOUNTS_DIR}/premirror` – Jahn Sep 09 '20 at 06:19

0 Answers0