diff options
| author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2012-03-05 13:09:31 -0600 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-03-08 12:08:07 -0800 |
| commit | 2cae64b94fa07f690879810c3b5226d3abbf3d44 (patch) | |
| tree | 19369a8b5644502fa2bc4268e6638d6278a3a0c8 /documentation/dev-manual/dev-manual-newbie.xml | |
| parent | 25f74b31b70b07a0d67d57c4c031d50d61f98a3b (diff) | |
| download | poky-2cae64b94fa07f690879810c3b5226d3abbf3d44.tar.gz | |
documentation/dev-manual: Re-org of topics
Several topics in the "Common Tasks" chapter really fit better in
the "Newbie" chapter. I moved these sections out. I also combined
information from the section on submitting changes from the
"Common Tasks" and the "Newbie" chapter to live in the "Newbie"
chapter only.
(From yocto-docs rev: 90fa8c125e545c57a5a994dd59715b73c5c4882f)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual/dev-manual-newbie.xml')
| -rw-r--r-- | documentation/dev-manual/dev-manual-newbie.xml | 71 |
1 files changed, 70 insertions, 1 deletions
diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml index 1b5ef07398..9234a7175a 100644 --- a/documentation/dev-manual/dev-manual-newbie.xml +++ b/documentation/dev-manual/dev-manual-newbie.xml | |||
| @@ -53,6 +53,70 @@ | |||
| 53 | </para> | 53 | </para> |
| 54 | </section> | 54 | </section> |
| 55 | 55 | ||
| 56 | <section id="usingpoky-changes-collaborate"> | ||
| 57 | <title>Using The Yocto Project in a Team Environment</title> | ||
| 58 | |||
| 59 | <para> | ||
| 60 | It might not be immediately clear how you can use the Yocto Project in a team environment, | ||
| 61 | or scale it for a large team of developers. | ||
| 62 | The specifics of any situation determine the best solution. | ||
| 63 | Granted that the Yocto Project offers immense flexibility regarding this, practices do exist | ||
| 64 | that experience has shown work well. | ||
| 65 | </para> | ||
| 66 | |||
| 67 | <para> | ||
| 68 | The core component of any development effort with the Yocto Project is often an | ||
| 69 | automated build and testing framework along with an image generation process. | ||
| 70 | You can use these core components to check that the metadata can be built, | ||
| 71 | highlight when commits break the build, and provide up-to-date images that | ||
| 72 | allow developers to test the end result and use it as a base platform for further | ||
| 73 | development. | ||
| 74 | Experience shows that buildbot is a good fit for this role. | ||
| 75 | What works well is to configure buildbot to make two types of builds: | ||
| 76 | incremental and full (from scratch). | ||
| 77 | See <ulink url='http://autobuilder.yoctoproject.org:8010/'>the buildbot for the | ||
| 78 | Yocto Project</ulink> for an example implementation that uses buildbot. | ||
| 79 | </para> | ||
| 80 | |||
| 81 | <para> | ||
| 82 | You can tie incremental builds to a commit hook that triggers the build | ||
| 83 | each time a commit is made to the metadata. | ||
| 84 | This practice results in useful acid tests that determine whether a given commit | ||
| 85 | breaks the build in some serious way. | ||
| 86 | Associating a build to a commit can catch a lot of simple errors. | ||
| 87 | Furthermore, the tests are fast so developers can get quick feedback on changes. | ||
| 88 | </para> | ||
| 89 | |||
| 90 | <para> | ||
| 91 | Full builds build and test everything from the ground up. | ||
| 92 | These types of builds usually happen at predetermined times like during the | ||
| 93 | night when the machine load is low. | ||
| 94 | </para> | ||
| 95 | |||
| 96 | <para> | ||
| 97 | Most teams have many pieces of software undergoing active development at any given time. | ||
| 98 | You can derive large benefits by putting these pieces under the control of a source | ||
| 99 | control system that is compatible with the Yocto Project (i.e. Git or Subversion (SVN). | ||
| 100 | You can then set the autobuilder to pull the latest revisions of the packages | ||
| 101 | and test the latest commits by the builds. | ||
| 102 | This practice quickly highlights issues. | ||
| 103 | The Yocto Project easily supports testing configurations that use both a | ||
| 104 | stable known good revision and a floating revision. | ||
| 105 | The Yocto Project can also take just the changes from specific source control branches. | ||
| 106 | This capability allows you to track and test specific changes. | ||
| 107 | </para> | ||
| 108 | |||
| 109 | <para> | ||
| 110 | Perhaps the hardest part of setting this up is defining the software project or | ||
| 111 | the Yocto Project metadata policies that surround the different source control systems. | ||
| 112 | Of course circumstances will be different in each case. | ||
| 113 | However, this situation reveals one of the Yocto Project's advantages - | ||
| 114 | the system itself does not | ||
| 115 | force any particular policy on users, unlike a lot of build systems. | ||
| 116 | The system allows the best policies to be chosen for the given circumstances. | ||
| 117 | </para> | ||
| 118 | </section> | ||
| 119 | |||
| 56 | <section id='yocto-project-repositories'> | 120 | <section id='yocto-project-repositories'> |
| 57 | <title>Yocto Project Source Repositories</title> | 121 | <title>Yocto Project Source Repositories</title> |
| 58 | 122 | ||
| @@ -797,6 +861,8 @@ | |||
| 797 | 861 | ||
| 798 | <para> | 862 | <para> |
| 799 | Contributions to the Yocto Project are very welcome. | 863 | Contributions to the Yocto Project are very welcome. |
| 864 | Because the Yocto Project is extremely configurable and flexible, we recognize that developers | ||
| 865 | will want to extend, configure or optimize it for their specific uses. | ||
| 800 | You should send patches to the appropriate Yocto Project mailing list to get them | 866 | You should send patches to the appropriate Yocto Project mailing list to get them |
| 801 | in front of the Yocto Project Maintainer. | 867 | in front of the Yocto Project Maintainer. |
| 802 | For a list of the Yocto Project mailing lists, see the | 868 | For a list of the Yocto Project mailing lists, see the |
| @@ -866,7 +932,10 @@ | |||
| 866 | <para> | 932 | <para> |
| 867 | In a collaborative environment, it is necessary to have some sort of standard | 933 | In a collaborative environment, it is necessary to have some sort of standard |
| 868 | or method through which you submit changes. | 934 | or method through which you submit changes. |
| 869 | Otherwise, things could get quite chaotic. | 935 | Otherwise, things could get quite chaotic. |
| 936 | One general practice to follow is to make small, controlled changes to the | ||
| 937 | Yocto Project. | ||
| 938 | Keeping changes small and isolated lets you best keep pace with future Yocto Project changes. | ||
| 870 | </para> | 939 | </para> |
| 871 | 940 | ||
| 872 | <para> | 941 | <para> |
