summaryrefslogtreecommitdiffstats
path: root/fuel/build/f_isoroot/f_repobuild/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'fuel/build/f_isoroot/f_repobuild/Makefile')
-rw-r--r--fuel/build/f_isoroot/f_repobuild/Makefile45
1 files changed, 35 insertions, 10 deletions
diff --git a/fuel/build/f_isoroot/f_repobuild/Makefile b/fuel/build/f_isoroot/f_repobuild/Makefile
index 03e4caecb..ad40d0b9a 100644
--- a/fuel/build/f_isoroot/f_repobuild/Makefile
+++ b/fuel/build/f_isoroot/f_repobuild/Makefile
@@ -10,17 +10,13 @@
SHELL := /bin/bash
TOP := $(shell pwd)
-DOCKNAME = fuelrepo
-DOCKVERSION = 1.0
RSYNC_HOST := $(shell ./select_ubuntu_repo.sh)
.PHONY: all
-all: .nailgun
+all: nailgun
-.nailgun:
- sudo apt-get update
- sudo apt-get upgrade -y
+nailgun:
sudo apt-get install -y rsync python python-yaml dpkg-dev openssl
rm -rf tmpiso tmpdir
mkdir tmpiso
@@ -37,16 +33,45 @@ all: .nailgun
sudo su - -c /opt/fuel-createmirror-6.1/fuel-createmirror
sudo chmod -R 755 /var/www/nailgun
cp -Rp /var/www/nailgun .
- touch .nailgun
.PHONY: clean
clean:
- # Deliberately not cleaning nailgun directory to speed up multiple builds
- @rm -rf ../release/opnfv/nailgun fuel-createmirror_6.1*.deb
+ @rm -rf ../release/opnfv/nailgun nailgun fuel-createmirror_6.1*.deb
.PHONY: release
-release:.nailgun
+release:nailgun
@rm -Rf ../release/opnfv/nailgun
@mkdir -p ../release/opnfv
@cp -Rp nailgun ../release/opnfv/nailgun
+#############################################################################
+# Cache operations - only used when building through ci/build.sh
+#############################################################################
+
+# Create a unique hash to be used for getting and putting cache, based on:
+# - Year and week (causing the cache to be rebuilt weekly)
+# - The contents of this Makefile
+.cacheid:
+ date +"Repocache %G%V" > .cachedata
+ sha1sum Makefile >> .cachedata
+ cat .cachedata | $(CACHETOOL) getid > .cacheid
+
+# Clean local data related to caching - called prior to ordinary build
+.PHONY: clean-cache
+clean-cache: clean
+ rm -f .cachedata .cacheid
+
+# Try to download cache - called prior to ordinary build
+.PHONY: get-cache
+get-cache: .cacheid
+ @if $(CACHETOOL) check $(shell cat .cacheid); then \
+ $(CACHETOOL) get $(shell cat .cacheid) | tar xf -;\
+ else \
+ echo "No cache item found for $(shell cat .cacheid)" ;\
+ exit 0;\
+ fi
+
+# Store cache if not already stored - called after ordinary build
+.PHONY: put-cache
+put-cache: .cacheid
+ @tar cf - nailgun | $(CACHETOOL) put $(shell cat .cacheid)