summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/fetch2/__init__.py62
1 files changed, 31 insertions, 31 deletions
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
index a31406263f..f66bddd4b6 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -498,30 +498,30 @@ def fetcher_init(d):
498 Calls before this must not hit the cache. 498 Calls before this must not hit the cache.
499 """ 499 """
500 500
501 revs = bb.persist_data.persist('BB_URI_HEADREVS', d) 501 with bb.persist_data.persist('BB_URI_HEADREVS', d) as revs:
502 try: 502 try:
503 # fetcher_init is called multiple times, so make sure we only save the 503 # fetcher_init is called multiple times, so make sure we only save the
504 # revs the first time it is called. 504 # revs the first time it is called.
505 if not bb.fetch2.saved_headrevs: 505 if not bb.fetch2.saved_headrevs:
506 bb.fetch2.saved_headrevs = dict(revs) 506 bb.fetch2.saved_headrevs = dict(revs)
507 except: 507 except:
508 pass 508 pass
509
510 # When to drop SCM head revisions controlled by user policy
511 srcrev_policy = d.getVar('BB_SRCREV_POLICY') or "clear"
512 if srcrev_policy == "cache":
513 logger.debug("Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
514 elif srcrev_policy == "clear":
515 logger.debug("Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
516 revs.clear()
517 else:
518 raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
519 509
520 _checksum_cache.init_cache(d) 510 # When to drop SCM head revisions controlled by user policy
511 srcrev_policy = d.getVar('BB_SRCREV_POLICY') or "clear"
512 if srcrev_policy == "cache":
513 logger.debug("Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
514 elif srcrev_policy == "clear":
515 logger.debug("Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
516 revs.clear()
517 else:
518 raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
519
520 _checksum_cache.init_cache(d)
521 521
522 for m in methods: 522 for m in methods:
523 if hasattr(m, "init"): 523 if hasattr(m, "init"):
524 m.init(d) 524 m.init(d)
525 525
526def fetcher_parse_save(): 526def fetcher_parse_save():
527 _checksum_cache.save_extras() 527 _checksum_cache.save_extras()
@@ -535,8 +535,8 @@ def fetcher_compare_revisions(d):
535 when bitbake was started and return true if they have changed. 535 when bitbake was started and return true if they have changed.
536 """ 536 """
537 537
538 headrevs = dict(bb.persist_data.persist('BB_URI_HEADREVS', d)) 538 with dict(bb.persist_data.persist('BB_URI_HEADREVS', d)) as headrevs:
539 return headrevs != bb.fetch2.saved_headrevs 539 return headrevs != bb.fetch2.saved_headrevs
540 540
541def mirror_from_string(data): 541def mirror_from_string(data):
542 mirrors = (data or "").replace('\\n',' ').split() 542 mirrors = (data or "").replace('\\n',' ').split()
@@ -1618,13 +1618,13 @@ class FetchMethod(object):
1618 if not hasattr(self, "_latest_revision"): 1618 if not hasattr(self, "_latest_revision"):
1619 raise ParameterError("The fetcher for this URL does not support _latest_revision", ud.url) 1619 raise ParameterError("The fetcher for this URL does not support _latest_revision", ud.url)
1620 1620
1621 revs = bb.persist_data.persist('BB_URI_HEADREVS', d) 1621 with bb.persist_data.persist('BB_URI_HEADREVS', d) as revs:
1622 key = self.generate_revision_key(ud, d, name) 1622 key = self.generate_revision_key(ud, d, name)
1623 try: 1623 try:
1624 return revs[key] 1624 return revs[key]
1625 except KeyError: 1625 except KeyError:
1626 revs[key] = rev = self._latest_revision(ud, d, name) 1626 revs[key] = rev = self._latest_revision(ud, d, name)
1627 return rev 1627 return rev
1628 1628
1629 def sortable_revision(self, ud, d, name): 1629 def sortable_revision(self, ud, d, name):
1630 latest_rev = self._build_revision(ud, d, name) 1630 latest_rev = self._build_revision(ud, d, name)