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] -=-=-=-=-=-=-=-=-=-=-=-