mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
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>
This commit is contained in:
parent
3690281efb
commit
ee0c11d988
|
@ -58,34 +58,6 @@ class RecipeHandler():
|
|||
|
||||
|
||||
|
||||
def fetch_source(uri, destdir, srcrev):
|
||||
import bb.data
|
||||
bb.utils.mkdirhier(destdir)
|
||||
localdata = bb.data.createCopy(tinfoil.config_data)
|
||||
bb.data.update_data(localdata)
|
||||
localdata.setVar('BB_STRICT_CHECKSUM', '')
|
||||
localdata.setVar('SRCREV', srcrev)
|
||||
ret = (None, None)
|
||||
olddir = os.getcwd()
|
||||
try:
|
||||
fetcher = bb.fetch2.Fetch([uri], localdata)
|
||||
for u in fetcher.ud:
|
||||
ud = fetcher.ud[u]
|
||||
ud.ignore_checksums = True
|
||||
fetcher.download()
|
||||
fetcher.unpack(destdir)
|
||||
for u in fetcher.ud:
|
||||
ud = fetcher.ud[u]
|
||||
if ud.method.recommends_checksum(ud):
|
||||
md5value = bb.utils.md5_file(ud.localpath)
|
||||
sha256value = bb.utils.sha256_file(ud.localpath)
|
||||
ret = (md5value, sha256value)
|
||||
except bb.fetch2.BBFetchException, e:
|
||||
raise bb.build.FuncFailed(e)
|
||||
finally:
|
||||
os.chdir(olddir)
|
||||
return ret
|
||||
|
||||
def supports_srcrev(uri):
|
||||
localdata = bb.data.createCopy(tinfoil.config_data)
|
||||
# This is a bit sad, but if you don't have this set there can be some
|
||||
|
@ -123,7 +95,7 @@ def create_recipe(args):
|
|||
tempsrc = tempfile.mkdtemp(prefix='recipetool-')
|
||||
srctree = tempsrc
|
||||
logger.info('Fetching %s...' % srcuri)
|
||||
checksums = fetch_source(args.source, srctree, srcrev)
|
||||
checksums = scriptutils.fetch_uri(tinfoil.config_data, args.source, srctree, srcrev)
|
||||
dirlist = os.listdir(srctree)
|
||||
if 'git.indirectionsymlink' in dirlist:
|
||||
dirlist.remove('git.indirectionsymlink')
|
||||
|
|
|
@ -69,3 +69,30 @@ def git_convert_standalone_clone(repodir):
|
|||
# of the contents is shared
|
||||
bb.process.run('git repack -a', cwd=repodir)
|
||||
os.remove(alternatesfile)
|
||||
|
||||
def fetch_uri(d, uri, destdir, srcrev=None):
|
||||
"""Fetch a URI to a local directory"""
|
||||
import bb.data
|
||||
bb.utils.mkdirhier(destdir)
|
||||
localdata = bb.data.createCopy(d)
|
||||
localdata.setVar('BB_STRICT_CHECKSUM', '')
|
||||
localdata.setVar('SRCREV', srcrev)
|
||||
ret = (None, None)
|
||||
olddir = os.getcwd()
|
||||
try:
|
||||
fetcher = bb.fetch2.Fetch([uri], localdata)
|
||||
for u in fetcher.ud:
|
||||
ud = fetcher.ud[u]
|
||||
ud.ignore_checksums = True
|
||||
fetcher.download()
|
||||
fetcher.unpack(destdir)
|
||||
for u in fetcher.ud:
|
||||
ud = fetcher.ud[u]
|
||||
if ud.method.recommends_checksum(ud):
|
||||
md5value = bb.utils.md5_file(ud.localpath)
|
||||
sha256value = bb.utils.sha256_file(ud.localpath)
|
||||
ret = (md5value, sha256value)
|
||||
finally:
|
||||
os.chdir(olddir)
|
||||
return ret
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user