bitbake/bitbake-dev: Sync with upstream
This commit is contained in:
parent
4be017e82f
commit
ffdec425bf
|
@ -154,7 +154,21 @@ Changes in Bitbake 1.9.x:
|
||||||
all variable from the environment. If BB_ENV_WHITELIST is set, that whitelist will be
|
all variable from the environment. If BB_ENV_WHITELIST is set, that whitelist will be
|
||||||
used instead of the internal bitbake one. Alternatively, BB_ENV_EXTRAWHITE can be used
|
used instead of the internal bitbake one. Alternatively, BB_ENV_EXTRAWHITE can be used
|
||||||
to extend the internal whitelist.
|
to extend the internal whitelist.
|
||||||
|
- Perforce fetcher fix to use commandline options instead of being overriden by the environment
|
||||||
|
- bb.utils.prunedir can cope with symlinks to directoriees without exceptions
|
||||||
|
- use @rev when doing a svn checkout
|
||||||
|
- Add osc fetcher (from Joshua Lock in Poky)
|
||||||
- When SRCREV autorevisioning for a recipe is in use, don't cache the recipe
|
- When SRCREV autorevisioning for a recipe is in use, don't cache the recipe
|
||||||
|
- Add tryaltconfigs option to control whether bitbake trys using alternative providers
|
||||||
|
to fulfil failed dependencies. It defaults to off, changing the default since this
|
||||||
|
behaviour confuses many users and isn't often useful.
|
||||||
|
- Improve lock file function error handling
|
||||||
|
- Add username handling to the git fetcher (Robert Bragg)
|
||||||
|
- Add support for HTTP_PROXY and HTTP_PROXY_IGNORE variables to the wget fetcher
|
||||||
|
- Export more variables to the fetcher commands to allow ssh checkouts and checkouts through
|
||||||
|
proxies to work better. (from Poky)
|
||||||
|
- Also allow user and pswd options in SRC_URIs globally (from Poky)
|
||||||
|
- Improve proxy handling when using mirrors (from Poky)
|
||||||
|
|
||||||
Changes in Bitbake 1.8.0:
|
Changes in Bitbake 1.8.0:
|
||||||
- Release 1.7.x as a stable series
|
- Release 1.7.x as a stable series
|
||||||
|
|
|
@ -95,7 +95,11 @@ class Cache:
|
||||||
bb.msg.note(1, bb.msg.domain.Cache, "Invalid cache found, rebuilding...")
|
bb.msg.note(1, bb.msg.domain.Cache, "Invalid cache found, rebuilding...")
|
||||||
self.depends_cache = {}
|
self.depends_cache = {}
|
||||||
else:
|
else:
|
||||||
|
try:
|
||||||
|
os.stat( self.cachefile )
|
||||||
bb.msg.note(1, bb.msg.domain.Cache, "Out of date cache found, rebuilding...")
|
bb.msg.note(1, bb.msg.domain.Cache, "Out of date cache found, rebuilding...")
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
|
|
||||||
def getVar(self, var, fn, exp = 0):
|
def getVar(self, var, fn, exp = 0):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -88,6 +88,24 @@ class BBCooker:
|
||||||
|
|
||||||
bb.data.inheritFromOS(self.configuration.data)
|
bb.data.inheritFromOS(self.configuration.data)
|
||||||
|
|
||||||
|
for f in self.configuration.file:
|
||||||
|
self.parseConfigurationFile( f )
|
||||||
|
|
||||||
|
self.parseConfigurationFile( os.path.join( "conf", "bitbake.conf" ) )
|
||||||
|
|
||||||
|
if not self.configuration.cmd:
|
||||||
|
self.configuration.cmd = bb.data.getVar("BB_DEFAULT_TASK", self.configuration.data, True) or "build"
|
||||||
|
|
||||||
|
bbpkgs = bb.data.getVar('BBPKGS', self.configuration.data, True)
|
||||||
|
if bbpkgs:
|
||||||
|
self.configuration.pkgs_to_build.extend(bbpkgs.split())
|
||||||
|
|
||||||
|
#
|
||||||
|
# Special updated configuration we use for firing events
|
||||||
|
#
|
||||||
|
self.configuration.event_data = bb.data.createCopy(self.configuration.data)
|
||||||
|
bb.data.update_data(self.configuration.event_data)
|
||||||
|
|
||||||
# TOSTOP must not be set or our children will hang when they output
|
# TOSTOP must not be set or our children will hang when they output
|
||||||
fd = sys.stdout.fileno()
|
fd = sys.stdout.fileno()
|
||||||
if os.isatty(fd):
|
if os.isatty(fd):
|
||||||
|
@ -105,23 +123,7 @@ class BBCooker:
|
||||||
self.server.register_idle_function(self.runCommands, self)
|
self.server.register_idle_function(self.runCommands, self)
|
||||||
|
|
||||||
def parseConfiguration(self):
|
def parseConfiguration(self):
|
||||||
#
|
|
||||||
# Special updated configuration we use for firing events
|
|
||||||
#
|
|
||||||
self.configuration.event_data = bb.data.createCopy(self.configuration.data)
|
|
||||||
bb.data.update_data(self.configuration.event_data)
|
|
||||||
|
|
||||||
for f in self.configuration.file:
|
|
||||||
self.parseConfigurationFile( f )
|
|
||||||
|
|
||||||
self.parseConfigurationFile( os.path.join( "conf", "bitbake.conf" ) )
|
|
||||||
|
|
||||||
if not self.configuration.cmd:
|
|
||||||
self.configuration.cmd = bb.data.getVar("BB_DEFAULT_TASK", self.configuration.data, True) or "build"
|
|
||||||
|
|
||||||
bbpkgs = bb.data.getVar('BBPKGS', self.configuration.data, True)
|
|
||||||
if bbpkgs:
|
|
||||||
self.configuration.pkgs_to_build.extend(bbpkgs.split())
|
|
||||||
|
|
||||||
# Change nice level if we're asked to
|
# Change nice level if we're asked to
|
||||||
nice = bb.data.getVar("BB_NICE_LEVEL", self.configuration.data, True)
|
nice = bb.data.getVar("BB_NICE_LEVEL", self.configuration.data, True)
|
||||||
|
@ -149,6 +151,9 @@ class BBCooker:
|
||||||
self.commandlineAction = ["showVersions"]
|
self.commandlineAction = ["showVersions"]
|
||||||
elif self.configuration.parse_only:
|
elif self.configuration.parse_only:
|
||||||
self.commandlineAction = ["parseFiles"]
|
self.commandlineAction = ["parseFiles"]
|
||||||
|
# FIXME - implement
|
||||||
|
#elif self.configuration.interactive:
|
||||||
|
# self.interactiveMode()
|
||||||
elif self.configuration.dot_graph:
|
elif self.configuration.dot_graph:
|
||||||
if self.configuration.pkgs_to_build:
|
if self.configuration.pkgs_to_build:
|
||||||
self.commandlineAction = ["generateDotGraph", self.configuration.pkgs_to_build, self.configuration.cmd]
|
self.commandlineAction = ["generateDotGraph", self.configuration.pkgs_to_build, self.configuration.cmd]
|
||||||
|
|
|
@ -79,7 +79,7 @@ class Hg(Fetch):
|
||||||
host = "/"
|
host = "/"
|
||||||
ud.host = "localhost"
|
ud.host = "localhost"
|
||||||
|
|
||||||
if ud.user == None:
|
if not ud.user:
|
||||||
hgroot = host + ud.path
|
hgroot = host + ud.path
|
||||||
else:
|
else:
|
||||||
hgroot = ud.user + "@" + host + ud.path
|
hgroot = ud.user + "@" + host + ud.path
|
||||||
|
|
|
@ -67,14 +67,15 @@ class Perforce(Fetch):
|
||||||
doparse = staticmethod(doparse)
|
doparse = staticmethod(doparse)
|
||||||
|
|
||||||
def getcset(d, depot,host,user,pswd,parm):
|
def getcset(d, depot,host,user,pswd,parm):
|
||||||
|
p4opt = ""
|
||||||
if "cset" in parm:
|
if "cset" in parm:
|
||||||
return parm["cset"];
|
return parm["cset"];
|
||||||
if user:
|
if user:
|
||||||
data.setVar('P4USER', user, d)
|
p4opt += " -u %s" % (user)
|
||||||
if pswd:
|
if pswd:
|
||||||
data.setVar('P4PASSWD', pswd, d)
|
p4opt += " -P %s" % (pswd)
|
||||||
if host:
|
if host:
|
||||||
data.setVar('P4PORT', host, d)
|
p4opt += " -p %s" % (host)
|
||||||
|
|
||||||
p4date = data.getVar("P4DATE", d, 1)
|
p4date = data.getVar("P4DATE", d, 1)
|
||||||
if "revision" in parm:
|
if "revision" in parm:
|
||||||
|
@ -85,8 +86,8 @@ class Perforce(Fetch):
|
||||||
depot += "@%s" % (p4date)
|
depot += "@%s" % (p4date)
|
||||||
|
|
||||||
p4cmd = data.getVar('FETCHCOMMAND_p4', d, 1)
|
p4cmd = data.getVar('FETCHCOMMAND_p4', d, 1)
|
||||||
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s changes -m 1 %s" % (p4cmd, depot))
|
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s%s changes -m 1 %s" % (p4cmd, p4opt, depot))
|
||||||
p4file = os.popen("%s changes -m 1 %s" % (p4cmd,depot))
|
p4file = os.popen("%s%s changes -m 1 %s" % (p4cmd, p4opt, depot))
|
||||||
cset = p4file.readline().strip()
|
cset = p4file.readline().strip()
|
||||||
bb.msg.debug(1, bb.msg.domain.Fetcher, "READ %s" % (cset))
|
bb.msg.debug(1, bb.msg.domain.Fetcher, "READ %s" % (cset))
|
||||||
if not cset:
|
if not cset:
|
||||||
|
@ -146,14 +147,15 @@ class Perforce(Fetch):
|
||||||
data.update_data(localdata)
|
data.update_data(localdata)
|
||||||
|
|
||||||
# Get the p4 command
|
# Get the p4 command
|
||||||
|
p4opt = ""
|
||||||
if user:
|
if user:
|
||||||
data.setVar('P4USER', user, localdata)
|
p4opt += " -u %s" % (user)
|
||||||
|
|
||||||
if pswd:
|
if pswd:
|
||||||
data.setVar('P4PASSWD', pswd, localdata)
|
p4opt += " -P %s" % (pswd)
|
||||||
|
|
||||||
if host:
|
if host:
|
||||||
data.setVar('P4PORT', host, localdata)
|
p4opt += " -p %s" % (host)
|
||||||
|
|
||||||
p4cmd = data.getVar('FETCHCOMMAND', localdata, 1)
|
p4cmd = data.getVar('FETCHCOMMAND', localdata, 1)
|
||||||
|
|
||||||
|
@ -175,8 +177,8 @@ class Perforce(Fetch):
|
||||||
|
|
||||||
os.chdir(tmpfile)
|
os.chdir(tmpfile)
|
||||||
bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
|
bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
|
||||||
bb.msg.note(1, bb.msg.domain.Fetcher, "%s files %s" % (p4cmd, depot))
|
bb.msg.note(1, bb.msg.domain.Fetcher, "%s%s files %s" % (p4cmd, p4opt, depot))
|
||||||
p4file = os.popen("%s files %s" % (p4cmd, depot))
|
p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot))
|
||||||
|
|
||||||
if not p4file:
|
if not p4file:
|
||||||
bb.error("Fetch: unable to get the P4 files from %s" % (depot))
|
bb.error("Fetch: unable to get the P4 files from %s" % (depot))
|
||||||
|
@ -193,7 +195,7 @@ class Perforce(Fetch):
|
||||||
dest = list[0][len(path)+1:]
|
dest = list[0][len(path)+1:]
|
||||||
where = dest.find("#")
|
where = dest.find("#")
|
||||||
|
|
||||||
os.system("%s print -o %s/%s %s" % (p4cmd, module,dest[:where],list[0]))
|
os.system("%s%s print -o %s/%s %s" % (p4cmd, p4opt, module,dest[:where],list[0]))
|
||||||
count = count + 1
|
count = count + 1
|
||||||
|
|
||||||
if count == 0:
|
if count == 0:
|
||||||
|
|
|
@ -114,13 +114,15 @@ class Svn(Fetch):
|
||||||
if command is "info":
|
if command is "info":
|
||||||
svncmd = "%s info %s %s://%s/%s/" % (basecmd, " ".join(options), proto, svnroot, ud.module)
|
svncmd = "%s info %s %s://%s/%s/" % (basecmd, " ".join(options), proto, svnroot, ud.module)
|
||||||
else:
|
else:
|
||||||
|
suffix = ""
|
||||||
if ud.revision:
|
if ud.revision:
|
||||||
options.append("-r %s" % ud.revision)
|
options.append("-r %s" % ud.revision)
|
||||||
|
suffix = "@%s" % (ud.revision)
|
||||||
elif ud.date:
|
elif ud.date:
|
||||||
options.append("-r {%s}" % ud.date)
|
options.append("-r {%s}" % ud.date)
|
||||||
|
|
||||||
if command is "fetch":
|
if command is "fetch":
|
||||||
svncmd = "%s co %s %s://%s/%s %s" % (basecmd, " ".join(options), proto, svnroot, ud.module, ud.module)
|
svncmd = "%s co %s %s://%s/%s%s %s" % (basecmd, " ".join(options), proto, svnroot, ud.module, suffix, ud.module)
|
||||||
elif command is "update":
|
elif command is "update":
|
||||||
svncmd = "%s update %s" % (basecmd, " ".join(options))
|
svncmd = "%s update %s" % (basecmd, " ".join(options))
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -340,7 +340,10 @@ class TaskData:
|
||||||
self.add_provider_internal(cfgData, dataCache, item)
|
self.add_provider_internal(cfgData, dataCache, item)
|
||||||
except bb.providers.NoProvider:
|
except bb.providers.NoProvider:
|
||||||
if self.abort:
|
if self.abort:
|
||||||
|
if self.get_rdependees_str(item):
|
||||||
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item)))
|
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item)))
|
||||||
|
else:
|
||||||
|
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item))
|
||||||
raise
|
raise
|
||||||
targetid = self.getbuild_id(item)
|
targetid = self.getbuild_id(item)
|
||||||
self.remove_buildtarget(targetid)
|
self.remove_buildtarget(targetid)
|
||||||
|
@ -358,7 +361,10 @@ class TaskData:
|
||||||
return
|
return
|
||||||
|
|
||||||
if not item in dataCache.providers:
|
if not item in dataCache.providers:
|
||||||
|
if self.get_rdependees_str(item):
|
||||||
bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item)))
|
bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item)))
|
||||||
|
else:
|
||||||
|
bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item))
|
||||||
bb.event.fire(bb.event.NoProvider(item, cfgData))
|
bb.event.fire(bb.event.NoProvider(item, cfgData))
|
||||||
raise bb.providers.NoProvider(item)
|
raise bb.providers.NoProvider(item)
|
||||||
|
|
||||||
|
@ -536,7 +542,10 @@ class TaskData:
|
||||||
except bb.providers.NoProvider:
|
except bb.providers.NoProvider:
|
||||||
targetid = self.getbuild_id(target)
|
targetid = self.getbuild_id(target)
|
||||||
if self.abort and targetid in self.external_targets:
|
if self.abort and targetid in self.external_targets:
|
||||||
|
if self.get_rdependees_str(target):
|
||||||
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (target, self.get_dependees_str(target)))
|
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (target, self.get_dependees_str(target)))
|
||||||
|
else:
|
||||||
|
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (target))
|
||||||
raise
|
raise
|
||||||
self.remove_buildtarget(targetid)
|
self.remove_buildtarget(targetid)
|
||||||
for target in self.get_unresolved_run_targets(dataCache):
|
for target in self.get_unresolved_run_targets(dataCache):
|
||||||
|
|
|
@ -323,7 +323,6 @@ def preserved_envvars_list():
|
||||||
'HOME',
|
'HOME',
|
||||||
'LANG',
|
'LANG',
|
||||||
'LOGNAME',
|
'LOGNAME',
|
||||||
'OEROOT',
|
|
||||||
'PATH',
|
'PATH',
|
||||||
'PWD',
|
'PWD',
|
||||||
'SESSION_MANAGER',
|
'SESSION_MANAGER',
|
||||||
|
|
|
@ -59,7 +59,20 @@ Changes in BitBake 1.8.x:
|
||||||
all variable from the environment. If BB_ENV_WHITELIST is set, that whitelist will be
|
all variable from the environment. If BB_ENV_WHITELIST is set, that whitelist will be
|
||||||
used instead of the internal bitbake one. Alternatively, BB_ENV_EXTRAWHITE can be used
|
used instead of the internal bitbake one. Alternatively, BB_ENV_EXTRAWHITE can be used
|
||||||
to extend the internal whitelist.
|
to extend the internal whitelist.
|
||||||
|
- Perforce fetcher fix to use commandline options instead of being overriden by the environment
|
||||||
|
- use @rev when doing a svn checkout
|
||||||
|
- Add osc fetcher (from Joshua Lock in Poky)
|
||||||
- When SRCREV autorevisioning for a recipe is in use, don't cache the recipe
|
- When SRCREV autorevisioning for a recipe is in use, don't cache the recipe
|
||||||
|
- Add tryaltconfigs option to control whether bitbake trys using alternative providers
|
||||||
|
to fulfil failed dependencies. It defaults to off, changing the default since this
|
||||||
|
behaviour confuses many users and isn't often useful.
|
||||||
|
- Improve lock file function error handling
|
||||||
|
- Add username handling to the git fetcher (Robert Bragg)
|
||||||
|
- Add support for HTTP_PROXY and HTTP_PROXY_IGNORE variables to the wget fetcher
|
||||||
|
- Export more variables to the fetcher commands to allow ssh checkouts and checkouts through
|
||||||
|
proxies to work better. (from Poky)
|
||||||
|
- Also allow user and pswd options in SRC_URIs globally (from Poky)
|
||||||
|
- Improve proxy handling when using mirrors (from Poky)
|
||||||
|
|
||||||
Changes in BitBake 1.8.10:
|
Changes in BitBake 1.8.10:
|
||||||
- Psyco is available only for x86 - do not use it on other architectures.
|
- Psyco is available only for x86 - do not use it on other architectures.
|
||||||
|
@ -104,6 +117,7 @@ Changes in BitBake 1.8.10:
|
||||||
- Add support for branches in git fetcher (Otavio Salvador, Michael Lauer)
|
- Add support for branches in git fetcher (Otavio Salvador, Michael Lauer)
|
||||||
- Make taskdata and runqueue errors more user friendly
|
- Make taskdata and runqueue errors more user friendly
|
||||||
- Add norecurse and fullpath options to cvs fetcher
|
- Add norecurse and fullpath options to cvs fetcher
|
||||||
|
- bb.utils.prunedir can cope with symlinks to directories without exceptions
|
||||||
|
|
||||||
Changes in Bitbake 1.8.8:
|
Changes in Bitbake 1.8.8:
|
||||||
- Rewrite svn fetcher to make adding extra operations easier
|
- Rewrite svn fetcher to make adding extra operations easier
|
||||||
|
|
|
@ -95,7 +95,11 @@ class Cache:
|
||||||
bb.msg.note(1, bb.msg.domain.Cache, "Invalid cache found, rebuilding...")
|
bb.msg.note(1, bb.msg.domain.Cache, "Invalid cache found, rebuilding...")
|
||||||
self.depends_cache = {}
|
self.depends_cache = {}
|
||||||
else:
|
else:
|
||||||
|
try:
|
||||||
|
os.stat( self.cachefile )
|
||||||
bb.msg.note(1, bb.msg.domain.Cache, "Out of date cache found, rebuilding...")
|
bb.msg.note(1, bb.msg.domain.Cache, "Out of date cache found, rebuilding...")
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
|
|
||||||
def getVar(self, var, fn, exp = 0):
|
def getVar(self, var, fn, exp = 0):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -79,7 +79,7 @@ class Hg(Fetch):
|
||||||
host = "/"
|
host = "/"
|
||||||
ud.host = "localhost"
|
ud.host = "localhost"
|
||||||
|
|
||||||
if ud.user == None:
|
if not ud.user:
|
||||||
hgroot = host + ud.path
|
hgroot = host + ud.path
|
||||||
else:
|
else:
|
||||||
hgroot = ud.user + "@" + host + ud.path
|
hgroot = ud.user + "@" + host + ud.path
|
||||||
|
|
|
@ -67,14 +67,15 @@ class Perforce(Fetch):
|
||||||
doparse = staticmethod(doparse)
|
doparse = staticmethod(doparse)
|
||||||
|
|
||||||
def getcset(d, depot,host,user,pswd,parm):
|
def getcset(d, depot,host,user,pswd,parm):
|
||||||
|
p4opt = ""
|
||||||
if "cset" in parm:
|
if "cset" in parm:
|
||||||
return parm["cset"];
|
return parm["cset"];
|
||||||
if user:
|
if user:
|
||||||
data.setVar('P4USER', user, d)
|
p4opt += " -u %s" % (user)
|
||||||
if pswd:
|
if pswd:
|
||||||
data.setVar('P4PASSWD', pswd, d)
|
p4opt += " -P %s" % (pswd)
|
||||||
if host:
|
if host:
|
||||||
data.setVar('P4PORT', host, d)
|
p4opt += " -p %s" % (host)
|
||||||
|
|
||||||
p4date = data.getVar("P4DATE", d, 1)
|
p4date = data.getVar("P4DATE", d, 1)
|
||||||
if "revision" in parm:
|
if "revision" in parm:
|
||||||
|
@ -85,8 +86,8 @@ class Perforce(Fetch):
|
||||||
depot += "@%s" % (p4date)
|
depot += "@%s" % (p4date)
|
||||||
|
|
||||||
p4cmd = data.getVar('FETCHCOMMAND_p4', d, 1)
|
p4cmd = data.getVar('FETCHCOMMAND_p4', d, 1)
|
||||||
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s changes -m 1 %s" % (p4cmd, depot))
|
bb.msg.debug(1, bb.msg.domain.Fetcher, "Running %s%s changes -m 1 %s" % (p4cmd, p4opt, depot))
|
||||||
p4file = os.popen("%s changes -m 1 %s" % (p4cmd,depot))
|
p4file = os.popen("%s%s changes -m 1 %s" % (p4cmd, p4opt, depot))
|
||||||
cset = p4file.readline().strip()
|
cset = p4file.readline().strip()
|
||||||
bb.msg.debug(1, bb.msg.domain.Fetcher, "READ %s" % (cset))
|
bb.msg.debug(1, bb.msg.domain.Fetcher, "READ %s" % (cset))
|
||||||
if not cset:
|
if not cset:
|
||||||
|
@ -146,14 +147,15 @@ class Perforce(Fetch):
|
||||||
data.update_data(localdata)
|
data.update_data(localdata)
|
||||||
|
|
||||||
# Get the p4 command
|
# Get the p4 command
|
||||||
|
p4opt = ""
|
||||||
if user:
|
if user:
|
||||||
data.setVar('P4USER', user, localdata)
|
p4opt += " -u %s" % (user)
|
||||||
|
|
||||||
if pswd:
|
if pswd:
|
||||||
data.setVar('P4PASSWD', pswd, localdata)
|
p4opt += " -P %s" % (pswd)
|
||||||
|
|
||||||
if host:
|
if host:
|
||||||
data.setVar('P4PORT', host, localdata)
|
p4opt += " -p %s" % (host)
|
||||||
|
|
||||||
p4cmd = data.getVar('FETCHCOMMAND', localdata, 1)
|
p4cmd = data.getVar('FETCHCOMMAND', localdata, 1)
|
||||||
|
|
||||||
|
@ -175,8 +177,8 @@ class Perforce(Fetch):
|
||||||
|
|
||||||
os.chdir(tmpfile)
|
os.chdir(tmpfile)
|
||||||
bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
|
bb.msg.note(1, bb.msg.domain.Fetcher, "Fetch " + loc)
|
||||||
bb.msg.note(1, bb.msg.domain.Fetcher, "%s files %s" % (p4cmd, depot))
|
bb.msg.note(1, bb.msg.domain.Fetcher, "%s%s files %s" % (p4cmd, p4opt, depot))
|
||||||
p4file = os.popen("%s files %s" % (p4cmd, depot))
|
p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot))
|
||||||
|
|
||||||
if not p4file:
|
if not p4file:
|
||||||
bb.error("Fetch: unable to get the P4 files from %s" % (depot))
|
bb.error("Fetch: unable to get the P4 files from %s" % (depot))
|
||||||
|
@ -193,7 +195,7 @@ class Perforce(Fetch):
|
||||||
dest = list[0][len(path)+1:]
|
dest = list[0][len(path)+1:]
|
||||||
where = dest.find("#")
|
where = dest.find("#")
|
||||||
|
|
||||||
os.system("%s print -o %s/%s %s" % (p4cmd, module,dest[:where],list[0]))
|
os.system("%s%s print -o %s/%s %s" % (p4cmd, p4opt, module,dest[:where],list[0]))
|
||||||
count = count + 1
|
count = count + 1
|
||||||
|
|
||||||
if count == 0:
|
if count == 0:
|
||||||
|
|
|
@ -114,13 +114,15 @@ class Svn(Fetch):
|
||||||
if command is "info":
|
if command is "info":
|
||||||
svncmd = "%s info %s %s://%s/%s/" % (basecmd, " ".join(options), proto, svnroot, ud.module)
|
svncmd = "%s info %s %s://%s/%s/" % (basecmd, " ".join(options), proto, svnroot, ud.module)
|
||||||
else:
|
else:
|
||||||
|
suffix = ""
|
||||||
if ud.revision:
|
if ud.revision:
|
||||||
options.append("-r %s" % ud.revision)
|
options.append("-r %s" % ud.revision)
|
||||||
|
suffix = "@%s" % (ud.revision)
|
||||||
elif ud.date:
|
elif ud.date:
|
||||||
options.append("-r {%s}" % ud.date)
|
options.append("-r {%s}" % ud.date)
|
||||||
|
|
||||||
if command is "fetch":
|
if command is "fetch":
|
||||||
svncmd = "%s co %s %s://%s/%s %s" % (basecmd, " ".join(options), proto, svnroot, ud.module, ud.module)
|
svncmd = "%s co %s %s://%s/%s%s %s" % (basecmd, " ".join(options), proto, svnroot, ud.module, suffix, ud.module)
|
||||||
elif command is "update":
|
elif command is "update":
|
||||||
svncmd = "%s update %s" % (basecmd, " ".join(options))
|
svncmd = "%s update %s" % (basecmd, " ".join(options))
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -340,7 +340,10 @@ class TaskData:
|
||||||
self.add_provider_internal(cfgData, dataCache, item)
|
self.add_provider_internal(cfgData, dataCache, item)
|
||||||
except bb.providers.NoProvider:
|
except bb.providers.NoProvider:
|
||||||
if self.abort:
|
if self.abort:
|
||||||
|
if self.get_rdependees_str(item):
|
||||||
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item)))
|
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item)))
|
||||||
|
else:
|
||||||
|
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item))
|
||||||
raise
|
raise
|
||||||
targetid = self.getbuild_id(item)
|
targetid = self.getbuild_id(item)
|
||||||
self.remove_buildtarget(targetid)
|
self.remove_buildtarget(targetid)
|
||||||
|
@ -358,7 +361,10 @@ class TaskData:
|
||||||
return
|
return
|
||||||
|
|
||||||
if not item in dataCache.providers:
|
if not item in dataCache.providers:
|
||||||
|
if self.get_rdependees_str(item):
|
||||||
bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item)))
|
bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (item, self.get_dependees_str(item)))
|
||||||
|
else:
|
||||||
|
bb.msg.note(2, bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (item))
|
||||||
bb.event.fire(bb.event.NoProvider(item, cfgData))
|
bb.event.fire(bb.event.NoProvider(item, cfgData))
|
||||||
raise bb.providers.NoProvider(item)
|
raise bb.providers.NoProvider(item)
|
||||||
|
|
||||||
|
@ -536,7 +542,10 @@ class TaskData:
|
||||||
except bb.providers.NoProvider:
|
except bb.providers.NoProvider:
|
||||||
targetid = self.getbuild_id(target)
|
targetid = self.getbuild_id(target)
|
||||||
if self.abort and targetid in self.external_targets:
|
if self.abort and targetid in self.external_targets:
|
||||||
|
if self.get_rdependees_str(target):
|
||||||
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (target, self.get_dependees_str(target)))
|
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s' (but '%s' DEPENDS on or otherwise requires it)" % (target, self.get_dependees_str(target)))
|
||||||
|
else:
|
||||||
|
bb.msg.error(bb.msg.domain.Provider, "Nothing PROVIDES '%s'" % (target))
|
||||||
raise
|
raise
|
||||||
self.remove_buildtarget(targetid)
|
self.remove_buildtarget(targetid)
|
||||||
for target in self.get_unresolved_run_targets(dataCache):
|
for target in self.get_unresolved_run_targets(dataCache):
|
||||||
|
|
|
@ -323,7 +323,6 @@ def preserved_envvars_list():
|
||||||
'HOME',
|
'HOME',
|
||||||
'LANG',
|
'LANG',
|
||||||
'LOGNAME',
|
'LOGNAME',
|
||||||
'OEROOT',
|
|
||||||
'PATH',
|
'PATH',
|
||||||
'PWD',
|
'PWD',
|
||||||
'SESSION_MANAGER',
|
'SESSION_MANAGER',
|
||||||
|
|
Loading…
Reference in New Issue