Age | Commit message (Collapse) | Author |
|
-The pickling API is not too obvious. One can
not call p.dump multiple times. Instead
we store it as a tuple.
-Same applies for unpickling.
-Hmm current programming languages suck. It
can't be true to use multiple assignment
for something as easy as a 'symmetric'
command.
|
|
-createCopy is not called, instead
a constructor is invoked. Copy the
cookies here as well.
Currently I only copy them from 'clean' as
we should have them pickled already...
|
|
Remember what we paid to the Cookie Monster.
Make a copy of it. Currently we do no removal
of these keys so I hope to get around the
shallow copies as welbitbake/lib/bb/data_smart.py:
Remember what we paid to the Cookie Monster.
Make a copy of it. Currently we do no removal
of these keys so I hope to get around the
shallow copies as welll
|
|
-Only have one expand method in the dict
implementation.
-Apply some magic knowledge by feeding the
cookie master.
-Speed up update_data by asking the Cookie
Monster for help.
We do not iterate over each key, but the
keys we know that have the data we care
about. This gives a huge speed improvement
to parsing.
bitbake/lib/bb/data_smart.py:
-Make setVar more expensive by feeding the cookie
monster
|
|
-Fix the method invocation in methodpool
to use the right amount of arguments
-Update data_smart to the new cache layout
of the file functions
|
|
Create a common implementation of the global
method handling. It will be shared by the parsers
and the cache.
This commit breaks the cache again
|
|
-Add Registered and AlreadyRegistered
as return values for register
|
|
ReAdd the handlers when unpickling the file
parse/parse_py/BBHandler.py:
Save the once added handlers in the bitbake
file.
|
|
-Do not add handlers again. It is 'fast' enough
to iterate over them in the BBHandler do not
add them in bitbake again.
This temporarily breaks the cache - which
will be fixed shortly
lib/bb/event.py:
-Have a data structure that operates faster on
lookups
-Change register/remove to take a 'name' parameter
lib/bb/parse/parse_py/BBHandler.py:
-Update to the new event.register syntax
|
|
Compile and Execute methods from .inc
and .class files only once.
I'm not sure about a performance win here
at least it is not decreasing performance
|
|
Do not build the World Package List unless we want
to build 'world'. This saves from 10 to 20 seconds
on a usual build.
I think people doing a world build can survice the
extra seconds.
|
|
Implement some bits of the C parser. We will
do the easy things in python and then initialize
the lexer/parser.
|
|
Fix RRECOMMENDS_${PN} and RPROVIDES_${PN} handling.
|
|
-python_output will be called from the parser. Once we have
each method implemented we have a working C++ parser
-Add BBHandler. It will parse .bbclass, .inc and .bb files
for us and calls into c (if speed critical we might remove
that fascade)
-make scanner get FILE* and PyObject* as input
-make parser call python_output with lex_t
-bitbakescanner.cc,bitbakeparser.cc update generated code
-Parsing flow:
parse -> handle -> parse_c.BBHandler -> parse_c.C -> lex
-> (lemon *-> python_output) ... return
|
|
Create a ordinary main method. This makes invoking
the hotshot profiling tool much more easy
|
|
Add require to the scanner
|
|
-Update grammar to use require
-Make code compile (almost)
-Add the generated code to svn for portability
reasons.
|
|
Make it work with python2.3 and python2.4
|
|
-Use paragraphs instead of 'pre'. This enables line
wrapping for too big comments
|
|
-Do not link to keys.html and groups.html, use the right
site
-Make it possible to have descriptions for groups as well
|
|
-Work on case insensitive filesystems where keys.html == keyS.html
-Create all_groups.html and all_keys site
-Sort the keys in a group
-Emit the ',' only when needed
|
|
Bump the minor minor version again
|
|
-svn_rsh was used, but the code was unreachable leading to
runtime errors
-now if the proto is svn+ssh, honor rsh parameter of the
URL
|
|
-We do not need make, we only need bb.parse
|
|
Start documenting the available fetchers and their VARIABLES
and Parameters
|
|
Remove the CVS origin from the SVN fetcher. ext and pserver
are not used by subversion.
|
|
Introduce a NoProvider Event. It contains
a 'runtime' flag, the item name and the
configuration data.
bitbake/bin/bitbake:
Fire the NoProvider event at some spots. There
are more events we need to fire. Ideally the
BitBake UI would just be a handler...
|
|
Do not report RuntimeErrors for SkipPackage and FuncFailed
|
|
Kill the code duplication
|
|
Do not go past the buffer
(this looks like copy and paste)
|
|
Do not report Skipped Packages as runtime
error
|
|
-Be less verbose
|
|
-This not Thiis
-Print the RuntimeError with context gosh
that is looking awesome.
-Now debugging errors in custom bbclasses,
python methods should be much more easy
|
|
Give a filename to the better compile method.
(sorry)
|
|
Create a work in progress version for
better_execute. With advanced error reporting
facilities.
bitbake/lib/bb/build.py:
Use better_execute
bitbake/parse/parse_py/BBHandler.py:
Use better_execute instead of exex
|
|
Use bb.utils.better_compile instead of
the simple compile for better error
reporting
|
|
Prepend the lib module instead of appending to
override the system installation
bitbake/lib/bb/data.py:
Same as above, prepend instead of append
|
|
Improvements to the git fetcher including using the src mirrors,
updates to use modern git commands, making the code more efficent
and remove some old debug.
|
|
We compile strings into code. In case of erros the traceback
is not useful at all. It doesn't print the function name,
accurate line number etc.
Introduce a better_compile method that excepts the Error
and prints the surrounding lines of code.
We make use of it on the parsing level and execution level
of python methods.
|
|
Remove the configuration reading class. We have
two parsers already
|
|
Rename the removeCode and addCode to _removeCode and
_addCode as they are private and internal.
|
|
Remove the whitespace... well I have seen it and
removed it.
|
|
Document the weird semantic of the setVarFlags. It behaves
more like an addVarFlags call. Existing variables are not
going to be removed.
|
|
The Data Module is not a simple dict anymore. So use
the bb.data.init() method to create a default data
storage.
|
|
-make multiple providers inherit
Event directly. Save the kind (runtime vs. buildtime)
the item and the providers
bin/bitbake:
-Fire multiple providers issue as Event
|
|
bump the version
|
|
Safe the number of failed packages even if the BuildCompleted
bin/bitbake:
count the number of broken packages
|
|
- ASSUME_PROVIDED allowed to include runtime names
|
|
- Remove useless bitkeeper fetcher
|
|
- Fix a RDEPENDS parsing bug in utils:explode_deps()
(versions containing spaces didn't parse correctly)
bitbake/lib/bb/fetch/git.py:
- Update git fetcher behaviour to match git changes
|