dev-manual: Added note about BitBake processing brace characters.

Fixes YOCTO #3403

Provided a note at the front of the "Adding a Package" section
explaining the exception when using a closed curly brace character
inside a shell function with the character at the front of a
line with no leading spaces.

(From yocto-docs rev: a1c0972083751444a8cc89aa8a026f273d98e23e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2013-03-01 15:40:05 -06:00 committed by Richard Purdie
parent d8e26e2b9f
commit 2997653fe3
1 changed files with 36 additions and 0 deletions

View File

@ -726,6 +726,42 @@
types of packages.
</para>
<note>
<para>When writing shell functions, you need to be aware of BitBake's
curly brace parsing.
If a recipe uses a closing curly brace within the function and
the character has no leading spaces, BitBake produces a parsing
error.
If you use a pair of curly brace in a shell function, the
closing curly brace must not be located at the start of the line
without leading spaces.</para>
<para>Here is an example that causes BitBake to produce a parsing
error:
<literallayout class='monospaced'>
fakeroot create_shar() {
cat &lt;&lt; "EOF" &gt; ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh
usage()
{
echo "test"
###### The following "}" at the start of the line causes a parsing error ######
}
EOF
}
</literallayout>
Writing the recipe this way avoids the error:
<literallayout class='monospaced'>
fakeroot create_shar() {
cat &lt;&lt; "EOF" &gt; ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh
usage()
{
echo "test"
######The following "}" with a leading space at the start of the line avoids the error ######
}
EOF
}
</literallayout></para>
</note>
<section id='usingpoky-extend-addpkg-singlec'>
<title>Single .c File Package (Hello World!)</title>