X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=build%2FMakefile;h=550f360f9f8ddff6b3ae93afdd3826c0f4fe9c44;hb=decf2f5ba5dc51b34b26ea6eced417b93ab6a912;hp=6e7041dc01af452d98bb40074229c01df2142ed5;hpb=24a95306d2564b272b5320e9149d9aea70b4061c;p=fuel.git diff --git a/build/Makefile b/build/Makefile index 6e7041dc0..550f360f9 100644 --- a/build/Makefile +++ b/build/Makefile @@ -20,9 +20,15 @@ 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 +$(warning Overriding plugin build selection to $(BUILD_FUEL_PLUGINS)) +export NEWISO = $(shell pwd)/release/unofficial-opnfv-${REVSTATE}.iso +else export NEWISO = $(shell pwd)/release/opnfv-${REVSTATE}.iso +endif # Note! Invoke with "make REVSTATE=RXXXX all" to make release build! # Invoke with ICOCACHE=/full/path/to/iso if cached ISO is in non-standard location. @@ -37,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 @@ -78,20 +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 -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)" @@ -173,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