summaryrefslogtreecommitdiffstats
path: root/build/f_repos/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2017-03-16f_repos: Set git patch format explicitlyAlexandru Avadanii1-1/+2
Skip patch format auto-detection, by setting it explicitly to "mbox". This allows adding license headers to patch files. JIRA: ARMBAND-236 Change-Id: I2b19ced80984ea98e220935c9d36836e62203bb7 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-11-29build/f_repos: Fix remote tracking, pin N HEADsAlexandru Avadanii1-2/+1
Fix two issues that went undetected until now: - remote tracking variable does not properly evaluate in CI, since there is no HEAD reference; - git submodules references still point to master branch(es) commits, although .gitmodules configure the remote tracked branch correctly; JIRA: FUEL-234 Change-Id: I96dc704e2cfe98f2e93d5fa7d7dd261e7f151238 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-11-29Turn on remote tracking of submodulesMichael Polenchuk1-3/+1
JIRA: FUEL-234 Change-Id: I916cc94f58df2f2227384c73eda556f448ac50b5 Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
2016-11-15Uplift to Fuel 10.0/NewtonStefan K. Berg1-1/+3
Build working, automated deploy working (simple test cases only). All plugins disabled, so is the generation of the local ISO cache. Both need to be re-enabled after merge of this uplift. All patches wiped, pertinent ones need to be re-enabled after the merge of this uplift. Change-Id: I978a3d4ed25a45a4b88a6e35693baac597b162c2 Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
2016-10-12Merge "ci, build/f_repos: Minor UX improvements"Alexandru Avadanii1-6/+7
2016-10-11ci, build/f_repos: Minor UX improvementsAlexandru Avadanii1-6/+7
After Armband rework landed of top of `build/f_repos` mechanism [1], the following minor UX improvements can also be applied to Fuel's f_repos: - set SHELL to "/bin/sh" (we don't use any bash-isms); - improve "From SHA..." removal for exported patches; - force checkout of root tag commit during clean; - silence progress during git clone (cleaner logs); - support git older than 1.8.4 in `make clean` (fix Armband deploy); FIXME: Pass TERM as Docker env var until [2] is fixed in Docker 1.13. v4 -> v5: * Moved `export TERM` to Releng, where it actually belongs [3]; * Fixed Armband deploys fail [4] by adjusting `make clean`; [1] https://gerrit.opnfv.org/gerrit/#/c/22791/ [2] https://github.com/docker/docker/issues/9299 [3] https://gerrit.opnfv.org/gerrit/#/c/22933/ [4] https://build.opnfv.org/ci/view/armband/job/\ fuel-deploy-armband-baremetal-daily-master/57/consoleText Fixes: FUEL-200 Change-Id: I80e3074f8659769e21f5b56f07c34c7a5de727bc Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-10-09build/f_repos: Allow out-of-tree .git dirAlexandru Avadanii1-2/+2
ArmbandFuel@OPNFV uses Fuel@OPNFV git repo as a submodule, so its .git dir is located outside work tree root (F_GIT_ROOT). Allow this setup by parsing `git rev-parse --git-dir` intead of harcoding git dir path. Fixes: FUEL-200 Change-Id: Ia7f3b23e9333356fe05b9ed0565218f2c7ec8eba Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2016-10-05build: Use git submodules for Fuel git reposAlexandru Avadanii1-0/+165
This change reworks support for cloning (fetching) and patching all Fuel components (fuel-library ... fuel-ui, see [1] for full list), both outside the ISO build process (for development purposes, like testing OPNFV patches apply cleanly to each component), and during the ISO build. The implementation relies heavily on git submodules and patches, so backporting pending upstream gerrit changes, as well as adding new out-of-upstream-tree patches, should be trivial. Also, since without tracking remotes the repos rarely change, leverage the in-place OPNFV build caching mechanism to drastically reduce the number of git clones during each build. The mechanism is detailed more in-depth in the JIRA ticket [3], and it's merely a rehash of the submodule handling in Armband, implemented initially by Stanislaw Kardach <stanislaw.kardach@cavium.com>. Pros (+ new features): - OPNFV patches for Fuel components can be applied (imported) or developed (exported) outside of the ISO build process; - git repo caching reduces the number of external pulls; - reuse the same fuel-* componets in ALL targets e.g. fuel-mirror used to employ 2 slightly different git trees; - one step closer to Fuel/Armband merge (lots of steps left though); Cons: - adds a lot complexity to solve a non-problem (handling the repos is fine in the current form, for the current goals); However, patching <fuel-astute> or <fuel-agent> seems to be quite complicated with the current mechanism, as env vars override our locally patched repos for these components). The proposed change should eliminate this issue completely. CHANGE: Aligned divergent fuel-mirror in ISO vs local repo build by applying the 302 redirect fix ("Fixed handling http redirects") [2] on top of 9.0.1 tag in fuel-mirror repo, and using that for both. This obsoleted the followking mk file: - build/f_isoroot/f_repobuild/config.mk CHANGE: Removed unused make target `get-fuel-repo` from build/config.mk. FIXME: Remote tracking is currently deactivated for all branches. Change this when remote HEAD should be tracked instead, e.g. during Newton rebase. [1] https://github.com/openstack/fuel-main/blob/stable/mitaka/repos.mk#L32 [2] https://review.openstack.org/#/c/334882/ [3] https://jira.opnfv.org/browse/FUEL-200 TODO: Extend build/f_repos/README.md with info about: - branch changes; - tag bumps; - patching now supports subdirs; v5 -> v6: * Added support for nesting patches in subdirs, to be used for feature groups and related changes across submodules. E.g. Upcoming multiarch EFI support could go in: - .../f_repos/patch/fuel-agent/multiarch-efi/...; - .../f_repos/patch/fuel-astute/multiarch-efi/...; While Armband patches could go in: - .../f_repos/patch/fuel-agent/armband/...; - .../f_repos/patch/fuel-astute/armband/...; etc. v6 -> v13: * fix wrong tag used for VERSION dump; * fix wrong tag used for patches-export; * move OPNFV_TAG to main config.mk and use it in FUEL_*_COMMIT; * only run `patches-import` when patches changed / not yet applied; * only run `clean` for stale `.cacheid` (avoid re-applying patches); * allow git submodule path/name to be different (FIXED); * put-cache should only run when artifact is not already cached; * `git am`: use 3-way merge so already applied patches are gently skipped (useful for upstreaming patches from Armband); * Properly support nested patch dirs; * Colorize the output a little; JIRA: FUEL-200 Change-Id: I9dbdd9b3022896d4497d21be8dacc859730db489 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>