Cleanup: README.md small rework.
[armband.git] / README.md
1 Armband Fuel@OPNFV
2 ==================
3
4 This repository holds build scripts for Fuel 8.0 OPNFV installer
5 for AArch64 machines.
6
7 Workflow
8 --------
9 The standard workflow should look as follows:
10
11 1. Clone the repository.
12
13 2. All the sub-projects are registered as submodules. To initialize them, call:
14    $ make submodules-init
15
16 3. Apply patches from `patches/<sub-project>/*` to respective submodules via:
17    $ make patches-import
18
19    This will result in creation of:
20    - a tag called `armband-workbench-root` at the `HEAD` of the submodule;
21    - a new branch `armband-workbench` which will hold all the armband work.
22    Then each patch is applied on this new branch with `git-am`.
23
24 4. Modify sub-projects for whatever you need.
25    Commit your changes when you want them taken into account in the build.
26
27 5. Build with:
28    $ make build
29
30 6. Re-create patches via:
31    $ make patches-export
32
33    Each commit on `armband-workbench` branch of each subproject will be
34    exported to `patches/subproject/` via `git format-patch`.
35
36    NOTE: DO NOT commit changed submodules. Remember to commit only patches!
37
38    Commiting changed submodules (`git diff` will list something like:
39    `Subproject commit: {hash}`) will break the repo, as the new commit hash
40    is non-existant in the upstream repo, hence anybody cloning the repository
41    later will fail on `make submodules-init`. 
42
43 7. Clean workbench branches and tags with:
44    $ make submodules-clean
45
46 Sub-projects
47 ------------
48 If you need to add another subproject, you can do it with `git submodule`.
49 Make sure that you specify branch (with `-b`), short name (with `--name`)
50 and point it to `upstream/*` directory, i.e.:
51
52    $ git submodule -b stable/8.0 add --name fuel-web \
53      https://github.com/openstack/fuel-web.git upstream/fuel-web