[oe-commits] unknown Updated to bitbake 1.3.2
rwhitby commit
openembedded-commits at lists.openembedded.org
Mon Oct 23 17:47:06 UTC 2006
Updated to bitbake 1.3.2
Author: rwhitby at nslu2-linux.org
Branch: unknown
Revision: 8b18357f2e44db6d7a19b4c930bd3d8f04b20085
ViewMTN: http://monotone.openembedded.org/revision.psp?id=8b18357f2e44db6d7a19b4c930bd3d8f04b20085
Files:
1
ChangeLog
bin/bitbake
bin/bitdoc
doc/manual/usermanual.xml
lib/bb/__init__.py
lib/bb/parse/parse_py/ConfHandler.py
Diffs:
#
# mt diff -r4fafd70a4fdd28339421a29c7061cd9a78197854 -r8b18357f2e44db6d7a19b4c930bd3d8f04b20085
#
#
#
# patch "ChangeLog"
# from [95e318a4145a2bb46a3e44f8d642d4a980a982fc]
# to [5321e8a235f6bb178f8b2f028df60c39b97be8d5]
#
# patch "bin/bitbake"
# from [85546e27d34eb90f0b7d78f6714b960266a18975]
# to [3a0a7eaeb57f757d47e14765ca36ac8e4bd46699]
#
# patch "bin/bitdoc"
# from [87d341215e8d1cbe1faa0ff76049b7876359dd95]
# to [e2b3186a2918c0667477f911be1234d585e10159]
#
# patch "doc/manual/usermanual.xml"
# from [d06ae4147a595daa771c55f60f6e4f0df24f8fdc]
# to [46cb85aa51c7bc92fdbaa60dd6506a0aeeb94150]
#
# patch "lib/bb/__init__.py"
# from [f003cbd1301abfdfb830a254472e2ba1e3045e67]
# to [b6d5f29cbac9e32229541fd250eb935cacfb725c]
#
# patch "lib/bb/parse/parse_py/ConfHandler.py"
# from [332848401051e25e945534ce2fbf3d69fb085120]
# to [ad2abbaf8c6e1570b17bece77bffdee1f12d6785]
#
============================================================
--- ChangeLog 95e318a4145a2bb46a3e44f8d642d4a980a982fc
+++ ChangeLog 5321e8a235f6bb178f8b2f028df60c39b97be8d5
@@ -1,7 +1,11 @@ Changes in BitBake 1.3.2:
Changes in BitBake 1.3.2:
- reintegration of make.py into BitBake
- bbread is gone, use bitbake -e
- lots of shell updates and bugfixes
+ - Introduction of the .= and =. operator
+ - Sort variables, keys and groups in bitdoc
+ - Fix regression in the handling of BBCOLLECTIONS
+ - Update the bitbake usermanual
Changes in BitBake 1.3.0:
- add bitbake interactive shell (bitbake -i)
============================================================
--- bin/bitbake 85546e27d34eb90f0b7d78f6714b960266a18975
+++ bin/bitbake 3a0a7eaeb57f757d47e14765ca36ac8e4bd46699
@@ -604,7 +604,7 @@ class BBCooker:
# inject custom variables
if not bb.data.getVar("BUILDNAME", self.configuration.data):
bb.data.setVar("BUILDNAME", os.popen('date +%Y%m%d%H%M').readline().strip(), self.configuration.data)
- bb.data.setVar("BUILDSTART", time.strftime('%m/%d/%Y %H:%M:%S',time.localtime()),self.configuration.data)
+ bb.data.setVar("BUILDSTART", time.strftime('%m/%d/%Y %H:%M:%S',time.gmtime()),self.configuration.data)
buildname = bb.data.getVar("BUILDNAME", self.configuration.data)
============================================================
--- bin/bitdoc 87d341215e8d1cbe1faa0ff76049b7876359dd95
+++ bin/bitdoc e2b3186a2918c0667477f911be1234d585e10159
@@ -369,6 +369,7 @@ class Documentation:
if not group in self.__groups:
self.__groups[group] = []
self.__groups[group].append(item)
+ self.__groups[group].sort()
def doc_item(self, key):
============================================================
--- doc/manual/usermanual.xml d06ae4147a595daa771c55f60f6e4f0df24f8fdc
+++ doc/manual/usermanual.xml 46cb85aa51c7bc92fdbaa60dd6506a0aeeb94150
@@ -12,7 +12,7 @@
<corpauthor>BitBake Team</corpauthor>
</authorgroup>
<copyright>
- <year>2004</year>
+ <year>2004, 2005</year>
<holder>Chris Larson</holder>
<holder>Phil Blundell</holder>
</copyright>
@@ -109,6 +109,15 @@ share common metadata between many packa
<para>In this example, <varname>B</varname> is now <literal>bval additionaldata</literal> and <varname>C</varname> is <literal>test cval</literal>.</para>
</section>
<section>
+ <title>Appending (.=) and prepending (=.) without spaces</title>
+ <para><screen><varname>B</varname> = "bval"
+<varname>B</varname> += "additionaldata"
+<varname>C</varname> = "cval"
+<varname>C</varname> =+ "test"</screen></para>
+ <para>In this example, <varname>B</varname> is now <literal>bvaladditionaldata</literal> and <varname>C</varname> is <literal>testcval</literal>. In contrast to the above Appending and Prepending operators no additional space
+will be introduced.</para>
+ </section>
+ <section>
<title>Conditional metadata set</title>
<para>OVERRIDES is a <quote>:</quote> seperated variable containing each item you want to satisfy conditions. So, if you have a variable which is conditional on <quote>arm</quote>, and <quote>arm</quote> is in OVERRIDES, then the <quote>arm</quote> specific version of the variable is used rather than the non-conditional version. Example:</para>
<para><screen><varname>OVERRIDES</varname> = "architecture:os:machine"
@@ -151,7 +160,7 @@ share common metadata between many packa
<title>Defining python functions into the global python namespace</title>
<para><emphasis>NOTE:</emphasis> This is only supported in .bb and .bbclass files.</para>
<para><screen>def get_depends(bb, d):
- if bb.data.getVar('SOMECONDITION', d, 1):
+ if bb.data.getVar('SOMECONDITION', d, True):
return "dependencywithcond"
else:
return "dependency"
@@ -181,7 +190,19 @@ addtask printdate before do_build</scree
<title>Events</title>
<para><emphasis>NOTE:</emphasis> This is only supported in .bb and .bbclass files.</para>
<para>BitBake also implements a means of registering event handlers. Events are triggered at certain points during operation, such as, the beginning of operation against a given .bb, the start of a given task, task failure, task success, et cetera. The intent was to make it easy to do things like email notifications on build failure.</para>
- <para><emphasis>[Insert instructions on how to add event handlers here]</emphasis></para>
+ <para><screen>addhandler myclass_eventhandler
+python myclass_eventhandler() {
+ from bb.event import NotHandled, getName
+ from bb import data
+
+ print "The name of the Event is %s" % getName(e)
+ print "The file we run for is %s" % data.getVar('FILE', e.data, True)
+
+ return NotHandled
+</screen></para><para>
+This event handler gets called every time an event is triggered. A global variable <varname>e</varname> is defined. <varname>e</varname>.data contains an instance of bb.data. With the getName(<varname>e</varname>)
+method one can get the name of the triggered event.</para><para>The above event handler prints the name
+of the event and the content of the <varname>FILE</varname> variable.</para>
</section>
</section>
<section>
@@ -206,6 +227,8 @@ addtask printdate before do_build</scree
<section>
<title>bbread</title>
<para>bbread is a command for displaying BitBake metadata. When run with no arguments, it has the core parse 'conf/bitbake.conf', as located in BBPATH, and displays that. If you supply a file on the commandline, such as a .bb, then it parses that afterwards, using the aforementioned configuration metadata.</para>
+ <para><emphasis>NOTE: the stand a lone bbread command was removed. Instead of bbread use bitbake -e.
+ </emphasis></para>
</section>
<section>
<title>bitbake</title>
@@ -227,23 +250,32 @@ options:
options:
--version show program's version number and exit
-h, --help show this help message and exit
- -bBUILDFILE, --buildfile=BUILDFILE
+ -b BUILDFILE, --buildfile=BUILDFILE
execute the task against this .bb file, rather than a
package from BBFILES.
-k, --continue continue as much as possible after an error. While the
- target that failed, and those that depend on it, cannot
- be remade, the other dependencies of these targets can
- be processed all the same.
+ target that failed, and those that depend on it,
+ cannot be remade, the other dependencies of these
+ targets can be processed all the same.
-f, --force force run of specified cmd, regardless of stamp status
- -cCMD, --cmd=CMD Specify task to execute
- -rFILE, --read=FILE read the specified file before bitbake.conf
+ -i, --interactive drop into the interactive mode.
+ -c CMD, --cmd=CMD Specify task to execute. Note that this only executes
+ the specified task for the providee and the packages
+ it depends on, i.e. 'compile' does not implicitly call
+ stage for the dependencies (IOW: use only if you know
+ what you are doing)
+ -r FILE, --read=FILE read the specified file before bitbake.conf
-v, --verbose output more chit-chat to the terminal
-D, --debug Increase the debug level
-n, --dry-run don't execute, just go through the motions
-p, --parse-only quit after parsing the BB files (developers only)
-d, --disable-psyco disable using the psyco just-in-time compiler (not
recommended)
- -s, --show-versions show current and preferred versions of all packages</screen>
+ -s, --show-versions show current and preferred versions of all packages
+ -e, --environment show the global or per-package environment (this is
+ what used to be bbread)
+
+</screen>
</para>
<para>
<example>
============================================================
--- lib/bb/__init__.py f003cbd1301abfdfb830a254472e2ba1e3045e67
+++ lib/bb/__init__.py b6d5f29cbac9e32229541fd250eb935cacfb725c
@@ -23,7 +23,7 @@ Place, Suite 330, Boston, MA 02111-1307
Place, Suite 330, Boston, MA 02111-1307 USA.
"""
-__version__ = "1.3.0"
+__version__ = "1.3.2"
__all__ = [
============================================================
--- lib/bb/parse/parse_py/ConfHandler.py 332848401051e25e945534ce2fbf3d69fb085120
+++ lib/bb/parse/parse_py/ConfHandler.py ad2abbaf8c6e1570b17bece77bffdee1f12d6785
@@ -26,7 +26,7 @@ from bb.parse import ParseError
from bb.parse import ParseError
#__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}]+)\s*(?P<colon>:)?(?P<ques>\?)?=\s*(?P<apo>['\"]?)(?P<value>.*)(?P=apo)$")
-__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}/]+)(\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?\s*((?P<colon>:=)|(?P<ques>\?=)|(?P<append>\+=)|(?P<prepend>=\+)|=)\s*(?P<apo>['\"]?)(?P<value>.*)(?P=apo)$")
+__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}/]+)(\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?\s*((?P<colon>:=)|(?P<ques>\?=)|(?P<append>\+=)|(?P<prepend>=\+)|(?P<predot>=\.)|(?P<postdot>\.=)|=)\s*(?P<apo>['\"]?)(?P<value>.*)(?P=apo)$")
__include_regexp__ = re.compile( r"include\s+(.+)" )
def init(data):
@@ -171,6 +171,10 @@ def feeder(lineno, s, fn, data = bb.data
val = "%s %s" % ((bb.data.getVar(key, data) or ""), groupd["value"])
elif "prepend" in groupd and groupd["prepend"] != None:
val = "%s %s" % (groupd["value"], (bb.data.getVar(key, data) or ""))
+ elif "postdot" in groupd and groupd["postdot"] != None:
+ val = "%s%s" % ((bb.data.getVar(key, data) or ""), groupd["value"])
+ elif "predot" in groupd and groupd["predot"] != None:
+ val = "%s%s" % (groupd["value"], (bb.data.getVar(key, data) or ""))
else:
val = groupd["value"]
if 'flag' in groupd and groupd['flag'] != None:
More information about the Openembedded-commits
mailing list