import os, re
import bb
-import bb.data
+from bb import data
class FetchError(Exception):
"""Exception raised when a download fails"""
"""Check to see if a given url can be fetched using wget.
Expects supplied url in list form, as outputted by bb.decodeurl().
"""
- (type, host, path, user, pswd, parm) = bb.decodeurl(bb.data.expand(url, d))
+ (type, host, path, user, pswd, parm) = bb.decodeurl(data.expand(url, d))
return type in ['http','https','ftp']
supports = staticmethod(supports)
def localpath(url, d):
# strip off parameters
- (type, host, path, user, pswd, parm) = bb.decodeurl(bb.data.expand(url, d))
+ (type, host, path, user, pswd, parm) = bb.decodeurl(data.expand(url, d))
if "localpath" in parm:
# if user overrides local path, use it.
return parm["localpath"]
url = bb.encodeurl([type, host, path, user, pswd, {}])
- return os.path.join(bb.data.getVar("DL_DIR", d), os.path.basename(url))
+ return os.path.join(data.getVar("DL_DIR", d), os.path.basename(url))
localpath = staticmethod(localpath)
def go(self, d, urls = []):
def fetch_uri(uri, basename, dl, md5, d):
if os.path.exists(dl):
# file exists, but we didnt complete it.. trying again..
- fetchcmd = bb.data.getVar("RESUMECOMMAND", d, 1)
+ fetchcmd = data.getVar("RESUMECOMMAND", d, 1)
else:
- fetchcmd = bb.data.getVar("FETCHCOMMAND", d, 1)
+ fetchcmd = data.getVar("FETCHCOMMAND", d, 1)
bb.note("fetch " + uri)
fetchcmd = fetchcmd.replace("${URI}", uri)
return False
# supposedly complete.. write out md5sum
- if bb.which(bb.data.getVar('PATH', d), 'md5sum'):
+ if bb.which(data.getVar('PATH', d), 'md5sum'):
try:
md5pipe = os.popen('md5sum ' + dl)
md5data = (md5pipe.readline().split() or [ "" ])[0]
if not urls:
urls = self.urls
- localdata = bb.data.createCopy(d)
- bb.data.setVar('OVERRIDES', "wget:" + bb.data.getVar('OVERRIDES', localdata), localdata)
- bb.data.update_data(localdata)
+ localdata = data.createCopy(d)
+ data.setVar('OVERRIDES', "wget:" + data.getVar('OVERRIDES', localdata), localdata)
+ data.update_data(localdata)
for uri in urls:
completed = 0
- (type, host, path, user, pswd, parm) = bb.decodeurl(bb.data.expand(uri, localdata))
+ (type, host, path, user, pswd, parm) = bb.decodeurl(data.expand(uri, localdata))
basename = os.path.basename(path)
dl = self.localpath(uri, d)
- dl = bb.data.expand(dl, localdata)
+ dl = data.expand(dl, localdata)
md5 = dl + '.md5'
if os.path.exists(md5):
# complete, nothing to see here..
continue
- premirrors = [ i.split() for i in (bb.data.getVar('PREMIRRORS', localdata, 1) or "").split('\n') if i ]
+ premirrors = [ i.split() for i in (data.getVar('PREMIRRORS', localdata, 1) or "").split('\n') if i ]
for (find, replace) in premirrors:
newuri = uri_replace(uri, find, replace, d)
if newuri != uri:
continue
# try mirrors
- mirrors = [ i.split() for i in (bb.data.getVar('MIRRORS', localdata, 1) or "").split('\n') if i ]
+ mirrors = [ i.split() for i in (data.getVar('MIRRORS', localdata, 1) or "").split('\n') if i ]
for (find, replace) in mirrors:
newuri = uri_replace(uri, find, replace, d)
if newuri != uri:
"""Check to see if a given url can be fetched with cvs.
Expects supplied url in list form, as outputted by bb.decodeurl().
"""
- (type, host, path, user, pswd, parm) = bb.decodeurl(bb.data.expand(url, d))
+ (type, host, path, user, pswd, parm) = bb.decodeurl(data.expand(url, d))
return type in ['cvs', 'pserver']
supports = staticmethod(supports)
def localpath(url, d):
- (type, host, path, user, pswd, parm) = bb.decodeurl(bb.data.expand(url, d))
+ (type, host, path, user, pswd, parm) = bb.decodeurl(data.expand(url, d))
if "localpath" in parm:
# if user overrides local path, use it.
return parm["localpath"]
date = parm['date']
else:
if not tag:
- date = bb.data.getVar("CVSDATE", d, 1) or bb.data.getVar("DATE", d, 1)
+ date = data.getVar("CVSDATE", d, 1) or data.getVar("DATE", d, 1)
else:
date = ""
- return os.path.join(bb.data.getVar("DL_DIR", d, 1),bb.data.expand('%s_%s_%s_%s.tar.gz' % ( module.replace('/', '.'), host, tag, date), d))
+ return os.path.join(data.getVar("DL_DIR", d, 1),data.expand('%s_%s_%s_%s.tar.gz' % ( module.replace('/', '.'), host, tag, date), d))
localpath = staticmethod(localpath)
def go(self, d, urls = []):
if not urls:
urls = self.urls
- localdata = bb.data.createCopy(d)
- bb.data.setVar('OVERRIDES', "cvs:%s" % bb.data.getVar('OVERRIDES', localdata), localdata)
- bb.data.update_data(localdata)
+ localdata = data.createCopy(d)
+ data.setVar('OVERRIDES', "cvs:%s" % data.getVar('OVERRIDES', localdata), localdata)
+ data.update_data(localdata)
for loc in urls:
- (type, host, path, user, pswd, parm) = bb.decodeurl(bb.data.expand(loc, localdata))
+ (type, host, path, user, pswd, parm) = bb.decodeurl(data.expand(loc, localdata))
if not "module" in parm:
raise MissingParameterError("cvs method needs a 'module' parameter")
else:
module = parm["module"]
dlfile = self.localpath(loc, localdata)
- dldir = bb.data.getVar('DL_DIR', localdata, 1)
+ dldir = data.getVar('DL_DIR', localdata, 1)
# if local path contains the cvs
# module, consider the dir above it to be the
# download directory
date = parm['date']
else:
if not tag:
- date = bb.data.getVar("CVSDATE", d, 1) or bb.data.getVar("DATE", d, 1)
+ date = data.getVar("CVSDATE", d, 1) or data.getVar("DATE", d, 1)
else:
date = ""
if "rsh" in parm:
cvs_rsh = parm["rsh"]
- tarfn = bb.data.expand('%s_%s_%s_%s.tar.gz' % (module.replace('/', '.'), host, tag, date), localdata)
- bb.data.setVar('TARFILES', dlfile, localdata)
- bb.data.setVar('TARFN', tarfn, localdata)
+ tarfn = data.expand('%s_%s_%s_%s.tar.gz' % (module.replace('/', '.'), host, tag, date), localdata)
+ data.setVar('TARFILES', dlfile, localdata)
+ data.setVar('TARFN', tarfn, localdata)
dl = os.path.join(dldir, tarfn)
if os.access(dl, os.R_OK):
bb.debug(1, "%s already exists, skipping cvs checkout." % tarfn)
continue
- pn = bb.data.getVar('PN', d, 1)
+ pn = data.getVar('PN', d, 1)
cvs_tarball_stash = None
if pn:
- cvs_tarball_stash = bb.data.getVar('CVS_TARBALL_STASH_%s' % pn, d, 1)
+ cvs_tarball_stash = data.getVar('CVS_TARBALL_STASH_%s' % pn, d, 1)
if cvs_tarball_stash == None:
- cvs_tarball_stash = bb.data.getVar('CVS_TARBALL_STASH', d, 1)
+ cvs_tarball_stash = data.getVar('CVS_TARBALL_STASH', d, 1)
if cvs_tarball_stash:
- fetchcmd = bb.data.getVar("FETCHCOMMAND_wget", d, 1)
+ fetchcmd = data.getVar("FETCHCOMMAND_wget", d, 1)
uri = cvs_tarball_stash + tarfn
bb.note("fetch " + uri)
fetchcmd = fetchcmd.replace("${URI}", uri)
options.append("-r %s" % tag)
olddir = os.path.abspath(os.getcwd())
- os.chdir(bb.data.expand(dldir, localdata))
+ os.chdir(data.expand(dldir, localdata))
# setup cvsroot
if method == "dir":
cvsroot += ":" + pswd
cvsroot += "@" + host + ":" + path
- bb.data.setVar('CVSROOT', cvsroot, localdata)
- bb.data.setVar('CVSCOOPTS', " ".join(options), localdata)
- bb.data.setVar('CVSMODULE', module, localdata)
- cvscmd = bb.data.getVar('FETCHCOMMAND', localdata, 1)
- cvsupdatecmd = bb.data.getVar('UPDATECOMMAND', localdata, 1)
+ data.setVar('CVSROOT', cvsroot, localdata)
+ data.setVar('CVSCOOPTS', " ".join(options), localdata)
+ data.setVar('CVSMODULE', module, localdata)
+ cvscmd = data.getVar('FETCHCOMMAND', localdata, 1)
+ cvsupdatecmd = data.getVar('UPDATECOMMAND', localdata, 1)
if cvs_rsh:
cvscmd = "CVS_RSH=\"%s\" %s" % (cvs_rsh, cvscmd)
# create module directory
bb.debug(2, "Fetch: checking for module directory")
- pkg=bb.data.expand('${PN}', d)
- pkgdir=os.path.join(bb.data.expand('${CVSDIR}', localdata), pkg)
+ pkg=data.expand('${PN}', d)
+ pkgdir=os.path.join(data.expand('${CVSDIR}', localdata), pkg)
moddir=os.path.join(pkgdir,localdir)
if os.access(os.path.join(moddir,'CVS'), os.R_OK):
bb.note("Update " + loc)
"""Check to see if a given url can be fetched via bitkeeper.
Expects supplied url in list form, as outputted by bb.decodeurl().
"""
- (type, host, path, user, pswd, parm) = bb.decodeurl(bb.data.expand(url, d))
+ (type, host, path, user, pswd, parm) = bb.decodeurl(data.expand(url, d))
return type in ['bk']
supports = staticmethod(supports)
"""Check to see if a given url can be fetched in the local filesystem.
Expects supplied url in list form, as outputted by bb.decodeurl().
"""
- (type, host, path, user, pswd, parm) = bb.decodeurl(bb.data.expand(url, d))
+ (type, host, path, user, pswd, parm) = bb.decodeurl(data.expand(url, d))
return type in ['file','patch']
supports = staticmethod(supports)
path = url.split("://")[1]
newpath = path
if path[0] != "/":
- filespath = bb.data.getVar('FILESPATH', d, 1)
+ filespath = data.getVar('FILESPATH', d, 1)
if filespath:
newpath = bb.which(filespath, path)
if not newpath:
- filesdir = bb.data.getVar('FILESDIR', d, 1)
+ filesdir = data.getVar('FILESDIR', d, 1)
if filesdir:
newpath = os.path.join(filesdir, path)
return newpath
"""Check to see if a given url can be fetched with svn.
Expects supplied url in list form, as outputted by bb.decodeurl().
"""
- (type, host, path, user, pswd, parm) = bb.decodeurl(bb.data.expand(url, d))
+ (type, host, path, user, pswd, parm) = bb.decodeurl(data.expand(url, d))
return type in ['svn']
supports = staticmethod(supports)
def localpath(url, d):
- (type, host, path, user, pswd, parm) = bb.decodeurl(bb.data.expand(url, d))
+ (type, host, path, user, pswd, parm) = bb.decodeurl(data.expand(url, d))
if "localpath" in parm:
# if user overrides local path, use it.
return parm["localpath"]
else:
revision = ""
- date = bb.data.getVar("CVSDATE", d, 1) or bb.data.getVar("DATE", d, 1)
+ date = data.getVar("CVSDATE", d, 1) or data.getVar("DATE", d, 1)
- return os.path.join(bb.data.getVar("DL_DIR", d, 1),bb.data.expand('%s_%s_%s_%s.tar.gz' % ( module.replace('/', '.'), host, revision, date), d))
+ return os.path.join(data.getVar("DL_DIR", d, 1),data.expand('%s_%s_%s_%s.tar.gz' % ( module.replace('/', '.'), host, revision, date), d))
localpath = staticmethod(localpath)
def go(self, d, urls = []):
if not urls:
urls = self.urls
- localdata = bb.data.createCopy(d)
- bb.data.setVar('OVERRIDES', "svn:%s" % bb.data.getVar('OVERRIDES', localdata), localdata)
- bb.data.update_data(localdata)
+ localdata = data.createCopy(d)
+ data.setVar('OVERRIDES', "svn:%s" % data.getVar('OVERRIDES', localdata), localdata)
+ data.update_data(localdata)
for loc in urls:
- (type, host, path, user, pswd, parm) = bb.decodeurl(bb.data.expand(loc, localdata))
+ (type, host, path, user, pswd, parm) = bb.decodeurl(data.expand(loc, localdata))
if not "module" in parm:
raise MissingParameterError("svn method needs a 'module' parameter")
else:
module = parm["module"]
dlfile = self.localpath(loc, localdata)
- dldir = bb.data.getVar('DL_DIR', localdata, 1)
+ dldir = data.getVar('DL_DIR', localdata, 1)
# if local path contains the svn
# module, consider the dir above it to be the
# download directory
else:
revision = ""
- date = bb.data.getVar("CVSDATE", d, 1) or bb.data.getVar("DATE", d, 1)
+ date = data.getVar("CVSDATE", d, 1) or data.getVar("DATE", d, 1)
if "method" in parm:
method = parm["method"]
if "rsh" in parm:
svn_rsh = parm["rsh"]
- tarfn = bb.data.expand('%s_%s_%s_%s.tar.gz' % (module.replace('/', '.'), host, revision, date), localdata)
- bb.data.setVar('TARFILES', dlfile, localdata)
- bb.data.setVar('TARFN', tarfn, localdata)
+ tarfn = data.expand('%s_%s_%s_%s.tar.gz' % (module.replace('/', '.'), host, revision, date), localdata)
+ data.setVar('TARFILES', dlfile, localdata)
+ data.setVar('TARFN', tarfn, localdata)
dl = os.path.join(dldir, tarfn)
if os.access(dl, os.R_OK):
bb.debug(1, "%s already exists, skipping svn checkout." % tarfn)
continue
- svn_tarball_stash = bb.data.getVar('CVS_TARBALL_STASH', d, 1)
+ svn_tarball_stash = data.getVar('CVS_TARBALL_STASH', d, 1)
if svn_tarball_stash:
- fetchcmd = bb.data.getVar("FETCHCOMMAND_wget", d, 1)
+ fetchcmd = data.getVar("FETCHCOMMAND_wget", d, 1)
uri = svn_tarball_stash + tarfn
bb.note("fetch " + uri)
fetchcmd = fetchcmd.replace("${URI}", uri)
continue
olddir = os.path.abspath(os.getcwd())
- os.chdir(bb.data.expand(dldir, localdata))
+ os.chdir(data.expand(dldir, localdata))
# setup svnroot
# svnroot = ":" + method + ":" + user
# svnroot += ":" + pswd
svnroot = host + path
- bb.data.setVar('SVNROOT', svnroot, localdata)
- bb.data.setVar('SVNCOOPTS', " ".join(options), localdata)
- bb.data.setVar('SVNMODULE', module, localdata)
- svncmd = bb.data.getVar('FETCHCOMMAND', localdata, 1)
+ data.setVar('SVNROOT', svnroot, localdata)
+ data.setVar('SVNCOOPTS', " ".join(options), localdata)
+ data.setVar('SVNMODULE', module, localdata)
+ svncmd = data.getVar('FETCHCOMMAND', localdata, 1)
svncmd = "svn co %s://%s/%s" % (proto, svnroot, module)
if revision:
# create temp directory
bb.debug(2, "Fetch: creating temporary directory")
- bb.mkdirhier(bb.data.expand('${WORKDIR}', localdata))
- bb.data.setVar('TMPBASE', bb.data.expand('${WORKDIR}/oesvn.XXXXXX', localdata), localdata)
- tmppipe = os.popen(bb.data.getVar('MKTEMPDIRCMD', localdata, 1) or "false")
+ bb.mkdirhier(data.expand('${WORKDIR}', localdata))
+ data.setVar('TMPBASE', data.expand('${WORKDIR}/oesvn.XXXXXX', localdata), localdata)
+ tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, 1) or "false")
tmpfile = tmppipe.readline().strip()
if not tmpfile:
bb.error("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.")