summaryrefslogtreecommitdiffstats
path: root/build/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'build/Makefile')
-rw-r--r--build/Makefile44
1 files changed, 35 insertions, 9 deletions
diff --git a/build/Makefile b/build/Makefile
index d58f3ad76..550f360f9 100644
--- a/build/Makefile
+++ b/build/Makefile
@@ -20,7 +20,7 @@ SHELL = /bin/bash
#Input args
export ISOSRC = file:$(shell pwd)/fuel-7.0.iso
export ISOCACHE = $(shell pwd)/$(shell basename $(ISOSRC))
-export PRODNO = "OPNFV_BGS"
+export PRODNO = "OPNFV_FUEL"
export REVSTATE = "P0000"
ifdef BUILD_FUEL_PLUGINS
@@ -43,6 +43,24 @@ export DOCKERIMG = opnfv.org/ubuntu-builder:14.04
export TOPDIR := $(shell pwd)
export REPOINFO := $(BUILD_BASE)/repo_info.sh
+# Use snapshots
+# Use nearby repositories
+export MIRROR_UBUNTU_URL := $(shell ./f_isoroot/f_repobuild/select_ubuntu_repo.sh --url)
+export MIRROR_UBUNTU := $(shell echo "$(MIRROR_UBUNTU_URL)" | cut -d'/' -f3 )
+export MIRROR_UBUNTU_ROOT := $(shell echo -n '/' ; echo "$(MIRROR_UBUNTU_URL)" | cut -d'/' -f4-)
+
+export LATEST_MIRROR_ID_URL := http://$(shell ./select_closest_fuel_mirror.py)
+
+export MIRROR_MOS_UBUNTU := $(shell echo "$(LATEST_MIRROR_ID_URL)" | cut -d'/' -f3)
+export LATEST_TARGET_UBUNTU := $(shell curl -sSf "$(MIRROR_MOS_UBUNTU)/mos-repos/ubuntu/8.0.target.txt" | head -1)
+export MIRROR_MOS_UBUNTU_ROOT := "/mos-repos/ubuntu/$(LATEST_TARGET_UBUNTU)"
+
+export LATEST_TARGET_CENTOS := $(shell curl -sSf "$(LATEST_MIRROR_ID_URL)/mos-repos/centos/mos8.0-centos7-fuel/os.target.txt" | head -1)
+export MIRROR_FUEL := "$(LATEST_MIRROR_ID_URL)/mos-repos/centos/mos8.0-centos7-fuel/$(LATEST_TARGET_CENTOS)/x86_64"
+
+# uncomment and use: make print-VARIABLE
+#print-% : ; @echo $* = $($*)
+
#Build subclasses
SUBDIRS := f_isoroot
@@ -84,25 +102,29 @@ $(ISOCACHE):
# Setup cgroups for docker-in-docker
sudo /root/enable_dockerx2
# Patch for adding dosfstools, as Fuel 6.1 is running mkfs.vfat
- cd /tmp/fuel-main && patch -p0 < $(TOPDIR)/fuel-main_5.patch
- # Patch for changing the second layer Docker --bip address
- cd /tmp/fuel-main && patch -p0 < $(TOPDIR)/fuel-main_6.patch
+ cd /tmp/fuel-main && patch -f -p0 < $(TOPDIR)/fuel-main_5.patch
+ # Patch for using the Czech Fuel mirror
+ # cd /tmp/fuel-main && patch -p0 < $(TOPDIR)/fuel-main_7.patch
# Remove Docker optimizations, otherwise multistrap will fail during
# Fuel build.
sudo rm -f /etc/apt/apt.conf.d/docker*
#
# Need to replace the old Docker v. 1.5.0 with a later version to be
# able to access the Docker remote repository!
- cd /tmp/fuel-main && patch -p0 < $(TOPDIR)/fuel-main_docker_version.patch
- cd /tmp/fuel-main && patch -p0 < $(TOPDIR)/fuel-main_docker_dns.patch
+ cd /tmp/fuel-main && patch -f -p0 < $(TOPDIR)/fuel-main_docker_version.patch
+ # cd /tmp/fuel-main && patch -f -p0 < $(TOPDIR)/fuel-main_docker_dns.patch
#
cd /tmp/fuel-main && ./prepare-build-env.sh
cd /tmp/fuel-main && make repos
$(REPOINFO) -r /tmp/fuel-main > gitinfo_fuel.txt
- #
- cd /tmp/fuel-main && sudo make iso
+ # Repeat build up to ten times
+ sudo ./fuel_build_loop
cp /tmp/fuel-main/build/artifacts/fuel*.iso .
+ # Attempt to store ISO in cache to speed up the next
+ # build attempt. If cache is not enabled no harm is done.
+ $(MAKE) -f Makefile put-cache
+
.PHONY: mount-origiso umount-origiso
mount-origiso: $(ISOCACHE)
@echo "Mounting original ISO in $(ORIGDIR)"
@@ -184,7 +206,11 @@ debug:
cd /tmp/fuel-main && git checkout $(FUEL_MAIN_TAG)
cd /tmp/fuel-main && make repos
$(REPOINFO) -r /tmp/fuel-main > .cachedata
- sha1sum fuel-main*.patch >> .cachedata
+ sha1sum *.patch >> .cachedata
+ sha1sum fuel_build_loop >> .cachedata
+ sha1sum config.mk >> .cachedata
+ sha1sum Makefile >> .cachedata
+ $(CACHETOOL) getbiweek >> .cachedata
cat .cachedata | $(CACHETOOL) getid > .cacheid
# Not removing fuel-main as it is re-used in build