summaryrefslogtreecommitdiff
path: root/poky/bitbake
diff options
context:
space:
mode:
Diffstat (limited to 'poky/bitbake')
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml4
-rw-r--r--poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml3
-rw-r--r--poky/bitbake/lib/bb/event.py4
-rw-r--r--poky/bitbake/lib/bb/fetch2/cvs.py20
-rw-r--r--poky/bitbake/lib/bb/parse/ast.py3
5 files changed, 21 insertions, 13 deletions
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml
index 6c5234ed9..e4251dff5 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-execution.xml
@@ -618,12 +618,12 @@
<para>
Tasks can be either a shell task or a Python task.
For shell tasks, BitBake writes a shell script to
- <filename>${</filename><link linkend='var-bb-T'><filename>T</filename></link><filename>}/run.do_taskname.pid</filename>
+ <filename>${</filename><link linkend='var-bb-T'><filename>T</filename></link><filename>}/run.do_taskname.<replaceable>pid</replaceable></filename>
and then executes the script.
The generated shell script contains all the exported variables,
and the shell functions with all variables expanded.
Output from the shell script goes to the file
- <filename>${T}/log.do_taskname.pid</filename>.
+ <filename>${T}/log.do_taskname.<replaceable>pid</replaceable></filename>.
Looking at the expanded shell functions in the run file and
the output in the log files is a useful debugging technique.
</para>
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
index 10b588352..95a8b95b1 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-metadata.xml
@@ -2526,6 +2526,9 @@
In the previous example, the <filename>do_packagedata</filename>
task of each item in <filename>RDEPENDS</filename> must have
completed before <filename>do_package_qa</filename> can execute.
+ Although <filename>RDEPENDS</filename> contains entries from the
+ runtime dependency namespace, BitBake knows how to map them back
+ to the build-time dependency namespace, in which the tasks are defined.
</para>
</section>
diff --git a/poky/bitbake/lib/bb/event.py b/poky/bitbake/lib/bb/event.py
index d1359f010..0e6d9b296 100644
--- a/poky/bitbake/lib/bb/event.py
+++ b/poky/bitbake/lib/bb/event.py
@@ -389,6 +389,10 @@ class RecipeEvent(Event):
class RecipePreFinalise(RecipeEvent):
""" Recipe Parsing Complete but not yet finalised"""
+class RecipePostKeyExpansion(RecipeEvent):
+ """ Recipe Parsing Complete but not yet finalised"""
+
+
class RecipeTaskPreProcess(RecipeEvent):
"""
Recipe Tasks about to be finalised
diff --git a/poky/bitbake/lib/bb/fetch2/cvs.py b/poky/bitbake/lib/bb/fetch2/cvs.py
index 29123a483..22abdef79 100644
--- a/poky/bitbake/lib/bb/fetch2/cvs.py
+++ b/poky/bitbake/lib/bb/fetch2/cvs.py
@@ -51,6 +51,10 @@ class Cvs(FetchMethod):
ud.localfile = d.expand('%s_%s_%s_%s%s%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.tag, ud.date, norecurse, fullpath))
+ pkg = d.getVar('PN')
+ cvsdir = d.getVar("CVSDIR") or (d.getVar("DL_DIR") + "/cvs")
+ ud.pkgdir = os.path.join(cvsdir, pkg)
+
def need_update(self, ud, d):
if (ud.date == "now"):
return True
@@ -106,10 +110,7 @@ class Cvs(FetchMethod):
# create module directory
logger.debug(2, "Fetch: checking for module directory")
- pkg = d.getVar('PN')
- cvsdir = d.getVar("CVSDIR") or (d.getVar("DL_DIR") + "/cvs")
- pkgdir = os.path.join(cvsdir, pkg)
- moddir = os.path.join(pkgdir, localdir)
+ moddir = os.path.join(ud.pkgdir, localdir)
workdir = None
if os.access(os.path.join(moddir, 'CVS'), os.R_OK):
logger.info("Update " + ud.url)
@@ -120,8 +121,8 @@ class Cvs(FetchMethod):
else:
logger.info("Fetch " + ud.url)
# check out sources there
- bb.utils.mkdirhier(pkgdir)
- workdir = pkgdir
+ bb.utils.mkdirhier(ud.pkgdir)
+ workdir = ud.pkgdir
logger.debug(1, "Running %s", cvscmd)
bb.fetch2.check_network_access(d, cvscmd, ud.url)
cmd = cvscmd
@@ -140,7 +141,7 @@ class Cvs(FetchMethod):
# tar them up to a defined filename
workdir = None
if 'fullpath' in ud.parm:
- workdir = pkgdir
+ workdir = ud.pkgdir
cmd = "tar %s -czf %s %s" % (tar_flags, ud.localpath, localdir)
else:
workdir = os.path.dirname(os.path.realpath(moddir))
@@ -151,9 +152,6 @@ class Cvs(FetchMethod):
def clean(self, ud, d):
""" Clean CVS Files and tarballs """
- pkg = d.getVar('PN')
- pkgdir = os.path.join(d.getVar("CVSDIR"), pkg)
-
- bb.utils.remove(pkgdir, True)
+ bb.utils.remove(ud.pkgdir, True)
bb.utils.remove(ud.localpath)
diff --git a/poky/bitbake/lib/bb/parse/ast.py b/poky/bitbake/lib/bb/parse/ast.py
index eb8cfa21b..785aa974e 100644
--- a/poky/bitbake/lib/bb/parse/ast.py
+++ b/poky/bitbake/lib/bb/parse/ast.py
@@ -338,6 +338,9 @@ def finalize(fn, d, variant = None):
bb.event.fire(bb.event.RecipePreFinalise(fn), d)
bb.data.expandKeys(d)
+
+ bb.event.fire(bb.event.RecipePostKeyExpansion(fn), d)
+
runAnonFuncs(d)
tasklist = d.getVar('__BBTASKS', False) or []