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> |