cooker: fix traceback when using -b and -f together
[bitbake.git] / ChangeLog
1 Changes in Bitbake 1.9.x:
2         - Add PE (Package Epoch) support from Philipp Zabel (pH5)
3         - Treat python functions the same as shell functions for logging
4         - Use TMPDIR/anonfunc as a __anonfunc temp directory (T)
5         - Catch truncated cache file errors
6         - Allow operations other than assignment on flag variables
7         - Add code to handle inter-task dependencies
8         - Fix cache errors when generation dotGraphs
9         - Make sure __inherit_cache is updated before calling include() (from Michael Krelin)
10         - Fix bug when target was in ASSUME_PROVIDED (#2236)
11         - Raise ParseError for filenames with multiple underscores instead of infinitely looping (#2062)
12         - Fix invalid regexp in BBMASK error handling (missing import) (#1124)
13         - Promote certain warnings from debug to note 2 level
14         - Update manual
15         - Correctly redirect stdin when forking
16         - If parsing errors are found, exit, too many users miss the errors
17         - Remove supriours PREFERRED_PROVIDER warnings
18         - svn fetcher: Add _buildsvncommand function
19         - Improve certain error messages
20         - Rewrite svn fetcher to make adding extra operations easier 
21           as part of future SRCDATE="now" fixes
22           (requires new FETCHCMD_svn definition in bitbake.conf)
23         - Change SVNDIR layout to be more unique (fixes #2644 and #2624)
24         - Add ConfigParsed Event after configuration parsing is complete
25         - Add SRCREV support for svn fetcher
26         - data.emit_var() - only call getVar if we need the variable
27         - Stop generating the A variable (seems to be legacy code)
28         - Make sure intertask depends get processed correcting in recursive depends
29         - Add pn-PN to overrides when evaluating PREFERRED_VERSION
30         - Improve the progress indicator by skipping tasks that have 
31           already run before starting the build rather than during it
32         - Add profiling option (-P)
33         - Add BB_SRCREV_POLICY variable (clear or cache) to control SRCREV cache
34         - Add SRCREV_FORMAT support
35         - Fix local fetcher's localpath return values
36         - Apply OVERRIDES before performing immediate expansions
37         - Allow the -b -e option combination to take regular expressions
38         - Fix handling of variables with expansion in the name using _append/_prepend
39           e.g. RRECOMMENDS_${PN}_append_xyz = "abc"
40         - Add plain message function to bb.msg
41         - Sort the list of providers before processing so dependency problems are 
42           reproducible rather than effectively random
43         - Fix/improve bitbake -s output
44         - Add locking for fetchers so only one tries to fetch a given file at a given time
45         - Fix int(0)/None confusion in runqueue.py which causes random gaps in dependency chains          
46         - Expand data in addtasks
47         - Print the list of missing DEPENDS,RDEPENDS for the "No buildable providers available for required...."
48           error message.
49         - Rework add_task to be more efficient (6% speedup, 7% number of function calls reduction)
50         - Sort digraph output to make builds more reproducible
51         - Split expandKeys into two for loops to benefit from the expand_cache (12% speedup)
52         - runqueue.py: Fix idepends handling to avoid dependency errors
53         - Clear the terminal TOSTOP flag if set (and warn the user)
54         - Fix regression from r653 and make SRCDATE/CVSDATE work for packages again
55         - Fix a bug in bb.decodeurl where http://some.where.com/somefile.tgz decoded to host="" (#1530)
56         - Warn about malformed PREFERRED_PROVIDERS (#1072)
57         - Add support for BB_NICE_LEVEL option (#1627)
58         - Psyco is used only on x86 as there is no support for other architectures.
59         - Sort initial providers list by default preference (#1145, #2024)
60         - Improve provider sorting so prefered versions have preference over latest versions (#768)
61         - Detect builds of tasks with overlapping providers and warn (will become a fatal error) (#1359)
62         - Add MULTI_PROVIDER_WHITELIST variable to allow known safe multiple providers to be listed
63         - Handle paths in svn fetcher module parameter
64         - Support the syntax "export VARIABLE"
65         - Add bzr fetcher
66         - Add support for cleaning directories before a task in the form:
67           do_taskname[cleandirs] = "dir"
68         - bzr fetcher tweaks from Robert Schuster (#2913)
69         - Add mercurial (hg) fetcher from Robert Schuster (#2913)
70         - Don't add duplicates to BBPATH
71         - Fix preferred_version return values (providers.py)
72         - Fix 'depends' flag splitting
73         - Fix unexport handling (#3135)
74         - Add bb.copyfile function similar to bb.movefile (and improve movefile error reporting)
75         - Allow multiple options for deptask flag
76         - Use git-fetch instead of git-pull removing any need for merges when 
77           fetching (we don't care about the index). Fixes fetch errors.
78         - Add BB_GENERATE_MIRROR_TARBALLS option, set to 0 to make git fetches 
79           faster at the expense of not creating mirror tarballs.
80         - SRCREV handling updates, improvements and fixes from Poky
81         - Add bb.utils.lockfile() and bb.utils.unlockfile() from Poky
82         - Add support for task selfstamp and lockfiles flags
83         - Disable task number acceleration since it can allow the tasks to run 
84           out of sequence
85         - Improve runqueue code comments
86         - Add task scheduler abstraction and some example schedulers
87         - Improve circular dependency chain debugging code and user feedback
88         - Don't give a stacktrace for invalid tasks, have a user friendly message (#3431)
89         - Add support for "-e target" (#3432)
90         - Fix shell showdata command (#3259)
91         - Fix shell data updating problems (#1880)
92         - Properly raise errors for invalid source URI protocols
93         - Change the wget fetcher failure handling to avoid lockfile problems
94         - Add support for branches in git fetcher (Otavio Salvador, Michael Lauer)
95         - Make taskdata and runqueue errors more user friendly
96         - Add norecurse and fullpath options to cvs fetcher
97         - Fix exit code for build failures in --continue mode
98         - Fix git branch tags fetching
99         - Change parseConfigurationFile so it works on real data, not a copy
100         - Handle 'base' inherit and all other INHERITs from parseConfigurationFile 
101           instead of BBHandler
102         - Fix getVarFlags bug in data_smart
103         - Optmise cache handling by more quickly detecting an invalid cache, only 
104           saving the cache when its changed, moving the cache validity check into
105           the parsing loop and factoring some getVar calls outside a for loop
106         - Cooker: Remove a debug message from the parsing loop to lower overhead
107         - Convert build.py exec_task to use getVarFlags
108         - Update shell to use cooker.buildFile
109         - Add StampUpdate event
110         - Convert -b option to use taskdata/runqueue
111         - Remove digraph and switch to new stamp checking code. exec_task no longer
112           honours dependencies
113         - Make fetcher timestamp updating non-fatal when permissions don't allow 
114           updates
115         - Add BB_SCHEDULER variable/option ("completion" or "speed") controlling
116           the way bitbake schedules tasks
117         - Add BB_STAMP_POLICY variable/option ("perfile" or "full") controlling
118           how extensively stamps are looked at for validity
119         - When handling build target failures make sure idepends are checked and
120           failed where needed. Fixes --continue mode crashes.
121         - Fix -f (force) in conjunction with -b
122
123 Changes in Bitbake 1.8.0:
124         - Release 1.7.x as a stable series
125
126 Changes in BitBake 1.7.x:
127         - Major updates of the dependency handling and execution
128           of tasks. Code from bin/bitbake replaced with runqueue.py
129           and taskdata.py
130         - New task execution code supports multithreading with a simplistic
131           threading algorithm controlled by BB_NUMBER_THREADS
132         - Change of the SVN Fetcher to keep the checkout around
133           courtsey of Paul Sokolovsky (#1367)
134         - PATH fix to bbimage (#1108)
135         - Allow debug domains to be specified on the commandline (-l)
136         - Allow 'interactive' tasks
137         - Logging message improvements
138         - Drop now uneeded BUILD_ALL_DEPS variable
139         - Add support for wildcards to -b option
140         - Major overhaul of the fetchers making a large amount of code common
141           including mirroring code
142         - Fetchers now touch md5 stamps upon access (to show activity)
143         - Fix -f force option when used without -b (long standing bug)
144         - Add expand_cache to data_cache.py, caching expanded data (speedup)
145         - Allow version field in DEPENDS (ignored for now)
146         - Add abort flag support to the shell
147         - Make inherit fail if the class doesn't exist (#1478)
148         - Fix data.emit_env() to expand keynames as well as values
149         - Add ssh fetcher
150         - Add perforce fetcher
151         - Make PREFERRED_PROVIDER_foobar defaults to foobar if available
152         - Share the parser's mtime_cache, reducing the number of stat syscalls
153         - Compile all anonfuncs at once! 
154           *** Anonfuncs must now use common spacing format ***
155         - Memorise the list of handlers in __BBHANDLERS and tasks in __BBTASKS
156           This removes 2 million function calls resulting in a 5-10% speedup
157         - Add manpage
158         - Update generateDotGraph to use taskData/runQueue improving accuracy
159           and also adding a task dependency graph
160         - Fix/standardise on GPLv2 licence
161         - Move most functionality from bin/bitbake to cooker.py and split into
162           separate funcitons
163         - CVS fetcher: Added support for non-default port
164         - Add BBINCLUDELOGS_LINES, the number of lines to read from any logfile
165         - Drop shebangs from lib/bb scripts
166
167 Changes in Bitbake 1.6.0:
168         - Better msg handling
169         - COW dict implementation from Tim Ansell (mithro) leading
170           to better performance
171         - Speed up of -s
172
173 Changes in Bitbake 1.4.4:
174         - SRCDATE now handling courtsey Justin Patrin
175         - #1017 fix to work with rm_work
176
177 Changes in BitBake 1.4.2:
178         - Send logs to oe.pastebin.com instead of pastebin.com
179           fixes #856
180         - Copy the internal bitbake data before building the
181           dependency graph. This fixes nano not having a
182           virtual/libc dependency
183         - Allow multiple TARBALL_STASH entries
184         - Cache, check if the directory exists before changing
185           into it
186         - git speedup cloning by not doing a checkout
187         - allow to have spaces in filenames (.conf, .bb, .bbclass)
188
189 Changes in BitBake 1.4.0:
190         - Fix to check both RDEPENDS and RDEPENDS_${PN}
191         - Fix a RDEPENDS parsing bug in utils:explode_deps()
192         - Update git fetcher behaviour to match git changes
193         - ASSUME_PROVIDED allowed to include runtime packages
194         - git fetcher cleanup and efficency improvements
195         - Change the format of the cache
196         - Update usermanual to document the Fetchers
197         - Major changes to caching with a new strategy
198           giving a major performance increase when reparsing
199           with few data changes
200
201 Changes in BitBake 1.3.3:
202         - Create a new Fetcher module to ease the
203           development of new Fetchers.
204           Issue #438 fixed by rpurdie@openedhand.com
205         - Make the Subversion fetcher honor the SRC Date
206           (CVSDATE).
207           Issue #555 fixed by chris@openedhand.com
208         - Expand PREFERRED_PROVIDER properly
209           Issue #436 fixed by rprudie@openedhand.com
210         - Typo fix for Issue #531 by Philipp Zabel for the
211           BitBake Shell
212         - Introduce a new special variable SRCDATE as
213           a generic naming to replace CVSDATE.
214         - Introduce a new keyword 'required'. In contrast
215           to 'include' parsing will fail if a to be included
216           file can not be found.
217         - Remove hardcoding of the STAMP directory. Patch
218           courtsey pHilipp Zabel
219         - Track the RDEPENDS of each package (rpurdie@openedhand.com)
220         - Introduce BUILD_ALL_DEPS to build all RDEPENDS. E.g
221           this is used by the OpenEmbedded Meta Packages.
222           (rpurdie@openedhand.com).
223
224 Changes in BitBake 1.3.2:
225         - reintegration of make.py into BitBake
226         - bbread is gone, use bitbake -e
227         - lots of shell updates and bugfixes
228         - Introduction of the .= and =. operator
229         - Sort variables, keys and groups in bitdoc
230         - Fix regression in the handling of BBCOLLECTIONS
231         - Update the bitbake usermanual
232
233 Changes in BitBake 1.3.0:
234         - add bitbake interactive shell (bitbake -i)
235         - refactor bitbake utility in OO style
236         - kill default arguments in methods in the bb.data module
237         - kill default arguments in methods in the bb.fetch module
238         - the http/https/ftp fetcher will fail if the to be 
239           downloaded file was not found in DL_DIR (this is needed
240           to avoid unpacking the sourceforge mirror page)
241         - Switch to a cow like data instance for persistent and non
242           persisting mode (called data_smart.py)
243         - Changed the callback of bb.make.collect_bbfiles to carry
244           additional parameters
245         - Drastically reduced the amount of needed RAM by not holding
246           each data instance in memory when using a cache/persistent
247           storage
248
249 Changes in BitBake 1.2.1:
250         The 1.2.1 release is meant as a intermediate release to lay the
251         ground for more radical changes. The most notable changes are:
252
253         - Do not hardcode {}, use bb.data.init() instead if you want to
254           get a instance of a data class
255         - bb.data.init() is a factory and the old bb.data methods are delegates
256         - Do not use deepcopy use bb.data.createCopy() instead.
257         - Removed default arguments in bb.fetch
258