summaryrefslogtreecommitdiffstats
path: root/scripts/lib/scriptutils.py
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2015-09-08 11:39:07 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-09-09 14:27:50 +0100
commitee0c11d9889cc5abbffbec512d7232416a6e6319 (patch)
treec280fb65d876c853af8fbf7def31ad196f54c775 /scripts/lib/scriptutils.py
parent3690281efbd3770cc36aa6a65cf2e6999c7b9f9e (diff)
downloadpoky-ee0c11d9889cc5abbffbec512d7232416a6e6319.tar.gz
scriptutils: split out simple fetching function from recipetool
This will now also be used by "devtool upgrade". (From OE-Core rev: 0d0b8425eaf74a6d7f3d9f6471e6edca1a273c06) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/scriptutils.py')
-rw-r--r--scripts/lib/scriptutils.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/scripts/lib/scriptutils.py b/scripts/lib/scriptutils.py
index fdf4b5d55d..5d103a58fe 100644
--- a/scripts/lib/scriptutils.py
+++ b/scripts/lib/scriptutils.py
@@ -69,3 +69,30 @@ def git_convert_standalone_clone(repodir):
69 # of the contents is shared 69 # of the contents is shared
70 bb.process.run('git repack -a', cwd=repodir) 70 bb.process.run('git repack -a', cwd=repodir)
71 os.remove(alternatesfile) 71 os.remove(alternatesfile)
72
73def fetch_uri(d, uri, destdir, srcrev=None):
74 """Fetch a URI to a local directory"""
75 import bb.data
76 bb.utils.mkdirhier(destdir)
77 localdata = bb.data.createCopy(d)
78 localdata.setVar('BB_STRICT_CHECKSUM', '')
79 localdata.setVar('SRCREV', srcrev)
80 ret = (None, None)
81 olddir = os.getcwd()
82 try:
83 fetcher = bb.fetch2.Fetch([uri], localdata)
84 for u in fetcher.ud:
85 ud = fetcher.ud[u]
86 ud.ignore_checksums = True
87 fetcher.download()
88 fetcher.unpack(destdir)
89 for u in fetcher.ud:
90 ud = fetcher.ud[u]
91 if ud.method.recommends_checksum(ud):
92 md5value = bb.utils.md5_file(ud.localpath)
93 sha256value = bb.utils.sha256_file(ud.localpath)
94 ret = (md5value, sha256value)
95 finally:
96 os.chdir(olddir)
97 return ret
98