diff options
author | Christopher Larson <chris_larson@mentor.com> | 2015-08-26 09:37:46 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-04 16:24:00 +0100 |
commit | ba50c2f4b9619d355abddc19624b7a7798c71c6f (patch) | |
tree | d88476a15d6c5478d4bd5fb50947f0dc61795000 | |
parent | abba11daf9e8e20fec723f3497cd7ce257b9bfed (diff) | |
download | poky-ba50c2f4b9619d355abddc19624b7a7798c71c6f.tar.gz |
bitbake: bb.fetch: handle checksums consistently for mirrors
If the main fetch method doesn't support checksums, the user will not be
defining them in the recipe, so we don't want to check them for
premirrors/mirrors either. This ensures that we never error due to missing
checksums on a git mirror tarball.
(Bitbake rev: 24c79bbed361b37f12d3351af13602e3d4386f4c)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | bitbake/lib/bb/fetch2/__init__.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py index ec0c31ae21..e229c30f61 100644 --- a/bitbake/lib/bb/fetch2/__init__.py +++ b/bitbake/lib/bb/fetch2/__init__.py | |||
@@ -628,7 +628,7 @@ def verify_checksum(ud, d, precomputed={}): | |||
628 | } | 628 | } |
629 | 629 | ||
630 | 630 | ||
631 | def verify_donestamp(ud, d): | 631 | def verify_donestamp(ud, d, origud=None): |
632 | """ | 632 | """ |
633 | Check whether the done stamp file has the right checksums (if the fetch | 633 | Check whether the done stamp file has the right checksums (if the fetch |
634 | method supports them). If it doesn't, delete the done stamp and force | 634 | method supports them). If it doesn't, delete the done stamp and force |
@@ -640,7 +640,8 @@ def verify_donestamp(ud, d): | |||
640 | if not os.path.exists(ud.donestamp): | 640 | if not os.path.exists(ud.donestamp): |
641 | return False | 641 | return False |
642 | 642 | ||
643 | if not ud.method.supports_checksum(ud): | 643 | if (not ud.method.supports_checksum(ud) or |
644 | (origud and not origud.method.supports_checksum(origud))): | ||
644 | # done stamp exists, checksums not supported; assume the local file is | 645 | # done stamp exists, checksums not supported; assume the local file is |
645 | # current | 646 | # current |
646 | return True | 647 | return True |
@@ -922,7 +923,7 @@ def try_mirror_url(fetch, origud, ud, ld, check = False): | |||
922 | 923 | ||
923 | os.chdir(ld.getVar("DL_DIR", True)) | 924 | os.chdir(ld.getVar("DL_DIR", True)) |
924 | 925 | ||
925 | if not verify_donestamp(ud, ld) or ud.method.need_update(ud, ld): | 926 | if not verify_donestamp(ud, ld, origud) or ud.method.need_update(ud, ld): |
926 | ud.method.download(ud, ld) | 927 | ud.method.download(ud, ld) |
927 | if hasattr(ud.method,"build_mirror_data"): | 928 | if hasattr(ud.method,"build_mirror_data"): |
928 | ud.method.build_mirror_data(ud, ld) | 929 | ud.method.build_mirror_data(ud, ld) |