Changes in BitBake 1.8.x: - Add bb.utils.prune_suffix function Changes in BitBake 1.8.12: - Fix -f (force) in conjunction with -b - Fix exit code for build failures in --continue mode - Fix git branch tags fetching - Change parseConfigurationFile so it works on real data, not a copy - Handle 'base' inherit and all other INHERITs from parseConfigurationFile instead of BBHandler - Fix getVarFlags bug in data_smart - Optmise cache handling by more quickly detecting an invalid cache, only saving the cache when its changed, moving the cache validity check into the parsing loop and factoring some getVar calls outside a for loop - Cooker: Remove a debug message from the parsing loop to lower overhead - Convert build.py exec_task to use getVarFlags - Update shell to use cooker.buildFile - Add StampUpdate event - Convert -b option to use taskdata/runqueue - Remove digraph and switch to new stamp checking code. exec_task no longer honours dependencies - Make fetcher timestamp updating non-fatal when permissions don't allow updates - Add BB_SCHEDULER variable/option ("completion" or "speed") controlling the way bitbake schedules tasks - Add BB_STAMP_POLICY variable/option ("perfile" or "full") controlling how extensively stamps are looked at for validity - When handling build target failures make sure idepends are checked and failed where needed. Fixes --continue mode crashes. - Fix problems with recrdeptask handling where some idepends weren't handled correctly. - Work around refs/HEAD issues with git over http (#3410) - Add proxy support to the CVS fetcher (from Cyril Chemparathy) - Improve runfetchcmd so errors are seen and various GIT variables are exported - Add ability to fetchers to check URL validity without downloading - Improve runtime PREFERRED_PROVIDERS warning message - Add BB_STAMP_WHITELIST option which contains a list of stamps to ignore when checking stamp dependencies and using a BB_STAMP_POLICY of "whitelist" - No longer weight providers on the basis of a package being "already staged". This leads to builds being non-deterministic. - Flush stdout/stderr before forking to fix duplicate console output - Make sure recrdeps tasks include all inter-task dependencies of a given fn - Add bb.runqueue.check_stamp_fn() for use by packaged-staging - Add PERSISTENT_DIR to store the PersistData in a persistent directory != the cache dir. - Add md5 and sha256 checksum generation functions to utils.py - Make sure Build Completed events are generated even when tasks fail - Correctly handle '-' characters in class names (#2958) - Make sure expandKeys has been called on the data dictonary before running tasks - Correctly add a task override in the form task-TASKNAME. - Revert the '-' character fix in class names since it breaks things - When a regexp fails to compile for PACKAGES_DYNAMIC, print a more useful error (#4444) - Allow to checkout CVS by Date and Time. Just add HHmm to the SRCDATE. - Move prunedir function to utils.py and add explode_dep_versions function - Raise an exception if SRCREV == 'INVALID' - Fix hg fetcher username/password handling and fix crash - Fix PACKAGES_DYNAMIC handling of packages with '++' in the name - Rename __depends to __base_depends after configuration parsing so we don't recheck the validity of the config files time after time - Add better environmental variable handling. By default it will now only pass certain whitelisted variables into the data store. If BB_PRESERVE_ENV is set bitbake will use all variable from the environment. If BB_ENV_WHITELIST is set, that whitelist will be used instead of the internal bitbake one. Alternatively, BB_ENV_EXTRAWHITE can be used to extend the internal whitelist. - Perforce fetcher fix to use commandline options instead of being overriden by the environment - use @rev when doing a svn checkout - Add osc fetcher (from Joshua Lock in Poky) - When SRCREV autorevisioning for a recipe is in use, don't cache the recipe - Add tryaltconfigs option to control whether bitbake trys using alternative providers to fulfil failed dependencies. It defaults to off, changing the default since this behaviour confuses many users and isn't often useful. - Improve lock file function error handling - Add username handling to the git fetcher (Robert Bragg) - Add support for HTTP_PROXY and HTTP_PROXY_IGNORE variables to the wget fetcher - Export more variables to the fetcher commands to allow ssh checkouts and checkouts through proxies to work better. (from Poky) - Also allow user and pswd options in SRC_URIs globally (from Poky) - Improve proxy handling when using mirrors (from Poky) Changes in BitBake 1.8.10: - Psyco is available only for x86 - do not use it on other architectures. - Fix a bug in bb.decodeurl where http://some.where.com/somefile.tgz decoded to host="" (#1530) - Warn about malformed PREFERRED_PROVIDERS (#1072) - Add support for BB_NICE_LEVEL option (#1627) - Sort initial providers list by default preference (#1145, #2024) - Improve provider sorting so prefered versions have preference over latest versions (#768) - Detect builds of tasks with overlapping providers and warn (will become a fatal error) (#1359) - Add MULTI_PROVIDER_WHITELIST variable to allow known safe multiple providers to be listed - Handle paths in svn fetcher module parameter - Support the syntax "export VARIABLE" - Add bzr fetcher - Add support for cleaning directories before a task in the form: do_taskname[cleandirs] = "dir" - bzr fetcher tweaks from Robert Schuster (#2913) - Add mercurial (hg) fetcher from Robert Schuster (#2913) - Fix bogus preferred_version return values - Fix 'depends' flag splitting - Fix unexport handling (#3135) - Add bb.copyfile function similar to bb.movefile (and improve movefile error reporting) - Allow multiple options for deptask flag - Use git-fetch instead of git-pull removing any need for merges when fetching (we don't care about the index). Fixes fetch errors. - Add BB_GENERATE_MIRROR_TARBALLS option, set to 0 to make git fetches faster at the expense of not creating mirror tarballs. - SRCREV handling updates, improvements and fixes from Poky - Add bb.utils.lockfile() and bb.utils.unlockfile() from Poky - Add support for task selfstamp and lockfiles flags - Disable task number acceleration since it can allow the tasks to run out of sequence - Improve runqueue code comments - Add task scheduler abstraction and some example schedulers - Improve circular dependency chain debugging code and user feedback - Don't give a stacktrace for invalid tasks, have a user friendly message (#3431) - Add support for "-e target" (#3432) - Fix shell showdata command (#3259) - Fix shell data updating problems (#1880) - Properly raise errors for invalid source URI protocols - Change the wget fetcher failure handling to avoid lockfile problems - Add git branch support - Add support for branches in git fetcher (Otavio Salvador, Michael Lauer) - Make taskdata and runqueue errors more user friendly - Add norecurse and fullpath options to cvs fetcher - bb.utils.prunedir can cope with symlinks to directories without exceptions Changes in Bitbake 1.8.8: - Rewrite svn fetcher to make adding extra operations easier as part of future SRCDATE="now" fixes (requires new FETCHCMD_svn definition in bitbake.conf) - Change SVNDIR layout to be more unique (fixes #2644 and #2624) - Import persistent data store from trunk - Sync fetcher code with that in trunk, adding SRCREV support for svn - Add ConfigParsed Event after configuration parsing is complete - data.emit_var() - only call getVar if we need the variable - Stop generating the A variable (seems to be legacy code) - Make sure intertask depends get processed correcting in recursive depends - Add pn-PN to overrides when evaluating PREFERRED_VERSION - Improve the progress indicator by skipping tasks that have already run before starting the build rather than during it - Add profiling option (-P) - Add BB_SRCREV_POLICY variable (clear or cache) to control SRCREV cache - Add SRCREV_FORMAT support - Fix local fetcher's localpath return values - Apply OVERRIDES before performing immediate expansions - Allow the -b -e option combination to take regular expressions - Add plain message function to bb.msg - Sort the list of providers before processing so dependency problems are reproducible rather than effectively random - Add locking for fetchers so only one tries to fetch a given file at a given time - Fix int(0)/None confusion in runqueue.py which causes random gaps in dependency chains - Fix handling of variables with expansion in the name using _append/_prepend e.g. RRECOMMENDS_${PN}_append_xyz = "abc" - Expand data in addtasks - Print the list of missing DEPENDS,RDEPENDS for the "No buildable providers available for required...." error message. - Rework add_task to be more efficient (6% speedup, 7% number of function calls reduction) - Sort digraph output to make builds more reproducible - Split expandKeys into two for loops to benefit from the expand_cache (12% speedup) - runqueue.py: Fix idepends handling to avoid dependency errors - Clear the terminal TOSTOP flag if set (and warn the user) - Fix regression from r653 and make SRCDATE/CVSDATE work for packages again Changes in Bitbake 1.8.6: - Correctly redirect stdin when forking - If parsing errors are found, exit, too many users miss the errors - Remove supriours PREFERRED_PROVIDER warnings Changes in Bitbake 1.8.4: - Make sure __inherit_cache is updated before calling include() (from Michael Krelin) - Fix bug when target was in ASSUME_PROVIDED (#2236) - Raise ParseError for filenames with multiple underscores instead of infinitely looping (#2062) - Fix invalid regexp in BBMASK error handling (missing import) (#1124) - Don't run build sanity checks on incomplete builds - Promote certain warnings from debug to note 2 level - Update manual Changes in Bitbake 1.8.2: - Catch truncated cache file errors - Add PE (Package Epoch) support from Philipp Zabel (pH5) - Add code to handle inter-task dependencies - Allow operations other than assignment on flag variables - Fix cache errors when generation dotGraphs Changes in Bitbake 1.8.0: - Release 1.7.x as a stable series Changes in BitBake 1.7.x: - Major updates of the dependency handling and execution of tasks. Code from bin/bitbake replaced with runqueue.py and taskdata.py - New task execution code supports multithreading with a simplistic threading algorithm controlled by BB_NUMBER_THREADS - Change of the SVN Fetcher to keep the checkout around courtsey of Paul Sokolovsky (#1367) - PATH fix to bbimage (#1108) - Allow debug domains to be specified on the commandline (-l) - Allow 'interactive' tasks - Logging message improvements - Drop now uneeded BUILD_ALL_DEPS variable - Add support for wildcards to -b option - Major overhaul of the fetchers making a large amount of code common including mirroring code - Fetchers now touch md5 stamps upon access (to show activity) - Fix -f force option when used without -b (long standing bug) - Add expand_cache to data_cache.py, caching expanded data (speedup) - Allow version field in DEPENDS (ignored for now) - Add abort flag support to the shell - Make inherit fail if the class doesn't exist (#1478) - Fix data.emit_env() to expand keynames as well as values - Add ssh fetcher - Add perforce fetcher - Make PREFERRED_PROVIDER_foobar defaults to foobar if available - Share the parser's mtime_cache, reducing the number of stat syscalls - Compile all anonfuncs at once! *** Anonfuncs must now use common spacing format *** - Memorise the list of handlers in __BBHANDLERS and tasks in __BBTASKS This removes 2 million function calls resulting in a 5-10% speedup - Add manpage - Update generateDotGraph to use taskData/runQueue improving accuracy and also adding a task dependency graph - Fix/standardise on GPLv2 licence - Move most functionality from bin/bitbake to cooker.py and split into separate funcitons - CVS fetcher: Added support for non-default port - Add BBINCLUDELOGS_LINES, the number of lines to read from any logfile - Drop shebangs from lib/bb scripts Changes in Bitbake 1.6.0: - Better msg handling - COW dict implementation from Tim Ansell (mithro) leading to better performance - Speed up of -s Changes in Bitbake 1.4.4: - SRCDATE now handling courtsey Justin Patrin - #1017 fix to work with rm_work Changes in BitBake 1.4.2: - Send logs to oe.pastebin.com instead of pastebin.com fixes #856 - Copy the internal bitbake data before building the dependency graph. This fixes nano not having a virtual/libc dependency - Allow multiple TARBALL_STASH entries - Cache, check if the directory exists before changing into it - git speedup cloning by not doing a checkout - allow to have spaces in filenames (.conf, .bb, .bbclass) Changes in BitBake 1.4.0: - Fix to check both RDEPENDS and RDEPENDS_${PN} - Fix a RDEPENDS parsing bug in utils:explode_deps() - Update git fetcher behaviour to match git changes - ASSUME_PROVIDED allowed to include runtime packages - git fetcher cleanup and efficency improvements - Change the format of the cache - Update usermanual to document the Fetchers - Major changes to caching with a new strategy giving a major performance increase when reparsing with few data changes Changes in BitBake 1.3.3: - Create a new Fetcher module to ease the development of new Fetchers. Issue #438 fixed by rpurdie@openedhand.com - Make the Subversion fetcher honor the SRC Date (CVSDATE). Issue #555 fixed by chris@openedhand.com - Expand PREFERRED_PROVIDER properly Issue #436 fixed by rprudie@openedhand.com - Typo fix for Issue #531 by Philipp Zabel for the BitBake Shell - Introduce a new special variable SRCDATE as a generic naming to replace CVSDATE. - Introduce a new keyword 'required'. In contrast to 'include' parsing will fail if a to be included file can not be found. - Remove hardcoding of the STAMP directory. Patch courtsey pHilipp Zabel - Track the RDEPENDS of each package (rpurdie@openedhand.com) - Introduce BUILD_ALL_DEPS to build all RDEPENDS. E.g this is used by the OpenEmbedded Meta Packages. (rpurdie@openedhand.com). Changes in BitBake 1.3.2: - reintegration of make.py into BitBake - bbread is gone, use bitbake -e - lots of shell updates and bugfixes - Introduction of the .= and =. operator - Sort variables, keys and groups in bitdoc - Fix regression in the handling of BBCOLLECTIONS - Update the bitbake usermanual Changes in BitBake 1.3.0: - add bitbake interactive shell (bitbake -i) - refactor bitbake utility in OO style - kill default arguments in methods in the bb.data module - kill default arguments in methods in the bb.fetch module - the http/https/ftp fetcher will fail if the to be downloaded file was not found in DL_DIR (this is needed to avoid unpacking the sourceforge mirror page) - Switch to a cow like data instance for persistent and non persisting mode (called data_smart.py) - Changed the callback of bb.make.collect_bbfiles to carry additional parameters - Drastically reduced the amount of needed RAM by not holding each data instance in memory when using a cache/persistent storage Changes in BitBake 1.2.1: The 1.2.1 release is meant as a intermediate release to lay the ground for more radical changes. The most notable changes are: - Do not hardcode {}, use bb.data.init() instead if you want to get a instance of a data class - bb.data.init() is a factory and the old bb.data methods are delegates - Do not use deepcopy use bb.data.createCopy() instead. - Removed default arguments in bb.fetch a id='n377' href='#n377'>377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220