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