From daa606645645bc0062454232642e759e6ea44062 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Sat, 21 Dec 2013 12:00:37 -0600 Subject: dev-manual: Final merging of recipe stuff. Merged the concepts in the old "Adding a Package to your Software" section into the new "Writing a New Recipe" section. This completes the feedback from Paul, which was extensive for this new section. (From yocto-docs rev: 522673e1aa068b8d089dfefb5b234a48062da3fb) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 105 ++++++++++++--------- 1 file changed, 61 insertions(+), 44 deletions(-) (limited to 'documentation/dev-manual/dev-manual-common-tasks.xml') diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 053df0f838..b328ce02d1 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -1470,14 +1470,16 @@ certain order: ${BPN}, ${BP}, - and - files. + and files. The directories are assumed to be subdirectories of the directory in which the recipe or append file - resides. - For more information, see the + resides. + For more information, see the SRC_URI - variable. + variable. + You can also reference the + "Single .c File Package (Hello World!)" + section for an example recipe. Specifying patch files: Files mentioned in SRC_URI whose names end in .patch or @@ -1504,7 +1506,12 @@ .zip, and so forth), are automatically extracted during the do_unpack task. - + + See the + "Autotooled Package" + section for an example recipe that uses Autotools and + whose SRC_URI points to archived + source files. Specifying source from an SCM: For Git repositories, you must specify SRCREV @@ -1913,7 +1920,11 @@ do_unpack unpacks the source, and S must be set (e.g. DESTDIR=${D}, PREFIX=${D}, INSTALLROOT=${D}, and so forth). - + + For an example recipe using + make install, see the + "Makefile-Based Package" + section. Manual: You need to define a do_install function in your @@ -2038,6 +2049,13 @@ do_unpack unpacks the source, and S must be set See the class for more information. + + + For an example showing how to install a post-installation + script, see the + "Post-Installation Scripts" + section. +
@@ -2067,6 +2085,13 @@ do_unpack unpacks the source, and S must be set do_install(_append), and so forth as needed. + + + See the + "Splitting an Application into Multiple Packages" + section for an example that shows how you might split + your software into more than one package. +
@@ -2089,30 +2114,38 @@ do_unpack unpacks the source, and S must be set
-
- Hello World Example +
+ Examples To help summarize how to write a recipe, this section provides - an example recipe that builds a single "Hello World!" package. + some examples given various scenarios: + + Recipes that use local files + Using an Autotooled package + Using a Makefile-based package + Splitting an application into multiple packages + Installing a post-initialization script +
Single .c File Package (Hello World!) - Building an application from a single file that is stored locally (e.g. under - files/) requires a recipe that has the file listed in - the + Building an application from a single file that is stored + locally (e.g. under files/) requires + a recipe that has the file listed in the SRC_URI variable. - Additionally, you need to manually write the do_compile and + Additionally, you need to manually write the + do_compile and do_install tasks. The S - variable defines the - directory containing the source code, which is set to - - WORKDIR in this case - the directory BitBake uses for the build. + variable defines the directory containing the source code, + which is set to + WORKDIR + in this case - the directory BitBake uses for the build. DESCRIPTION = "Simple helloworld application" SECTION = "examples" @@ -2136,11 +2169,13 @@ do_unpack unpacks the source, and S must be set - By default, the helloworld, helloworld-dbg, - and helloworld-dev packages are built. - For information on how to customize the packaging process, see the - "Splitting an Application - into Multiple Packages" section. + By default, the helloworld, + helloworld-dbg, and + helloworld-dev packages are built. + For information on how to customize the packaging process, + see the + "Splitting an Application into Multiple Packages" + section.
@@ -2150,8 +2185,9 @@ do_unpack unpacks the source, and S must be set Applications that use Autotools such as autoconf and automake require a recipe that has a source archive listed in SRC_URI and - also inherits Autotools, which instructs BitBake to use the - autotools.bbclass file, which contains the definitions of all the steps + also inherit the + autotools + class, which contains the definitions of all the steps needed to build an Autotool-based application. The result of the build is automatically packaged. And, if the application uses NLS for localization, packages with local information are @@ -2368,25 +2404,6 @@ do_unpack unpacks the source, and S must be set is unset when executed on the first boot.
- - - - - -
- -
- Writer Notes - - - - - Need to edit the faq.xml chapter and find the single reference to - usingpoky-extend-addpkg and replace it - with new-recipe-testing-hello-world-example. - - -
-- cgit v1.2.3-54-g00ecf