using procprotect for hlist_for_each_entry_rcu with 3 args
[build.git] / README-build.txt
1 Notes on using this build
2
3 The PlanetLab builds has the concept of a 'distribution' that allows
4 advanced user to customize the contents of the build.  If you're not
5 an advanced user, please just use the regular 'planetlab'
6 distribution.  
7
8 If you want to take advantage of a custom distribution, see
9 README-pldistros.txt for further details. Please feel free to contact
10 devel@planet-lab.org, as all this is not precisely foolproof :)
11
12 =====
13 * install a vserver-enabled kernel and util-vserver on your build box
14 * create a local fedora mirror - see vbuild-fedora-mirror.sh
15 * create a vserver - see vbuild-init-vserver.sh
16 * enter the vserver and svn export this build module into /build 
17 * cd /build and run
18 # make stage1=true PLDISTRO=<yourdistro>
19 # make help
20 # make
21
22 === automated builds
23 * the nightly build script wraps all this in a rather complicated way
24 it is not intended to be used as is without a few manual tweaks on your
25 build and test hosts
26 basically it
27 ** recreates a fresh build vserver named after the arguments
28 ** enters this to perform the actual build
29 ** pushes the results to a web location so the tests can pull the
30 right myplc rpm
31 ** invokes a runtest on a separate machine
32 ** manages logs - that's the trickiest part, so the root context and
33 the vserver add their logs on the same file
34  
35 === manual builds
36 * always run the stage1 make prior to anything else
37 * if you clean or patch a spec file you need to run the stage1 again
38 * see make help for how to do things incrementally
39
40 * typically if you want to test a change without commiting first, you
41 need to:
42 ** make package-codebase
43 ** patch CODEBASE/module/
44 ** make package
45
46 if further changes are needed, then do
47 ** make package-clean-tarball package-clean-build package-clean-rpm
48 so the codebase remains intact, patch it again and run
49 ** make package