diff options
| -rw-r--r-- | bitbake/lib/bb/fetch2/__init__.py | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py index 52c53eb96b..1988dc760d 100644 --- a/bitbake/lib/bb/fetch2/__init__.py +++ b/bitbake/lib/bb/fetch2/__init__.py | |||
| @@ -759,6 +759,19 @@ def build_mirroruris(origud, mirrors, ld): | |||
| 759 | 759 | ||
| 760 | return uris, uds | 760 | return uris, uds |
| 761 | 761 | ||
| 762 | def rename_bad_checksum(ud, suffix): | ||
| 763 | """ | ||
| 764 | Renames files to have suffix from parameter | ||
| 765 | """ | ||
| 766 | |||
| 767 | if ud.localpath is None: | ||
| 768 | return | ||
| 769 | |||
| 770 | new_localpath = "%s_bad-checksum_%s" % (ud.localpath, suffix) | ||
| 771 | bb.warn("Renaming %s to %s" % (ud.localpath, new_localpath)) | ||
| 772 | bb.utils.movefile(ud.localpath, new_localpath) | ||
| 773 | |||
| 774 | |||
| 762 | def try_mirror_url(newuri, origud, ud, ld, check = False): | 775 | def try_mirror_url(newuri, origud, ud, ld, check = False): |
| 763 | # Return of None or a value means we're finished | 776 | # Return of None or a value means we're finished |
| 764 | # False means try another url | 777 | # False means try another url |
| @@ -810,7 +823,7 @@ def try_mirror_url(newuri, origud, ud, ld, check = False): | |||
| 810 | if isinstance(e, ChecksumError): | 823 | if isinstance(e, ChecksumError): |
| 811 | logger.warn("Mirror checksum failure for url %s (original url: %s)\nCleaning and trying again." % (newuri, origud.url)) | 824 | logger.warn("Mirror checksum failure for url %s (original url: %s)\nCleaning and trying again." % (newuri, origud.url)) |
| 812 | logger.warn(str(e)) | 825 | logger.warn(str(e)) |
| 813 | self.rename_bad_checksum(ud, e.checksum) | 826 | rename_bad_checksum(ud, e.checksum) |
| 814 | elif isinstance(e, NoChecksumError): | 827 | elif isinstance(e, NoChecksumError): |
| 815 | raise | 828 | raise |
| 816 | else: | 829 | else: |
| @@ -1386,7 +1399,7 @@ class Fetch(object): | |||
| 1386 | if isinstance(e, ChecksumError): | 1399 | if isinstance(e, ChecksumError): |
| 1387 | logger.warn("Checksum failure encountered with download of %s - will attempt other sources if available" % u) | 1400 | logger.warn("Checksum failure encountered with download of %s - will attempt other sources if available" % u) |
| 1388 | logger.debug(1, str(e)) | 1401 | logger.debug(1, str(e)) |
| 1389 | self.rename_bad_checksum(ud, e.checksum) | 1402 | rename_bad_checksum(ud, e.checksum) |
| 1390 | elif isinstance(e, NoChecksumError): | 1403 | elif isinstance(e, NoChecksumError): |
| 1391 | raise | 1404 | raise |
| 1392 | else: | 1405 | else: |
| @@ -1494,18 +1507,6 @@ class Fetch(object): | |||
| 1494 | if ud.lockfile: | 1507 | if ud.lockfile: |
| 1495 | bb.utils.unlockfile(lf) | 1508 | bb.utils.unlockfile(lf) |
| 1496 | 1509 | ||
| 1497 | def rename_bad_checksum(self, ud, suffix): | ||
| 1498 | """ | ||
| 1499 | Renames files to have suffix from parameter | ||
| 1500 | """ | ||
| 1501 | |||
| 1502 | if ud.localpath is None: | ||
| 1503 | return | ||
| 1504 | |||
| 1505 | new_localpath = "%s_bad-checksum_%s" % (ud.localpath, suffix) | ||
| 1506 | bb.warn("Renaming %s to %s" % (ud.localpath, new_localpath)) | ||
| 1507 | bb.utils.movefile(ud.localpath, new_localpath) | ||
| 1508 | |||
| 1509 | from . import cvs | 1510 | from . import cvs |
| 1510 | from . import git | 1511 | from . import git |
| 1511 | from . import gitsm | 1512 | from . import gitsm |
