diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-05-13 07:40:42 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-05-20 09:24:22 +0100 |
commit | d993f172e806b095fa8bf799f11f975f6a5c238b (patch) | |
tree | 41c7ce25d5967869230fde4fdf1610e814b55127 /bitbake | |
parent | 2a167cb1fe28b7141ab848aafb7b54af9cec282b (diff) | |
download | poky-d993f172e806b095fa8bf799f11f975f6a5c238b.tar.gz |
bitbake/fetch2: Improve stamp creation in mirror code
Under certain contitions such as local file:// mirrors of all files,
bitbake might not check checksums. This is not desirable and we should
always check the checksum where possible.
This only exception to this is the git mirror tarball case where the
checksum is unknown but we need to create the .done stamp for other
reasons. This patch preserves thta functionality but in a more specific
section of code where this doesn't interfere in normal checksums.
(Bitbake rev: 2592a43e422c06a6f6174ada562e9c8ba25e1ec1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/fetch2/__init__.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py index 5d7ef1f014..ba6849e09d 100644 --- a/bitbake/lib/bb/fetch2/__init__.py +++ b/bitbake/lib/bb/fetch2/__init__.py | |||
@@ -476,10 +476,8 @@ def try_mirrors(d, origud, mirrors, check = False): | |||
476 | 476 | ||
477 | if not os.path.exists(ud.donestamp) or ud.method.need_update(newuri, ud, ld): | 477 | if not os.path.exists(ud.donestamp) or ud.method.need_update(newuri, ud, ld): |
478 | ud.method.download(newuri, ud, ld) | 478 | ud.method.download(newuri, ud, ld) |
479 | if os.path.exists(ud.localpath): | 479 | if hasattr(ud.method,"build_mirror_data"): |
480 | open(ud.donestamp, 'w').close() | 480 | ud.method.build_mirror_data(newuri, ud, ld) |
481 | if hasattr(ud.method,"build_mirror_data"): | ||
482 | ud.method.build_mirror_data(newuri, ud, ld) | ||
483 | 481 | ||
484 | if not ud.localpath or not os.path.exists(ud.localpath): | 482 | if not ud.localpath or not os.path.exists(ud.localpath): |
485 | continue | 483 | continue |
@@ -491,6 +489,7 @@ def try_mirrors(d, origud, mirrors, check = False): | |||
491 | # If that tarball is a local file:// we need to provide a symlink to it | 489 | # If that tarball is a local file:// we need to provide a symlink to it |
492 | dldir = ld.getVar("DL_DIR", True) | 490 | dldir = ld.getVar("DL_DIR", True) |
493 | if os.path.basename(ud.localpath) != os.path.basename(origud.localpath): | 491 | if os.path.basename(ud.localpath) != os.path.basename(origud.localpath): |
492 | open(ud.donestamp, 'w').close() | ||
494 | dest = os.path.join(dldir, os.path.basename(ud.localpath)) | 493 | dest = os.path.join(dldir, os.path.basename(ud.localpath)) |
495 | if not os.path.exists(dest): | 494 | if not os.path.exists(dest): |
496 | os.symlink(ud.localpath, dest) | 495 | os.symlink(ud.localpath, dest) |
@@ -498,6 +497,7 @@ def try_mirrors(d, origud, mirrors, check = False): | |||
498 | # Otherwise the result is a local file:// and we symlink to it | 497 | # Otherwise the result is a local file:// and we symlink to it |
499 | if not os.path.exists(origud.localpath): | 498 | if not os.path.exists(origud.localpath): |
500 | os.symlink(ud.localpath, origud.localpath) | 499 | os.symlink(ud.localpath, origud.localpath) |
500 | update_stamp(newuri, origud, ld) | ||
501 | return ud.localpath | 501 | return ud.localpath |
502 | 502 | ||
503 | except bb.fetch2.NetworkAccess: | 503 | except bb.fetch2.NetworkAccess: |