diff options
Diffstat (limited to 'bitbake/lib/bb/data.py')
-rw-r--r-- | bitbake/lib/bb/data.py | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py index 14f1d896d7..9782c9f546 100644 --- a/bitbake/lib/bb/data.py +++ b/bitbake/lib/bb/data.py | |||
@@ -337,6 +337,12 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False): | |||
337 | if getVarFlag(var, "python", d): | 337 | if getVarFlag(var, "python", d): |
338 | return 0 | 338 | return 0 |
339 | 339 | ||
340 | export = getVarFlag(var, "export", d) | ||
341 | unexport = getVarFlag(var, "unexport", d) | ||
342 | func = getVarFlag(var, "func", d) | ||
343 | if not all and not export and not unexport and not func: | ||
344 | return 0 | ||
345 | |||
340 | try: | 346 | try: |
341 | if all: | 347 | if all: |
342 | oval = getVar(var, d, 0) | 348 | oval = getVar(var, d, 0) |
@@ -362,28 +368,28 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False): | |||
362 | if (var.find("-") != -1 or var.find(".") != -1 or var.find('{') != -1 or var.find('}') != -1 or var.find('+') != -1) and not all: | 368 | if (var.find("-") != -1 or var.find(".") != -1 or var.find('{') != -1 or var.find('}') != -1 or var.find('+') != -1) and not all: |
363 | return 0 | 369 | return 0 |
364 | 370 | ||
371 | varExpanded = expand(var, d) | ||
372 | |||
373 | if unexport: | ||
374 | o.write('unset %s\n' % varExpanded) | ||
375 | return 1 | ||
376 | |||
365 | val.rstrip() | 377 | val.rstrip() |
366 | if not val: | 378 | if not val: |
367 | return 0 | 379 | return 0 |
368 | |||
369 | varExpanded = expand(var, d) | ||
370 | 380 | ||
371 | if getVarFlag(var, "func", d): | 381 | if func: |
372 | # NOTE: should probably check for unbalanced {} within the var | 382 | # NOTE: should probably check for unbalanced {} within the var |
373 | o.write("%s() {\n%s\n}\n" % (varExpanded, val)) | 383 | o.write("%s() {\n%s\n}\n" % (varExpanded, val)) |
374 | else: | 384 | return 1 |
375 | if getVarFlag(var, "unexport", d): | 385 | |
376 | o.write('unset %s\n' % varExpanded) | 386 | if export: |
377 | return 1 | 387 | o.write('export ') |
378 | if getVarFlag(var, "export", d): | 388 | |
379 | o.write('export ') | 389 | # if we're going to output this within doublequotes, |
380 | else: | 390 | # to a shell, we need to escape the quotes in the var |
381 | if not all: | 391 | alter = re.sub('"', '\\"', val.strip()) |
382 | return 0 | 392 | o.write('%s="%s"\n' % (varExpanded, alter)) |
383 | # if we're going to output this within doublequotes, | ||
384 | # to a shell, we need to escape the quotes in the var | ||
385 | alter = re.sub('"', '\\"', val.strip()) | ||
386 | o.write('%s="%s"\n' % (varExpanded, alter)) | ||
387 | return 1 | 393 | return 1 |
388 | 394 | ||
389 | 395 | ||