1Changes 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 - Fix problems with recrdeptask handling where some idepends weren't handled 123 correctly. 124 - Handle exit codes correctly (from pH5) 125 - Work around refs/HEAD issues with git over http (#3410) 126 - Add proxy support to the CVS fetcher (from Cyril Chemparathy) 127 - Improve runfetchcmd so errors are seen and various GIT variables are exported 128 - Add ability to fetchers to check URL validity without downloading 129 - Improve runtime PREFERRED_PROVIDERS warning message 130 - Add BB_STAMP_WHITELIST option which contains a list of stamps to ignore when 131 checking stamp dependencies and using a BB_STAMP_POLICY of "whitelist" 132 - No longer weight providers on the basis of a package being "already staged". This 133 leads to builds being non-deterministic. 134 - Flush stdout/stderr before forking to fix duplicate console output 135 - Make sure recrdeps tasks include all inter-task dependencies of a given fn 136 - Add bb.runqueue.check_stamp_fn() for use by packaged-staging 137 - Add PERSISTENT_DIR to store the PersistData in a persistent 138 directory != the cache dir. 139 - Add md5 and sha256 checksum generation functions to utils.py 140 - Correctly handle '-' characters in class names (#2958) 141 - Make sure expandKeys has been called on the data dictionary before running tasks 142 - Correctly add a task override in the form task-TASKNAME. 143 - Revert the '-' character fix in class names since it breaks things 144 - When a regexp fails to compile for PACKAGES_DYNAMIC, print a more useful error (#4444) 145 - Allow to checkout CVS by Date and Time. Just add HHmm to the SRCDATE. 146 - Move prunedir function to utils.py and add explode_dep_versions function 147 - Raise an exception if SRCREV == 'INVALID' 148 - Fix hg fetcher username/password handling and fix crash 149 - Fix PACKAGES_DYNAMIC handling of packages with '++' in the name 150 - Rename __depends to __base_depends after configuration parsing so we don't 151 recheck the validity of the config files time after time 152 - Add better environmental variable handling. By default it will now only pass certain 153 whitelisted variables into the data store. If BB_PRESERVE_ENV is set bitbake will use 154 all variable from the environment. If BB_ENV_WHITELIST is set, that whitelist will be 155 used instead of the internal bitbake one. Alternatively, BB_ENV_EXTRAWHITE can be used 156 to extend the internal whitelist. 157 - Perforce fetcher fix to use commandline options instead of being overriden by the environment 158 - bb.utils.prunedir can cope with symlinks to directoriees without exceptions 159 - use @rev when doing a svn checkout 160 - Add osc fetcher (from Joshua Lock in Poky) 161 - When SRCREV autorevisioning for a recipe is in use, don't cache the recipe 162 - Add tryaltconfigs option to control whether bitbake trys using alternative providers 163 to fulfil failed dependencies. It defaults to off, changing the default since this 164 behaviour confuses many users and isn't often useful. 165 - Improve lock file function error handling 166 - Add username handling to the git fetcher (Robert Bragg) 167 - Add support for HTTP_PROXY and HTTP_PROXY_IGNORE variables to the wget fetcher 168 - Export more variables to the fetcher commands to allow ssh checkouts and checkouts through 169 proxies to work better. (from Poky) 170 - Also allow user and pswd options in SRC_URIs globally (from Poky) 171 - Improve proxy handling when using mirrors (from Poky) 172 - Add bb.utils.prune_suffix function 173 - Fix hg checkouts of specific revisions (from Poky) 174 - Fix wget fetching of urls with parameters specified (from Poky) 175 - Add username handling to git fetcher (from Poky) 176 - Set HOME environmental variable when running fetcher commands (from Poky) 177 - Make sure allowed variables inherited from the environment are exported again (from Poky) 178 - When running a stage task in bbshell, run populate_staging, not the stage task (from Poky) 179 - Fix + character escaping from PACKAGES_DYNAMIC (thanks Otavio Salvador) 180 - Addition of BBCLASSEXTEND support for allowing one recipe to provide multiple targets (from Poky) 181 182Changes in Bitbake 1.8.0: 183 - Release 1.7.x as a stable series 184 185Changes in BitBake 1.7.x: 186 - Major updates of the dependency handling and execution 187 of tasks. Code from bin/bitbake replaced with runqueue.py 188 and taskdata.py 189 - New task execution code supports multithreading with a simplistic 190 threading algorithm controlled by BB_NUMBER_THREADS 191 - Change of the SVN Fetcher to keep the checkout around 192 courtsey of Paul Sokolovsky (#1367) 193 - PATH fix to bbimage (#1108) 194 - Allow debug domains to be specified on the commandline (-l) 195 - Allow 'interactive' tasks 196 - Logging message improvements 197 - Drop now uneeded BUILD_ALL_DEPS variable 198 - Add support for wildcards to -b option 199 - Major overhaul of the fetchers making a large amount of code common 200 including mirroring code 201 - Fetchers now touch md5 stamps upon access (to show activity) 202 - Fix -f force option when used without -b (long standing bug) 203 - Add expand_cache to data_cache.py, caching expanded data (speedup) 204 - Allow version field in DEPENDS (ignored for now) 205 - Add abort flag support to the shell 206 - Make inherit fail if the class doesn't exist (#1478) 207 - Fix data.emit_env() to expand keynames as well as values 208 - Add ssh fetcher 209 - Add perforce fetcher 210 - Make PREFERRED_PROVIDER_foobar defaults to foobar if available 211 - Share the parser's mtime_cache, reducing the number of stat syscalls 212 - Compile all anonfuncs at once! 213 *** Anonfuncs must now use common spacing format *** 214 - Memorise the list of handlers in __BBHANDLERS and tasks in __BBTASKS 215 This removes 2 million function calls resulting in a 5-10% speedup 216 - Add manpage 217 - Update generateDotGraph to use taskData/runQueue improving accuracy 218 and also adding a task dependency graph 219 - Fix/standardise on GPLv2 licence 220 - Move most functionality from bin/bitbake to cooker.py and split into 221 separate funcitons 222 - CVS fetcher: Added support for non-default port 223 - Add BBINCLUDELOGS_LINES, the number of lines to read from any logfile 224 - Drop shebangs from lib/bb scripts 225 226Changes in Bitbake 1.6.0: 227 - Better msg handling 228 - COW dict implementation from Tim Ansell (mithro) leading 229 to better performance 230 - Speed up of -s 231 232Changes in Bitbake 1.4.4: 233 - SRCDATE now handling courtsey Justin Patrin 234 - #1017 fix to work with rm_work 235 236Changes in BitBake 1.4.2: 237 - Send logs to oe.pastebin.com instead of pastebin.com 238 fixes #856 239 - Copy the internal bitbake data before building the 240 dependency graph. This fixes nano not having a 241 virtual/libc dependency 242 - Allow multiple TARBALL_STASH entries 243 - Cache, check if the directory exists before changing 244 into it 245 - git speedup cloning by not doing a checkout 246 - allow to have spaces in filenames (.conf, .bb, .bbclass) 247 248Changes in BitBake 1.4.0: 249 - Fix to check both RDEPENDS and RDEPENDS_${PN} 250 - Fix a RDEPENDS parsing bug in utils:explode_deps() 251 - Update git fetcher behaviour to match git changes 252 - ASSUME_PROVIDED allowed to include runtime packages 253 - git fetcher cleanup and efficency improvements 254 - Change the format of the cache 255 - Update usermanual to document the Fetchers 256 - Major changes to caching with a new strategy 257 giving a major performance increase when reparsing 258 with few data changes 259 260Changes in BitBake 1.3.3: 261 - Create a new Fetcher module to ease the 262 development of new Fetchers. 263 Issue #438 fixed by rpurdie@openedhand.com 264 - Make the Subversion fetcher honor the SRC Date 265 (CVSDATE). 266 Issue #555 fixed by chris@openedhand.com 267 - Expand PREFERRED_PROVIDER properly 268 Issue #436 fixed by rprudie@openedhand.com 269 - Typo fix for Issue #531 by Philipp Zabel for the 270 BitBake Shell 271 - Introduce a new special variable SRCDATE as 272 a generic naming to replace CVSDATE. 273 - Introduce a new keyword 'required'. In contrast 274 to 'include' parsing will fail if a to be included 275 file can not be found. 276 - Remove hardcoding of the STAMP directory. Patch 277 courtsey pHilipp Zabel 278 - Track the RDEPENDS of each package (rpurdie@openedhand.com) 279 - Introduce BUILD_ALL_DEPS to build all RDEPENDS. E.g 280 this is used by the OpenEmbedded Meta Packages. 281 (rpurdie@openedhand.com). 282 283Changes in BitBake 1.3.2: 284 - reintegration of make.py into BitBake 285 - bbread is gone, use bitbake -e 286 - lots of shell updates and bugfixes 287 - Introduction of the .= and =. operator 288 - Sort variables, keys and groups in bitdoc 289 - Fix regression in the handling of BBCOLLECTIONS 290 - Update the bitbake usermanual 291 292Changes in BitBake 1.3.0: 293 - add bitbake interactive shell (bitbake -i) 294 - refactor bitbake utility in OO style 295 - kill default arguments in methods in the bb.data module 296 - kill default arguments in methods in the bb.fetch module 297 - the http/https/ftp fetcher will fail if the to be 298 downloaded file was not found in DL_DIR (this is needed 299 to avoid unpacking the sourceforge mirror page) 300 - Switch to a cow like data instance for persistent and non 301 persisting mode (called data_smart.py) 302 - Changed the callback of bb.make.collect_bbfiles to carry 303 additional parameters 304 - Drastically reduced the amount of needed RAM by not holding 305 each data instance in memory when using a cache/persistent 306 storage 307 308Changes in BitBake 1.2.1: 309 The 1.2.1 release is meant as a intermediate release to lay the 310 ground for more radical changes. The most notable changes are: 311 312 - Do not hardcode {}, use bb.data.init() instead if you want to 313 get a instance of a data class 314 - bb.data.init() is a factory and the old bb.data methods are delegates 315 - Do not use deepcopy use bb.data.createCopy() instead. 316 - Removed default arguments in bb.fetch 317 318