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