summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual/dev-manual-newbie.xml
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2012-03-05 13:09:31 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-03-08 12:08:07 -0800
commit2cae64b94fa07f690879810c3b5226d3abbf3d44 (patch)
tree19369a8b5644502fa2bc4268e6638d6278a3a0c8 /documentation/dev-manual/dev-manual-newbie.xml
parent25f74b31b70b07a0d67d57c4c031d50d61f98a3b (diff)
downloadpoky-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.xml71
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>