From 42f8585ebb8fffad19a89314659ab9129176c3e9 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sat, 1 Oct 2016 13:18:11 +0200 Subject: 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 --- armband-fuel-config.mk | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 armband-fuel-config.mk (limited to 'armband-fuel-config.mk') diff --git a/armband-fuel-config.mk b/armband-fuel-config.mk new file mode 100644 index 00000000..63699b44 --- /dev/null +++ b/armband-fuel-config.mk @@ -0,0 +1,47 @@ +############################################################################## +# Copyright (c) 2016 Enea AB and others. +# Alexandru.Avadanii@enea.com +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +# Prepare for merging with Fuel@OPNFV by keeping the same patch dir structure +A_FUEL_BASE := ${ARMBAND_BASE}/upstream/fuel +A_PATCH_DIR := ${ARMBAND_BASE}/patches +A_OPNFV_TAG = armband-opnfv +A_PATCHES = $(shell find ${A_PATCH_DIR} -name '*.patch') +F_BUILD_DIR := ${A_FUEL_BASE}/build +F_REPOS_DIR := ${F_BUILD_DIR}/f_repos +F_PATCH_DIR := ${F_REPOS_DIR}/patch +F_SUB_DIR := ${F_REPOS_DIR}/sub + +# To enable remote tracking, set the following var to any non-empty string. +# Leaving this var empty will bind each git submodule to its saved commit. +ARMBAND_TRACK_REMOTES ?= yes + +# Armband plugins, supported archs & specific info +export PLUGINS := f_odlpluginbuild f_bgpvpn-pluginbuild f_ovs-nsh-dpdk-pluginbuild +export UBUNTU_ARCH := amd64 arm64 +export PRODNO := OPNFV_A_FUEL +export MIRROR_MOS_UBUNTU := linux.enea.com +export EXTRA_RPM_REPOS := armband,http://linux.enea.com/mos-repos/centos/mos9.0-centos7/armband/x86_64,10 + +# Temporary fuel-plugin-builder repo info for runtime patching +export FPB_REPO := https://github.com/openstack/fuel-plugins +export FPB_BRANCH := master +export FPB_CHANGE := refs/changes/31/311031/2 + +# Armband git submodules for Fuel/OPNFV components +export FUEL_PLUGIN_ODL_REPO := ${ARMBAND_BASE}/upstream/fuel-plugin-opendaylight +export FUEL_PLUGIN_ODL_BRANCH := opnfv-armband +export FUEL_PLUGIN_ODL_CHANGE := ${A_OPNFV_TAG} +export OPNFV_QUAGGE_PACKAGING_REPO := https://github.com/alexandruavadanii/opnfv-quagga-packaging + +export OVS_NSH_DPDK_REPO := ${ARMBAND_BASE}/upstream/fuel-plugin-ovs +export OVS_NSH_DPDK_BRANCH := ${A_OPNFV_TAG} + +export VSPERF_REPO := ${ARMBAND_BASE}/upstream/vswitchperf +export VSPERF_BRANCH := opnfv-armband +export VSPERF_CHANGE := ${A_OPNFV_TAG} -- cgit 1.2.3-korg