summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2016-10-01 13:18:11 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2016-10-09 16:33:43 +0200
commit42f8585ebb8fffad19a89314659ab9129176c3e9 (patch)
treee2cf6a4797bcbd036e080541cc3925f8b209549b /README.md
parent6f3a054fc95622f0c002f72c0fac6074bb36c36f (diff)
build: Rework patch mechanism for Fuel submodules
While refactoring the patching mechanism, take care of: - Sync submodule handling with Fuel@OPFNV; - build: Investigate/prepare for moving patches to Fuel@OPNFV; - build: Investigate divergent fuel-mirror; - ISO build: cacheid for Fuel comps should not depend on Armband git commit; CHANGE: Rename/shuffle patches while grouping them in "features", preparing for upstreaming them to Fuel@OPNFV and beyond. CHANGE: Allow linking patches for better representing the dependency between one patch and different features. e.g. 0001-Add-arch-to-nailgun-release-and-target-image.patch: - part of `multiarch-fuel`, because it extends Fuel; - part of `direct-kernel-boot`, as arch is required for that; - part of `cross-bootstrap`, target image is arch-dependent; NOTE: Patch links are not staged to Fuel@OPNFV, they only serve as markers that a specific patch is part of a feature. CHANGE: Kill all Fuel component submodules, now handled in Fuel@OPNFV: - fuel-agent - fuel-astute - fuel-library - fuel-mirror - fuel-nailgun-agent - fuel-web CHANGE: Move armband-fuel-config.mk to armband git root. FIXME: m1.micro-Increase-profile-RAM-size-to-128MB.patch is NOT part of `cross-bootstrap` feature, but patch context says so ... FIXME: 0001-Add-arm64-deb-repositories-setup.patch is broken at `make patches-export` by removing spaces at EOL. v2 -> v3: * Phony patch support (links to show a patch belongs to a feature); * Updated README.md v3 -> v7: * Re-export Fuel submodules & plugins patches (update patch context); * Update Cavium mail addresses (s/caviumnetworks.com/cavium.com/); * Ignore submodule changes; * Add armband git repo info to gitinfo_fuel.txt at build time; Implements: ARMBAND-136 Closes-bug: ARMBAND-95 Closes-bug: ARMBAND-93 Closes-bug: ARMBAND-92 Change-Id: I1a236d9f43b2e6dca22055911f696b43c22b5973 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'README.md')
-rw-r--r--README.md39
1 files changed, 28 insertions, 11 deletions
diff --git a/README.md b/README.md
index 05563eed..fd360eaa 100644
--- a/README.md
+++ b/README.md
@@ -17,30 +17,26 @@ The standard workflow should look as follows:
$ make patches-import
This will result in creation of:
- - a tag called `armband-workbench-root` at the same commit as Fuel@OPNFV
- hard sets in `build/config.mk` (inside fuel submodule);
- - a new branch `armband-workbench` which will hold all the armband work.
+ - a tag called `${A_OPNFV_TAG}-root` at submodule remote branch HEAD;
+ - a new branch `opnfv-armband` which will hold all the armband work.
Then each patch is applied on this new branch with `git-am`.
+ The new HEAD is tagged with `${A_OPNFV_TAG}`.
4. Modify sub-projects for whatever you need.
Commit your changes when you want them taken into account in the build.
+ NOTE: If you want to re-export patches, make sure to move the tag
+ `${A_OPNFV_TAG}` to the latest commit that should be included.
+
5. Build with:
$ make build
6. Re-create patches via:
$ make patches-export
- Each commit on `armband-workbench` branch of each subproject will be
+ Each commit on `opnfv-armband` branch of each subproject will be
exported to `patches/subproject/` via `git format-patch`.
- NOTE: DO NOT commit changed submodules. Remember to commit only patches!
-
- Commiting changed submodules (`git diff` will list something like:
- `Subproject commit: {hash}`) will break the repo, as the new commit hash
- is non-existant in the upstream repo, hence anybody cloning the repository
- later will fail on `make submodules-init`.
-
7. Clean workbench branches and tags with:
$ make submodules-clean
@@ -52,3 +48,24 @@ and point it to `upstream/*` directory, i.e.:
$ git submodule -b stable/mitaka add --name fuel-web \
https://github.com/openstack/fuel-web.git upstream/fuel-web
+
+Fuel@OPNFV submodule patch development
+--------------------------------------
+Fuel-submodules (fuel-astute, ... , fuel-ui) patches also reside in Armband,
+like previously described patches that are applied to Armband submodules,
+but they are not directly applied to any submodule in Armband.
+Instead, they are copied (staged) to Fuel@OPNFV submodule, which will
+automatically pick them up and apply them to its own submodules
+(fuel-astute, ... , fuel-ui) during ISO build.
+
+The following helpers are available for working with patches for
+Fuel-submodules (fuel-astute, ... , fuel-ui):
+
+1. Clean Fuel-submodules (fuel-astute, ... , fuel-ui) patches
+ $ make fuel-patches-clean
+
+2. Import Fuel-submodules staged patches
+ $ make fuel-patches-import
+
+3. Export Fuel-submodules patches
+ $ make fuel-patches-export