Ping

I noticed this hasn't been integrated or commented on yet.

On 5/13/20 11:12 AM, Mark Hatle wrote:
> From: Mark Hatle <mark.ha...@xilinx.com>
> 
> Prior to fetching, the system checks if the sstate file is present
> either locally or on the mirror.  If it is, then it goes to the fetch
> stage.  Up to three files can be fetched, sstate, sstate.siginfo and
> sstate.sig (if signature validation is enabled).
> 
> The previous pstaging_fetch function would iterate over these, and if
> a download error occurred would spew forth a great amount of fetcher
> failure messages as well as stop fetching the next item in the set.
> 
> This was resolved by adding a fetcher.checkstatus() call prior to
> the download.  If the file isn't present, then the exception will
> be triggered, and no fetcher failure messages will reach the user.
> 
> The exception handler is then modified to be a pass so that it will
> loop and pull the rest of the files that that are requested.
> 
> Additionally, a check for the existance of the .sig file was added
> to the sstate_installpkg to avoid an error trying to load the .sig
> if it wasn't downloaded.
> 
> Signed-off-by: Mark Hatle <mark.ha...@xilinx.com>
> Signed-off-by: Mark Hatle <mark.ha...@kernel.crashing.org>
> ---
> 
> v2 - fix a typo in the error message about signature not being
>      present.
> 
>  meta/classes/sstate.bbclass | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
> index aa9c30b4e1..375196ef21 100644
> --- a/meta/classes/sstate.bbclass
> +++ b/meta/classes/sstate.bbclass
> @@ -355,6 +355,9 @@ def sstate_installpkg(ss, d):
>      d.setVar('SSTATE_INSTDIR', sstateinst)
>  
>      if bb.utils.to_boolean(d.getVar("SSTATE_VERIFY_SIG"), False):
> +        if not os.path.isfile(sstatepkg + '.sig'):
> +            bb.warn("No signature file for sstate package %s, skipping 
> acceleration..." % sstatepkg)
> +            return False
>          signer = get_signer(d, 'local')
>          if not signer.verify(sstatepkg + '.sig'):
>              bb.warn("Cannot verify signature on sstate package %s, skipping 
> acceleration..." % sstatepkg)
> @@ -733,10 +736,11 @@ def pstaging_fetch(sstatefetch, d):
>          localdata.setVar('SRC_URI', srcuri)
>          try:
>              fetcher = bb.fetch2.Fetch([srcuri], localdata, cache=False)
> +            fetcher.checkstatus()
>              fetcher.download()
>  
>          except bb.fetch2.BBFetchException:
> -            break
> +            pass
>  
>  def sstate_setscene(d):
>      shared_state = sstate_state_fromvars(d)
> 
> 
> 
> 
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#138809): 
https://lists.openembedded.org/g/openembedded-core/message/138809
Mute This Topic: https://lists.openembedded.org/mt/74185410/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to