From d785a16dffd7788ea82ef71898b2f508fc15344c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 17 Jun 2014 15:18:53 +0300 Subject: dev-manual, yocto-project-qs: New section on working with source files. Fixes [YOCTO #5566] For the dev-manual, I created a new section called "Working with Source Files." In the section, I cover how to set up mirrors and also how to pre-fetch source using the bitbake -c fetchall command. For the yocto-project-qs, I removed the mirror information in the "Super User" section, which became redundant with the new section now in the dev-manual. I also, removed the fetchall variation of the bitbake command. Both areas reference into the new section of the dev-manual now. (From yocto-docs rev: f314061e3e752d35ea85ed16a60f7f9292180921) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 97 ++++++++++++++++++++++ 1 file changed, 97 insertions(+) (limited to 'documentation/dev-manual') diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 76f50345e3..0d16dbec15 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -6025,6 +6025,103 @@ Gateways via their Web Interfaces" +
+ Working with Source Files + + + The OpenEmbedded build system works with source files located + through the + SRC_URI + variable. + When you build something using BitBake, a big part of the operation + is locating and downloading all the source tarballs. + For images, downloading all the source for various packages can + take a significant amount of time. + + + + This section presents information for working with source + files that can lead to more efficient use of resources and + time. + + +
+ Setting up Effective Mirrors + + + As mentioned, a good deal that goes into a Yocto Project + build is simply downloading all of the source tarballs. + Maybe you have been working with another build system + (OpenEmbedded or Angstrom) for which you have built up a + sizable directory of source tarballs. + Or, perhaps someone else has such a directory for which you + have read access. + If so, you can save time by adding statements to your + configuration file so that the build process checks local + directories first for existing tarballs before checking the + Internet. + + + + Here is an efficient way to set it up in your + local.conf file: + + SOURCE_MIRROR_URL ?= "file:///home/you/your-download-dir/" + INHERIT += "own-mirrors" + BB_GENERATE_MIRROR_TARBALLS = "1" + # BB_NO_NETWORK = "1" + + + + + In the previous example, the + BB_GENERATE_MIRROR_TARBALLS + variable causes the OpenEmbedded build system to generate + tarballs of the Git repositories and store them in the + DL_DIR + directory. + Due to performance reasons, generating and storing these + tarballs is not the build system's default behavior. + + + + You can also use the + PREMIRRORS + variable. + For an example, see the variable's glossary entry in the + Yocto Project Reference Manual. + +
+ +
+ Getting Source Files and Suppressing the Build + + + Another technique you can use to ready yourself for a + successive string of build operations, is to pre-fetch + all the source files without actually starting a build. + This technique lets you work through any download issues + and ultimately gathers all the source files into your + download directory + build/downloads, + which is located with + DL_DIR. + + + + Use the following BitBake command form to fetch all the + necessary sources without starting the build: + + $ bitbake -c fetchall <target> + + This variation of the BitBake command guarantees that you + have all the sources for that BitBake target should you + disconnect from the Internet and want to do the build + later offline. + +
+
+
Building Software from an External Source -- cgit v1.2.3-54-g00ecf