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