diff options
Diffstat (limited to 'documentation')
| -rw-r--r-- | documentation/ref-manual/faq.xml | 81 |
1 files changed, 49 insertions, 32 deletions
diff --git a/documentation/ref-manual/faq.xml b/documentation/ref-manual/faq.xml index 176573de28..370f65f380 100644 --- a/documentation/ref-manual/faq.xml +++ b/documentation/ref-manual/faq.xml | |||
| @@ -485,30 +485,38 @@ | |||
| 485 | <qandaentry> | 485 | <qandaentry> |
| 486 | <question> | 486 | <question> |
| 487 | <para id='how-does-the-yocto-project-obtain-source-code-and-will-it-work-behind-my-firewall-or-proxy-server'> | 487 | <para id='how-does-the-yocto-project-obtain-source-code-and-will-it-work-behind-my-firewall-or-proxy-server'> |
| 488 | How does the OpenEmbedded build system obtain source code and will it work behind my | 488 | How does the OpenEmbedded build system obtain source code and |
| 489 | firewall or proxy server? | 489 | will it work behind my firewall or proxy server? |
| 490 | </para> | 490 | </para> |
| 491 | </question> | 491 | </question> |
| 492 | <answer> | 492 | <answer> |
| 493 | <para> | 493 | <para> |
| 494 | The way the build system obtains source code is highly configurable. | 494 | The way the build system obtains source code is highly |
| 495 | You can setup the build system to get source code in most environments if | 495 | configurable. |
| 496 | HTTP transport is available. | 496 | You can setup the build system to get source code in most |
| 497 | environments if HTTP transport is available. | ||
| 497 | </para> | 498 | </para> |
| 498 | <para> | 499 | <para> |
| 499 | When the build system searches for source code, it first tries the local download directory. | 500 | When the build system searches for source code, it first |
| 500 | If that location fails, Poky tries PREMIRRORS, the upstream source, | 501 | tries the local download directory. |
| 501 | and then MIRRORS in that order. | 502 | If that location fails, Poky tries |
| 503 | <link linkend='var-PREMIRRORS'><filename>PREMIRRORS</filename></link>, | ||
| 504 | the upstream source, and then | ||
| 505 | <link linkend='var-MIRRORS'><filename>MIRRORS</filename></link> | ||
| 506 | in that order. | ||
| 502 | </para> | 507 | </para> |
| 503 | <para> | 508 | <para> |
| 504 | By default, the OpenEmbedded build system uses the Yocto Project source PREMIRRORS | 509 | Assuming your distribution is "poky", the OpenEmbedded build |
| 505 | for SCM-based sources, | 510 | system uses the Yocto Project source |
| 506 | upstreams for normal tarballs, and then falls back to a number of other mirrors | 511 | <filename>PREMIRRORS</filename> by default for SCM-based |
| 507 | including the Yocto Project source mirror if those fail. | 512 | sources, upstreams for normal tarballs, and then falls back |
| 513 | to a number of other mirrors including the Yocto Project | ||
| 514 | source mirror if those fail. | ||
| 508 | </para> | 515 | </para> |
| 509 | <para> | 516 | <para> |
| 510 | As an example, you could add a specific server for Poky to attempt before any | 517 | As an example, you could add a specific server for the |
| 511 | others by adding something like the following to the <filename>local.conf</filename> | 518 | build system to attempt before any others by adding something |
| 519 | like the following to the <filename>local.conf</filename> | ||
| 512 | configuration file: | 520 | configuration file: |
| 513 | <literallayout class='monospaced'> | 521 | <literallayout class='monospaced'> |
| 514 | PREMIRRORS_prepend = "\ | 522 | PREMIRRORS_prepend = "\ |
| @@ -519,26 +527,29 @@ | |||
| 519 | </literallayout> | 527 | </literallayout> |
| 520 | </para> | 528 | </para> |
| 521 | <para> | 529 | <para> |
| 522 | These changes cause Poky to intercept Git, FTP, HTTP, and HTTPS | 530 | These changes cause the build system to intercept Git, FTP, |
| 523 | requests and direct them to the <filename>http://</filename> sources mirror. | 531 | HTTP, and HTTPS requests and direct them to the |
| 524 | You can use <filename>file://</filename> URLs to point to local directories | 532 | <filename>http://</filename> sources mirror. |
| 525 | or network shares as well. | 533 | You can use <filename>file://</filename> URLs to point to |
| 534 | local directories or network shares as well. | ||
| 526 | </para> | 535 | </para> |
| 527 | <para> | 536 | <para> |
| 528 | Aside from the previous technique, these options also exist: | 537 | Aside from the previous technique, these options also exist: |
| 529 | <literallayout class='monospaced'> | 538 | <literallayout class='monospaced'> |
| 530 | BB_NO_NETWORK = "1" | 539 | BB_NO_NETWORK = "1" |
| 531 | </literallayout> | 540 | </literallayout> |
| 532 | This statement tells BitBake to throw an error instead of trying to access the | 541 | This statement tells BitBake to issue an error instead of |
| 533 | Internet. | 542 | trying to access the Internet. |
| 534 | This technique is useful if you want to ensure code builds only from local sources. | 543 | This technique is useful if you want to ensure code builds |
| 544 | only from local sources. | ||
| 535 | </para> | 545 | </para> |
| 536 | <para> | 546 | <para> |
| 537 | Here is another technique: | 547 | Here is another technique: |
| 538 | <literallayout class='monospaced'> | 548 | <literallayout class='monospaced'> |
| 539 | BB_FETCH_PREMIRRORONLY = "1" | 549 | BB_FETCH_PREMIRRORONLY = "1" |
| 540 | </literallayout> | 550 | </literallayout> |
| 541 | This statement limits Poky to pulling source from the PREMIRRORS only. | 551 | This statement limits Poky to pulling source from the |
| 552 | <filename>PREMIRRORS</filename> only. | ||
| 542 | Again, this technique is useful for reproducing builds. | 553 | Again, this technique is useful for reproducing builds. |
| 543 | </para> | 554 | </para> |
| 544 | <para> | 555 | <para> |
| @@ -548,12 +559,15 @@ | |||
| 548 | </literallayout> | 559 | </literallayout> |
| 549 | This statement tells Poky to generate mirror tarballs. | 560 | This statement tells Poky to generate mirror tarballs. |
| 550 | This technique is useful if you want to create a mirror server. | 561 | This technique is useful if you want to create a mirror server. |
| 551 | If not, however, the technique can simply waste time during the build. | 562 | If not, however, the technique can simply waste time during |
| 563 | the build. | ||
| 552 | </para> | 564 | </para> |
| 553 | <para> | 565 | <para> |
| 554 | Finally, consider an example where you are behind an HTTP-only firewall. | 566 | Finally, consider an example where you are behind an |
| 555 | You could make the following changes to the <filename>local.conf</filename> | 567 | HTTP-only firewall. |
| 556 | configuration file as long as the PREMIRROR server is up to date: | 568 | You could make the following changes to the |
| 569 | <filename>local.conf</filename> configuration file as long as | ||
| 570 | the <filename>PREMIRRORS</filename> server is up to date: | ||
| 557 | <literallayout class='monospaced'> | 571 | <literallayout class='monospaced'> |
| 558 | PREMIRRORS_prepend = "\ | 572 | PREMIRRORS_prepend = "\ |
| 559 | ftp://.*/.* http://www.yoctoproject.org/sources/ \n \ | 573 | ftp://.*/.* http://www.yoctoproject.org/sources/ \n \ |
| @@ -561,14 +575,17 @@ | |||
| 561 | https://.*/.* http://www.yoctoproject.org/sources/ \n" | 575 | https://.*/.* http://www.yoctoproject.org/sources/ \n" |
| 562 | BB_FETCH_PREMIRRORONLY = "1" | 576 | BB_FETCH_PREMIRRORONLY = "1" |
| 563 | </literallayout> | 577 | </literallayout> |
| 564 | These changes would cause Poky to successfully fetch source over HTTP and | 578 | These changes would cause the build system to successfully |
| 565 | any network accesses to anything other than the PREMIRROR would fail. | 579 | fetch source over HTTP and any network accesses to anything |
| 580 | other than the <filename>PREMIRRORS</filename> would fail. | ||
| 566 | </para> | 581 | </para> |
| 567 | <para> | 582 | <para> |
| 568 | The build system also honors the standard shell environment variables | 583 | The build system also honors the standard shell environment |
| 569 | <filename>http_proxy</filename>, <filename>ftp_proxy</filename>, | 584 | variables <filename>http_proxy</filename>, |
| 570 | <filename>https_proxy</filename>, and <filename>all_proxy</filename> | 585 | <filename>ftp_proxy</filename>, |
| 571 | to redirect requests through proxy servers. | 586 | <filename>https_proxy</filename>, and |
| 587 | <filename>all_proxy</filename> to redirect requests through | ||
| 588 | proxy servers. | ||
| 572 | </para> | 589 | </para> |
| 573 | </answer> | 590 | </answer> |
| 574 | </qandaentry> | 591 | </qandaentry> |
