diff options
| author | Richard Purdie <rpurdie@linux.intel.com> | 2010-01-20 18:46:02 +0000 |
|---|---|---|
| committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-01-20 18:46:02 +0000 |
| commit | 22c29d8651668195f72e2f6a8e059d625eb511c3 (patch) | |
| tree | dd1dd43f0ec47a9964c8a766eb8b3ad75cf51a64 /bitbake | |
| parent | 1bfd6edef9db9c9175058ae801d1b601e4f15263 (diff) | |
| download | openembedded-core-22c29d8651668195f72e2f6a8e059d625eb511c3.tar.gz openembedded-core-22c29d8651668195f72e2f6a8e059d625eb511c3.tar.bz2 openembedded-core-22c29d8651668195f72e2f6a8e059d625eb511c3.zip | |
bitbake: Switch to bitbake-dev version (bitbake master upstream)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'bitbake')
45 files changed, 4948 insertions, 956 deletions
diff --git a/bitbake/AUTHORS b/bitbake/AUTHORS index 9d592608bb..a4014b1e39 100644 --- a/bitbake/AUTHORS +++ b/bitbake/AUTHORS @@ -2,7 +2,7 @@ Tim Ansell <mithro@mithis.net> Phil Blundell <pb@handhelds.org> Seb Frankengul <seb@frankengul.org> Holger Freyther <zecke@handhelds.org> -Marcin Juszkiewicz <marcin@haerwu.biz> +Marcin Juszkiewicz <marcin@juszkiewicz.com.pl> Chris Larson <kergoth@handhelds.org> Ulrich Luckas <luckas@musoft.de> Mickey Lauer <mickey@Vanille.de> diff --git a/bitbake/ChangeLog b/bitbake/ChangeLog index 9fe3bf3d83..22124cb7ea 100644 --- a/bitbake/ChangeLog +++ b/bitbake/ChangeLog @@ -1,8 +1,99 @@ -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 +Changes in Bitbake 1.9.x: + - Add PE (Package Epoch) support from Philipp Zabel (pH5) + - Treat python functions the same as shell functions for logging + - Use TMPDIR/anonfunc as a __anonfunc temp directory (T) + - Catch truncated cache file errors + - Allow operations other than assignment on flag variables + - Add code to handle inter-task dependencies + - Fix cache errors when generation dotGraphs + - 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) + - Promote certain warnings from debug to note 2 level + - Update manual + - Correctly redirect stdin when forking + - If parsing errors are found, exit, too many users miss the errors + - Remove supriours PREFERRED_PROVIDER warnings + - svn fetcher: Add _buildsvncommand function + - Improve certain error messages + - 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) + - Add ConfigParsed Event after configuration parsing is complete + - Add SRCREV support for svn fetcher + - 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 + - Fix handling of variables with expansion in the name using _append/_prepend + e.g. RRECOMMENDS_${PN}_append_xyz = "abc" + - Add plain message function to bb.msg + - Sort the list of providers before processing so dependency problems are + reproducible rather than effectively random + - Fix/improve bitbake -s output + - 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 + - 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 + - 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) + - Psyco is used only on x86 as there is no support for other architectures. + - 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) + - Don't add duplicates to BBPATH + - Fix preferred_version return values (providers.py) + - 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 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 - 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 @@ -27,8 +118,10 @@ Changes in BitBake 1.8.12: 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 -f (force) in conjunction with -b - Fix problems with recrdeptask handling where some idepends weren't handled correctly. + - Handle exit codes correctly (from pH5) - 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 @@ -44,7 +137,6 @@ Changes in BitBake 1.8.12: - 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. @@ -63,6 +155,7 @@ Changes in BitBake 1.8.12: 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 + - bb.utils.prunedir can cope with symlinks to directoriees without exceptions - 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 @@ -76,109 +169,15 @@ Changes in BitBake 1.8.12: 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 + - Add bb.utils.prune_suffix function + - Fix hg checkouts of specific revisions (from Poky) + - Fix wget fetching of urls with parameters specified (from Poky) + - Add username handling to git fetcher (from Poky) + - Set HOME environmental variable when running fetcher commands (from Poky) + - Make sure allowed variables inherited from the environment are exported again (from Poky) + - When running a stage task in bbshell, run populate_staging, not the stage task (from Poky) + - Fix + character escaping from PACKAGES_DYNAMIC (thanks Otavio Salvador) + - Addition of BBCLASSEXTEND support for allowing one recipe to provide multiple targets (from Poky) Changes in Bitbake 1.8.0: - Release 1.7.x as a stable series diff --git a/bitbake/MANIFEST b/bitbake/MANIFEST deleted file mode 100644 index 39e8017759..0000000000 --- a/bitbake/MANIFEST +++ /dev/null @@ -1,53 +0,0 @@ -AUTHORS -COPYING -ChangeLog -MANIFEST -setup.py -bin/bitdoc -bin/bbimage -bin/bitbake -lib/bb/__init__.py -lib/bb/build.py -lib/bb/cache.py -lib/bb/cooker.py -lib/bb/COW.py -lib/bb/data.py -lib/bb/data_smart.py -lib/bb/event.py -lib/bb/fetch/__init__.py -lib/bb/fetch/bzr.py -lib/bb/fetch/cvs.py -lib/bb/fetch/git.py -lib/bb/fetch/hg.py -lib/bb/fetch/local.py -lib/bb/fetch/osc.py -lib/bb/fetch/perforce.py -lib/bb/fetch/ssh.py -lib/bb/fetch/svk.py -lib/bb/fetch/svn.py -lib/bb/fetch/wget.py -lib/bb/manifest.py -lib/bb/methodpool.py -lib/bb/msg.py -lib/bb/parse/__init__.py -lib/bb/parse/parse_py/__init__.py -lib/bb/parse/parse_py/BBHandler.py -lib/bb/parse/parse_py/ConfHandler.py -lib/bb/persist_data.py -lib/bb/providers.py -lib/bb/runqueue.py -lib/bb/shell.py -lib/bb/taskdata.py -lib/bb/utils.py -setup.py -doc/COPYING.GPL -doc/COPYING.MIT -doc/bitbake.1 -doc/manual/html.css -doc/manual/Makefile -doc/manual/usermanual.xml -contrib/bbdev.sh -contrib/vim/syntax/bitbake.vim -contrib/vim/ftdetect/bitbake.vim -conf/bitbake.conf -classes/base.bbclass diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake index 842ba0441e..23c9d73ee4 100755 --- a/bitbake/bin/bitbake +++ b/bitbake/bin/bitbake @@ -22,12 +22,18 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -import sys, os, getopt, re, time, optparse +import sys, os, getopt, re, time, optparse, xmlrpclib sys.path.insert(0,os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib')) import bb from bb import cooker +from bb import ui -__version__ = "1.8.13" + +__version__ = "1.9.0" + +if sys.hexversion < 0x020500F0: + print "Sorry, python 2.5 or later is required for this version of bitbake" + sys.exit(1) #============================================================================# # BBOptions @@ -41,11 +47,28 @@ class BBConfiguration( object ): setattr( self, key, val ) +def print_exception(exc, value, tb): + """ + Print the exception to stderr, only showing the traceback if bitbake + debugging is enabled. + """ + if not bb.msg.debug_level['default']: + tb = None + + sys.__excepthook__(exc, value, tb) + + #============================================================================# # main #============================================================================# def main(): + return_value = 0 + pythonver = sys.version_info + if pythonver[0] < 2 or (pythonver[0] == 2 and pythonver[1] < 5): + print "Sorry, bitbake needs python 2.5 or later." + sys.exit(1) + parser = optparse.OptionParser( version = "BitBake Build Tool Core version %s, %%prog version %s" % ( bb.__version__, __version__ ), usage = """%prog [options] [package ...] @@ -99,8 +122,8 @@ Default BBFILES are the .bb files in the current directory.""" ) parser.add_option( "-g", "--graphviz", help = "emit the dependency trees of the specified packages in the dot syntax", action = "store_true", dest = "dot_graph", default = False ) - parser.add_option( "-I", "--ignore-deps", help = """Stop processing at the given list of dependencies when generating dependency graphs. This can help to make the graph more appealing""", - action = "append", dest = "ignored_dot_deps", default = [] ) + parser.add_option( "-I", "--ignore-deps", help = """Assume these dependencies don't exist and are already provided (equivalent to ASSUME_PROVIDED). Useful to make dependency graphs more appealing""", + action = "append", dest = "extra_assume_provided", default = [] ) parser.add_option( "-l", "--log-domains", help = """Show debug logging for the specified logging domains""", action = "append", dest = "debug_domains", default = [] ) @@ -108,6 +131,9 @@ Default BBFILES are the .bb files in the current directory.""" ) parser.add_option( "-P", "--profile", help = "profile the command and print a report", action = "store_true", dest = "profile", default = False ) + parser.add_option( "-u", "--ui", help = "userinterface to use", + action = "store", dest = "ui") + parser.add_option( "", "--revisions-changed", help = "Set the exit code depending on whether upstream floating revisions have changed or not", action = "store_true", dest = "revisions_changed", default = False ) @@ -117,30 +143,53 @@ Default BBFILES are the .bb files in the current directory.""" ) configuration.pkgs_to_build = [] configuration.pkgs_to_build.extend(args[1:]) - cooker = bb.cooker.BBCooker(configuration) + #server = bb.server.xmlrpc + server = bb.server.none + + # Save a logfile for cooker into the current working directory. When the + # server is daemonized this logfile will be truncated. + cooker_logfile = os.path.join (os.getcwd(), "cooker.log") + + cooker = bb.cooker.BBCooker(configuration, server) # Clear away any spurious environment variables. But don't wipe the - # environment totally. + # environment totally. This is necessary to ensure the correct operation + # of the UIs (e.g. for DISPLAY, etc.) bb.utils.clean_environment() - cooker.parseConfiguration() - - if configuration.profile: - try: - import cProfile as profile - except: - import profile - - profile.runctx("cooker.cook()", globals(), locals(), "profile.log") - import pstats - p = pstats.Stats('profile.log') - p.sort_stats('time') - p.print_stats() - p.print_callers() - p.sort_stats('cumulative') - p.print_stats() + cooker.parseCommandLine() + + serverinfo = server.BitbakeServerInfo(cooker.server) + + server.BitBakeServerFork(serverinfo, cooker.serve, cooker_logfile) + del cooker + + sys.excepthook = print_exception + + # Setup a connection to the server (cooker) + serverConnection = server.BitBakeServerConnection(serverinfo) + + # Launch the UI + if configuration.ui: + ui = configuration.ui else: - cooker.cook() + ui = "knotty" + + try: + # Dynamically load the UI based on the ui name. Although we + # suggest a fixed set this allows you to have flexibility in which + # ones are available. + exec "from bb.ui import " + ui + exec "return_value = " + ui + ".init(serverConnection.connection, serverConnection.events)" + except ImportError: + print "FATAL: Invalid user interface '%s' specified. " % ui + print "Valid interfaces are 'ncurses', 'depexp' or the default, 'knotty'." + except Exception, e: + print "FATAL: Unable to start to '%s' UI: %s." % (configuration.ui, e.message) + finally: + serverConnection.terminate() + return return_value if __name__ == "__main__": - main() + ret = main() + sys.exit(ret) diff --git a/bitbake/bin/bitdoc b/bitbake/bin/bitdoc index 3bcc9b344b..4940f660a6 100755 --- a/bitbake/bin/bitdoc +++ b/bitbake/bin/bitdoc @@ -453,6 +453,8 @@ def main(): except bb.parse.ParseError: bb.fatal( "Unable to parse %s" % config_file ) + if isinstance(documentation, dict): + documentation = documentation[""] # Assuming we've the file loaded now, we will initialize the 'tree' doc = Documentation() diff --git a/bitbake/contrib/vim/syntax/bitbake.vim b/bitbake/contrib/vim/syntax/bitbake.vim index 43a1990b0b..be55980b3a 100644 --- a/bitbake/contrib/vim/syntax/bitbake.vim +++ b/bitbake/contrib/vim/syntax/bitbake.vim @@ -16,12 +16,17 @@ endif syn case match - " Catch incorrect syntax (only matches if nothing else does) " syn match bbUnmatched "." +syn include @python syntax/python.vim +if exists("b:current_syntax") + unlet b:current_syntax +endif + + " Other syn match bbComment "^#.*$" display contains=bbTodo @@ -34,21 +39,25 @@ syn match bbArrayBrackets "[\[\]]" contained " BitBake strings syn match bbContinue "\\$" -syn region bbString matchgroup=bbQuote start=/"/ skip=/\\$/ excludenl end=/"/ contained keepend contains=bbTodo,bbContinue,bbVarDeref -syn region bbString matchgroup=bbQuote start=/'/ skip=/\\$/ excludenl end=/'/ contained keepend contains=bbTodo,bbContinue,bbVarDeref - +syn region bbString matchgroup=bbQuote start=/"/ skip=/\\$/ excludenl end=/"/ contained keepend contains=bbTodo,bbContinue,bbVarInlinePy,bbVarDeref +syn region bbString matchgroup=bbQuote start=/'/ skip=/\\$/ excludenl end=/'/ contained keepend contains=bbTodo,bbContinue,bbVarInlinePy,bbVarDeref " BitBake variable metadata +syn match bbVarBraces "[\${}]" +syn region bbVarDeref matchgroup=bbVarBraces start="${" end="}" contained +" syn region bbVarDeref start="${" end="}" contained +" syn region bbVarInlinePy start="${@" end="}" contained contains=@python +syn region bbVarInlinePy matchgroup=bbVarBraces start="${@" end="}" contained contains=@python + syn keyword bbExportFlag export contained nextgroup=bbIdentifier skipwhite -syn match bbVarDeref "${[a-zA-Z0-9\-_\.]\+}" contained -syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.]\+\(_[${}a-zA-Z0-9\-_\.]\+\)\?\)\s*\(:=\|+=\|=+\|\.=\|=\.\|?=\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbVarDeref nextgroup=bbVarEq +" syn match bbVarDeref "${[a-zA-Z0-9\-_\.]\+}" contained +syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.]\+\(_[${}a-zA/-Z0-9\-_\.]\+\)\?\)\s*\(:=\|+=\|=+\|\.=\|=\.\|?=\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbVarDeref nextgroup=bbVarEq -syn match bbIdentifier "[a-zA-Z0-9\-_\.]\+" display contained +syn match bbIdentifier "[a-zA-Z0-9\-_\./]\+" display contained "syn keyword bbVarEq = display contained nextgroup=bbVarValue syn match bbVarEq "\(:=\|+=\|=+\|\.=\|=\.\|?=\|=\)" contained nextgroup=bbVarValue -syn match bbVarValue ".*$" contained contains=bbString,bbVarDeref - +syn match bbVarValue ".*$" contained contains=bbString " BitBake variable metadata flags syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag @@ -61,10 +70,6 @@ syn match bbFunction "\h\w*" display contained " BitBake python metadata -syn include @python syntax/python.vim -if exists("b:current_syntax") - unlet b:current_syntax -endif syn keyword bbPythonFlag python contained nextgroup=bbFunction syn match b |
