|
1 |
| -# Which Manifest Do I Use? |
| 1 | +# What is here? |
| 2 | + |
| 3 | +These are manifests describing the source code which goes into building |
| 4 | +many Couchbase products. They are intended to be read using the |
| 5 | +[https://gerrit.googlesource.com/git-repo/+/refs/heads/master/README.md](repo tool). |
2 | 6 |
|
3 |
| -## Released Versions of Couchbase Server |
| 7 | +Each product (or family of products) has a top-level directory, containing |
| 8 | +manifests and subdirectories based on the various releases of those products. |
4 | 9 |
|
5 | 10 | When we make a release, we take the manifest emitted from the builder
|
6 | 11 | and store it in the released/ directory. This manifest only has exact
|
7 | 12 | commit SHAs, so that it explicitly describes which revision was used,
|
8 | 13 | in both Couchbase and external repositories.
|
9 | 14 |
|
10 |
| -It also gives the revision of the "voltron" repo used in the build. |
11 |
| -Voltron contains build instructions --- like RPM spec files -- that |
12 |
| -are used at the top level before the manifest is used to fetch files |
13 |
| -from the source repos. Because the voltron repo is private, it is |
14 |
| -marked with the "notdefault" group so "repo" will not attempt to |
15 |
| -download it unless the command "repo init -g all" is specified. |
| 15 | +# Which Manifest Do I Use? |
| 16 | + |
| 17 | +## Couchbase Server |
16 | 18 |
|
17 |
| -To replicate a released build use a manifest from the released/ |
18 |
| -directory. |
| 19 | +If you want to build the most recent development branch you should use |
| 20 | +"branch-master.xml" from the top-level directory (located there primarily |
| 21 | +for historical reasons). |
19 | 22 |
|
20 |
| -## Versions of Couchbase Server Prior to Release |
| 23 | +Each Server release is given a code name (eg. mad-hatter, spock, etc). |
| 24 | +During development prior to a release, the manifest to use will be |
| 25 | +couchbase-server/RELEASE.xml, eg. couchbase-server/mad-hatter.xml. |
21 | 26 |
|
22 |
| -If you want to build the development branch you should use |
23 |
| -"branch-master.xml". |
| 27 | +After GA of a given release, the "main" manifest will become the manifest |
| 28 | +for the next point release of that release. Eg. once Mad-Hatter is GA |
| 29 | +(as 6.5.0), couchbase-server/mad-hatter.xml will start being the manifest |
| 30 | +for the upcoming 6.5.1 point release. |
24 | 31 |
|
25 |
| -While preparing for a product release, based on the version of Couchbase |
26 |
| -server being handled, the manifest to use for the build can be in one |
27 |
| -of several locations: |
| 32 | +Also at GA, a new manifest couchbase-server/RELEASE/VERSION.xml will be |
| 33 | +made based on the GA version number (couchbase-server/mad-hatter/6.5.0.xml |
| 34 | +in the example above). This will be used for maintenance packs, urgent |
| 35 | +releases, etc, but generally will have very few changes. |
28 | 36 |
|
29 |
| -- For spock and later versions, in the couchbase-server/ subdirectory |
30 |
| -- For watson and previous versions, in the top-level directory |
31 |
| - * This includes the branch-master manifest |
32 |
| -- For branch manifests, in the couchbase-server/<release>/ subdirectories |
33 |
| - * The exceptions to this are sherlock 4.0.0 and 4.1.0 |
| 37 | +## Other products |
34 | 38 |
|
35 |
| -You will not need to use any of these manifests unless you are |
36 |
| -contributing changes towards a Couchbase release. |
| 39 | +Other products have similar life-cycles to the above, although many |
| 40 | +products do not adopt the "code name" methodology and instead simply use |
| 41 | +the version number for the release name. Some products use slight |
| 42 | +variations on the above. |
37 | 43 |
|
38 | 44 | ## Couchbase Experimental Builds
|
39 | 45 |
|
|
0 commit comments