diff options
Diffstat (limited to 'documentation/dev-manual')
| -rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 105 | ||||
| -rw-r--r-- | documentation/dev-manual/dev-manual-model.xml | 94 |
2 files changed, 103 insertions, 96 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 0879d0d3e0..2510d6e2d4 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml | |||
| @@ -3967,6 +3967,107 @@ | |||
| 3967 | </section> | 3967 | </section> |
| 3968 | </section> | 3968 | </section> |
| 3969 | 3969 | ||
| 3970 | <section id='finding-the-temporary-source-code'> | ||
| 3971 | <title>Finding Temporary Source Code</title> | ||
| 3972 | |||
| 3973 | <para> | ||
| 3974 | You might find it helpful during development to modify the | ||
| 3975 | temporary source code used by recipes to build packages. | ||
| 3976 | For example, suppose you are developing a patch and you need to | ||
| 3977 | experiment a bit to figure out your solution. | ||
| 3978 | After you have initially built the package, you can iteratively | ||
| 3979 | tweak the source code, which is located in the | ||
| 3980 | <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>, | ||
| 3981 | and then you can force a re-compile and quickly test your altered | ||
| 3982 | code. | ||
| 3983 | Once you settle on a solution, you can then preserve your changes | ||
| 3984 | in the form of patches. | ||
| 3985 | </para> | ||
| 3986 | |||
| 3987 | <para> | ||
| 3988 | During a build, the unpacked temporary source code used by recipes | ||
| 3989 | to build packages is available in the Build Directory as | ||
| 3990 | defined by the | ||
| 3991 | <ulink url='&YOCTO_DOCS_REF_URL;#var-S'><filename>S</filename></ulink> | ||
| 3992 | variable. | ||
| 3993 | Below is the default value for the <filename>S</filename> variable | ||
| 3994 | as defined in the | ||
| 3995 | <filename>meta/conf/bitbake.conf</filename> configuration file | ||
| 3996 | in the | ||
| 3997 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>: | ||
| 3998 | <literallayout class='monospaced'> | ||
| 3999 | S = "${WORKDIR}/${BP}" | ||
| 4000 | </literallayout> | ||
| 4001 | You should be aware that many recipes override the | ||
| 4002 | <filename>S</filename> variable. | ||
| 4003 | For example, recipes that fetch their source from Git usually set | ||
| 4004 | <filename>S</filename> to <filename>${WORKDIR}/git</filename>. | ||
| 4005 | <note> | ||
| 4006 | The | ||
| 4007 | <ulink url='&YOCTO_DOCS_REF_URL;#var-BP'><filename>BP</filename></ulink> | ||
| 4008 | represents the base recipe name, which consists of the name | ||
| 4009 | and version: | ||
| 4010 | <literallayout class='monospaced'> | ||
| 4011 | BP = "${BPN}-${PV}" | ||
| 4012 | </literallayout> | ||
| 4013 | </note> | ||
| 4014 | </para> | ||
| 4015 | |||
| 4016 | <para> | ||
| 4017 | The path to the work directory for the recipe | ||
| 4018 | (<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>) | ||
| 4019 | is defined as follows: | ||
| 4020 | <literallayout class='monospaced'> | ||
| 4021 | ${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR} | ||
| 4022 | </literallayout> | ||
| 4023 | The actual directory depends on several things: | ||
| 4024 | <itemizedlist> | ||
| 4025 | <listitem><para> | ||
| 4026 | <ulink url='&YOCTO_DOCS_REF_URL;#var-TMPDIR'><filename>TMPDIR</filename></ulink>: | ||
| 4027 | The top-level build output directory. | ||
| 4028 | </para></listitem> | ||
| 4029 | <listitem><para> | ||
| 4030 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MULTIMACH_TARGET_SYS'><filename>MULTIMACH_TARGET_SYS</filename></ulink>: | ||
| 4031 | The target system identifier. | ||
| 4032 | </para></listitem> | ||
| 4033 | <listitem><para> | ||
| 4034 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink>: | ||
| 4035 | The recipe name. | ||
| 4036 | </para></listitem> | ||
| 4037 | <listitem><para> | ||
| 4038 | <ulink url='&YOCTO_DOCS_REF_URL;#var-EXTENDPE'><filename>EXTENDPE</filename></ulink>: | ||
| 4039 | The epoch - (if | ||
| 4040 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PE'><filename>PE</filename></ulink> | ||
| 4041 | is not specified, which is usually the case for most | ||
| 4042 | recipes, then <filename>EXTENDPE</filename> is blank). | ||
| 4043 | </para></listitem> | ||
| 4044 | <listitem><para> | ||
| 4045 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PV'><filename>PV</filename></ulink>: | ||
| 4046 | The recipe version. | ||
| 4047 | </para></listitem> | ||
| 4048 | <listitem><para> | ||
| 4049 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PR'><filename>PR</filename></ulink>: | ||
| 4050 | The recipe revision. | ||
| 4051 | </para></listitem> | ||
| 4052 | </itemizedlist> | ||
| 4053 | </para> | ||
| 4054 | |||
| 4055 | <para> | ||
| 4056 | As an example, assume a Source Directory top-level folder | ||
| 4057 | named <filename>poky</filename>, a default Build Directory at | ||
| 4058 | <filename>poky/build</filename>, and a | ||
| 4059 | <filename>qemux86-poky-linux</filename> machine target | ||
| 4060 | system. | ||
| 4061 | Furthermore, suppose your recipe is named | ||
| 4062 | <filename>foo_1.3.0.bb</filename>. | ||
| 4063 | In this case, the work directory the build system uses to | ||
| 4064 | build the package would be as follows: | ||
| 4065 | <literallayout class='monospaced'> | ||
| 4066 | poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0 | ||
| 4067 | </literallayout> | ||
| 4068 | </para> | ||
| 4069 | </section> | ||
| 4070 | |||
| 3970 | <section id='platdev-building-targets-with-multiple-configurations'> | 4071 | <section id='platdev-building-targets-with-multiple-configurations'> |
| 3971 | <title>Building Targets with Multiple Configurations</title> | 4072 | <title>Building Targets with Multiple Configurations</title> |
| 3972 | 4073 | ||
| @@ -6532,8 +6633,8 @@ | |||
| 6532 | <title>Finding the Kernel Source Code</title> | 6633 | <title>Finding the Kernel Source Code</title> |
| 6533 | 6634 | ||
| 6534 | <para> | 6635 | <para> |
| 6535 | Each time you build a kernel image, the kernel source code is fetched | 6636 | Each time you build a kernel image, the kernel source code |
| 6536 | and unpacked into the following directory: | 6637 | is fetched and unpacked into the following directory: |
| 6537 | <literallayout class='monospaced'> | 6638 | <literallayout class='monospaced'> |
| 6538 | ${S}/linux | 6639 | ${S}/linux |
| 6539 | </literallayout> | 6640 | </literallayout> |
diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index b1b5efa82c..8f0e5b1d9b 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml | |||
| @@ -826,100 +826,6 @@ | |||
| 826 | </orderedlist> | 826 | </orderedlist> |
| 827 | </para> | 827 | </para> |
| 828 | </section> | 828 | </section> |
| 829 | |||
| 830 | <section id='finding-the-temporary-source-code'> | ||
| 831 | <title>Finding Temporary Source Code</title> | ||
| 832 | |||
| 833 | <para> | ||
| 834 | You might find it helpful during development to modify the | ||
| 835 | temporary source code used by recipes to build packages. | ||
| 836 | For example, suppose you are developing a patch and you need to | ||
| 837 | experiment a bit to figure out your solution. | ||
| 838 | After you have initially built the package, you can iteratively | ||
| 839 | tweak the source code, which is located in the | ||
| 840 | <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>, | ||
| 841 | and then you can force a re-compile and quickly test your altered code. | ||
| 842 | Once you settle on a solution, you can then preserve your changes | ||
| 843 | in the form of patches. | ||
| 844 | If you are using Quilt for development, see the | ||
| 845 | "<link linkend='using-a-quilt-workflow'>Using Quilt in Your Workflow</link>" | ||
| 846 | section for more information. | ||
| 847 | </para> | ||
| 848 | |||
| 849 | <para> | ||
| 850 | During a build, the unpacked temporary source code used by recipes | ||
| 851 | to build packages is available in the Build Directory as | ||
| 852 | defined by the | ||
| 853 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-S'>S</ulink></filename> variable. | ||
| 854 | Below is the default value for the <filename>S</filename> variable as defined in the | ||
| 855 | <filename>meta/conf/bitbake.conf</filename> configuration file in the | ||
| 856 | <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>: | ||
| 857 | <literallayout class='monospaced'> | ||
| 858 | S = "${WORKDIR}/${BP}" | ||
| 859 | </literallayout> | ||
| 860 | You should be aware that many recipes override the <filename>S</filename> variable. | ||
| 861 | For example, recipes that fetch their source from Git usually set | ||
| 862 | <filename>S</filename> to <filename>${WORKDIR}/git</filename>. | ||
| 863 | <note> | ||
| 864 | The | ||
| 865 | <ulink url='&YOCTO_DOCS_REF_URL;#var-BP'><filename>BP</filename></ulink> | ||
| 866 | represents the base recipe name, which consists of the name and version: | ||
| 867 | <literallayout class='monospaced'> | ||
| 868 | BP = "${BPN}-${PV}" | ||
| 869 | </literallayout> | ||
| 870 | </note> | ||
| 871 | </para> | ||
| 872 | |||
| 873 | <para> | ||
| 874 | The path to the work directory for the recipe | ||
| 875 | (<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>) | ||
| 876 | is defined as follows: | ||
| 877 | <literallayout class='monospaced'> | ||
| 878 | ${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR} | ||
| 879 | </literallayout> | ||
| 880 | The actual directory depends on several things: | ||
| 881 | <itemizedlist> | ||
| 882 | <listitem><ulink url='&YOCTO_DOCS_REF_URL;#var-TMPDIR'><filename>TMPDIR</filename></ulink>: | ||
| 883 | The top-level build output directory</listitem> | ||
| 884 | <listitem><ulink url='&YOCTO_DOCS_REF_URL;#var-MULTIMACH_TARGET_SYS'><filename>MULTIMACH_TARGET_SYS</filename></ulink>: | ||
| 885 | The target system identifier</listitem> | ||
| 886 | <listitem><ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink>: | ||
| 887 | The recipe name</listitem> | ||
| 888 | <listitem><ulink url='&YOCTO_DOCS_REF_URL;#var-EXTENDPE'><filename>EXTENDPE</filename></ulink>: | ||
| 889 | The epoch - (if | ||
| 890 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PE'><filename>PE</filename></ulink> | ||
| 891 | is not specified, which is usually the case for most | ||
| 892 | recipes, then <filename>EXTENDPE</filename> is blank)</listitem> | ||
| 893 | <listitem><ulink url='&YOCTO_DOCS_REF_URL;#var-PV'><filename>PV</filename></ulink>: | ||
| 894 | The recipe version</listitem> | ||
| 895 | <listitem><ulink url='&YOCTO_DOCS_REF_URL;#var-PR'><filename>PR</filename></ulink>: | ||
| 896 | The recipe revision</listitem> | ||
| 897 | </itemizedlist> | ||
| 898 | </para> | ||
| 899 | |||
| 900 | <para> | ||
| 901 | As an example, assume a Source Directory top-level folder | ||
| 902 | named <filename>poky</filename>, a default Build Directory at | ||
| 903 | <filename>poky/build</filename>, and a | ||
| 904 | <filename>qemux86-poky-linux</filename> machine target | ||
| 905 | system. | ||
| 906 | Furthermore, suppose your recipe is named | ||
| 907 | <filename>foo_1.3.0.bb</filename>. | ||
| 908 | In this case, the work directory the build system uses to | ||
| 909 | build the package would be as follows: | ||
| 910 | <literallayout class='monospaced'> | ||
| 911 | poky/build/tmp/work/qemux86-poky-linux/foo/1.3.0-r0 | ||
| 912 | </literallayout> | ||
| 913 | </para> | ||
| 914 | |||
| 915 | <para> | ||
| 916 | Now that you know where to locate the directory that has the | ||
| 917 | temporary source code, you can use Quilt as described in section | ||
| 918 | "<link linkend='using-a-quilt-workflow'>Using Quilt in Your Workflow</link>" | ||
| 919 | to make your edits, test the changes, and preserve the changes in | ||
| 920 | the form of patches. | ||
| 921 | </para> | ||
| 922 | </section> | ||
| 923 | </section> | 829 | </section> |
| 924 | 830 | ||
| 925 | <section id="platdev-appdev-devshell"> | 831 | <section id="platdev-appdev-devshell"> |
