d4423b0a265414b66a1ca0484aaa28b681de1be7
[fuel.git] / build / docker / Makefile
1 ##############################################################################
2 # Copyright (c) 2015 Ericsson AB and others.
3 # stefan.k.berg@ericsson.com
4 # jonas.bjurel@ericsson.com
5 # All rights reserved. This program and the accompanying materials
6 # are made available under the terms of the Apache License, Version 2.0
7 # which accompanies this distribution, and is available at
8 # http://www.apache.org/licenses/LICENSE-2.0
9 ##############################################################################
10
11 SHELL = /bin/bash
12 FILES = $(wildcard ubuntu-builder/*) runcontext
13 DOCKER_VER := $(shell [[ "$$(docker version --format '{{.Client.Version}}')" =~ ([0-9]+)\.([0-9]+) ]] && echo $$(( $${BASH_REMATCH[1]} * 100 + $${BASH_REMATCH[2]} )))
14
15 # Don't use -f flag when docker is newer than 1.9
16 # https://docs.docker.com/engine/deprecated/#/f-flag-on-docker-tag
17 ifeq ($(shell echo "$(DOCKER_VER)>109" | bc), 1)
18         tag_flags :=
19 else
20         tag_flags := -f
21 endif
22
23 .PHONY: all
24 all:    .docker
25
26 .docker: $(FILES)
27         cp Dockerfile ubuntu-builder/Dockerfile
28         # Only add proxy ENVs where set in host - needed to pull the base Ubuntu image
29         test -n "${http_proxy}" && sed -i "s;INSERT_HTTP_PROXY;${http_proxy};" ubuntu-builder/Dockerfile || exit 0
30         test -n "${https_proxy}" && sed -i "s;INSERT_HTTPS_PROXY;${https_proxy};" ubuntu-builder/Dockerfile || exit 0
31         test -n "${no_proxy}" && sed -i "s;INSERT_NO_PROXY;${no_proxy};" ubuntu-builder/Dockerfile || exit 0
32         test -n "${HTTP_PROXY}" && sed -i "s;INSERT_HTTP_PROXY;${HTTP_PROXY};" ubuntu-builder/Dockerfile || exit 0
33         test -n "${HTTPS_PROXY}" && sed -i "s;INSERT_HTTPS_PROXY;${HTTPS_PROXY};" ubuntu-builder/Dockerfile || exit 0
34         test -n "${NO_PROXY}" && sed -i "s;INSERT_NO_PROXY;${NO_PROXY};" ubuntu-builder/Dockerfile || exit 0
35         sed -i '/INSERT_/d' ubuntu-builder/Dockerfile
36         /usr/bin/docker build --rm=true --no-cache=true -t opnfv.org/ubuntu-builder:14.04 ubuntu-builder
37         /usr/bin/docker tag ${tag_flags} opnfv.org/ubuntu-builder:14.04 opnfv.org/ubuntu-builder
38         touch .docker
39
40 .PHONY: clean
41 clean:
42         rm -f .docker ubuntu-builder/Dockerfile