| Submitter | Paul Eggleton |
|---|---|
| Date | April 5, 2012, 5:07 p.m. |
| Message ID | <1333645638-9195-1-git-send-email-paul.eggleton@linux.intel.com> |
| Download | mbox | patch |
| Permalink | /patch/25217/ |
| State | New |
| Headers | show |
Comments
On Thu, 2012-04-05 at 18:07 +0100, Paul Eggleton wrote: > If you have PREMIRRORS set up to point to a local directory, the local > download function does nothing and always succeeds and the mirror code > was writing a .done stamp regardless, thus the checksum verification was > being skipped even if the file wasn't actually copied from the mirror. > > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> > --- > lib/bb/fetch2/__init__.py | 7 ++++--- > 1 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py > index e5c4b34..414cc2b 100644 > --- a/lib/bb/fetch2/__init__.py > +++ b/lib/bb/fetch2/__init__.py > @@ -476,9 +476,10 @@ def try_mirrors(d, origud, mirrors, check = False): > > if not os.path.exists(ud.donestamp) or ud.method.need_update(newuri, ud, ld): > ud.method.download(newuri, ud, ld) > - open(ud.donestamp, 'w').close() > - if hasattr(ud.method,"build_mirror_data"): > - ud.method.build_mirror_data(newuri, ud, ld) > + if os.path.exists(ud.localpath): > + open(ud.donestamp, 'w').close() > + if hasattr(ud.method,"build_mirror_data"): > + ud.method.build_mirror_data(newuri, ud, ld) > > if not ud.localpath or not os.path.exists(ud.localpath): > continue I messed up some commands and this ended up merged with the following commit I manipulated: http://git.openembedded.org/bitbake/commit/?id=c9eed04c6275ef2c694f89e047f85c7de76f89b6 Since its pushed at this point I'm not sure what options I have to undo it. Sorry :( Richard
On Thu, 2012-04-05 at 18:07 +0100, Paul Eggleton wrote: > If you have PREMIRRORS set up to point to a local directory, the local > download function does nothing and always succeeds and the mirror code > was writing a .done stamp regardless, thus the checksum verification was > being skipped even if the file wasn't actually copied from the mirror. > > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> > --- > lib/bb/fetch2/__init__.py | 7 ++++--- > 1 files changed, 4 insertions(+), 3 deletions(-) Merged to master, thanks. Richard
On Wednesday 11 April 2012 00:25:24 Richard Purdie wrote: > On Thu, 2012-04-05 at 18:07 +0100, Paul Eggleton wrote: > > If you have PREMIRRORS set up to point to a local directory, the local > > download function does nothing and always succeeds and the mirror code > > was writing a .done stamp regardless, thus the checksum verification was > > being skipped even if the file wasn't actually copied from the mirror. > > > > Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> > > --- > > > > lib/bb/fetch2/__init__.py | 7 ++++--- > > 1 files changed, 4 insertions(+), 3 deletions(-) > > > > diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py > > index e5c4b34..414cc2b 100644 > > --- a/lib/bb/fetch2/__init__.py > > +++ b/lib/bb/fetch2/__init__.py > > > > @@ -476,9 +476,10 @@ def try_mirrors(d, origud, mirrors, check = False): > > if not os.path.exists(ud.donestamp) or ud.method.need_update(newuri, ud, ld): > > ud.method.download(newuri, ud, ld) > > > > - open(ud.donestamp, 'w').close() > > - if hasattr(ud.method,"build_mirror_data"): > > - ud.method.build_mirror_data(newuri, ud, ld) > > + if os.path.exists(ud.localpath): > > + open(ud.donestamp, 'w').close() > > + if hasattr(ud.method,"build_mirror_data"): > > + ud.method.build_mirror_data(newuri, ud, ld) > > > > if not ud.localpath or not os.path.exists(ud.localpath): > > continue > > I messed up some commands and this ended up merged with the following > commit I manipulated: > > http://git.openembedded.org/bitbake/commit/?id=c9eed04c6275ef2c694f89e047f85 > c7de76f89b6 > > Since its pushed at this point I'm not sure what options I have to undo > it. Sorry :( No worries - but does this fix in any way help with the problem Gary was seeing? Cheers, Paul
On 2012-04-11 03:11, Paul Eggleton wrote: > On Wednesday 11 April 2012 00:25:24 Richard Purdie wrote: >> On Thu, 2012-04-05 at 18:07 +0100, Paul Eggleton wrote: >>> If you have PREMIRRORS set up to point to a local directory, the local >>> download function does nothing and always succeeds and the mirror code >>> was writing a .done stamp regardless, thus the checksum verification was >>> being skipped even if the file wasn't actually copied from the mirror. >>> >>> Signed-off-by: Paul Eggleton<paul.eggleton@linux.intel.com> >>> --- >>> >>> lib/bb/fetch2/__init__.py | 7 ++++--- >>> 1 files changed, 4 insertions(+), 3 deletions(-) >>> >>> diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py >>> index e5c4b34..414cc2b 100644 >>> --- a/lib/bb/fetch2/__init__.py >>> +++ b/lib/bb/fetch2/__init__.py >>> >>> @@ -476,9 +476,10 @@ def try_mirrors(d, origud, mirrors, check = False): >>> if not os.path.exists(ud.donestamp) or > ud.method.need_update(newuri, ud, ld): >>> ud.method.download(newuri, ud, ld) >>> >>> - open(ud.donestamp, 'w').close() >>> - if hasattr(ud.method,"build_mirror_data"): >>> - ud.method.build_mirror_data(newuri, ud, ld) >>> + if os.path.exists(ud.localpath): >>> + open(ud.donestamp, 'w').close() >>> + if hasattr(ud.method,"build_mirror_data"): >>> + ud.method.build_mirror_data(newuri, ud, ld) >>> >>> if not ud.localpath or not os.path.exists(ud.localpath): >>> continue >> >> I messed up some commands and this ended up merged with the following >> commit I manipulated: >> >> http://git.openembedded.org/bitbake/commit/?id=c9eed04c6275ef2c694f89e047f85 >> c7de76f89b6 >> >> Since its pushed at this point I'm not sure what options I have to undo >> it. Sorry :( > > No worries - but does this fix in any way help with the problem Gary was > seeing? No, it does not. See https://lists.yoctoproject.org/pipermail/poky/2012-April/007752.html
Patch
diff --git a/lib/bb/fetch2/__init__.py b/lib/bb/fetch2/__init__.py index e5c4b34..414cc2b 100644 --- a/lib/bb/fetch2/__init__.py +++ b/lib/bb/fetch2/__init__.py @@ -476,9 +476,10 @@ def try_mirrors(d, origud, mirrors, check = False): if not os.path.exists(ud.donestamp) or ud.method.need_update(newuri, ud, ld): ud.method.download(newuri, ud, ld) - open(ud.donestamp, 'w').close() - if hasattr(ud.method,"build_mirror_data"): - ud.method.build_mirror_data(newuri, ud, ld) + if os.path.exists(ud.localpath): + open(ud.donestamp, 'w').close() + if hasattr(ud.method,"build_mirror_data"): + ud.method.build_mirror_data(newuri, ud, ld) if not ud.localpath or not os.path.exists(ud.localpath): continue
If you have PREMIRRORS set up to point to a local directory, the local download function does nothing and always succeeds and the mirror code was writing a .done stamp regardless, thus the checksum verification was being skipped even if the file wasn't actually copied from the mirror. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> --- lib/bb/fetch2/__init__.py | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)