projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Set umask to 022 when creating config files. (refs #2221)
[arvados.git]
/
docker
/
build_tools
/
Makefile
diff --git
a/docker/build_tools/Makefile
b/docker/build_tools/Makefile
index 7fdad914c84f3ed3fa8389de730724da89ae3821..9eac2ec61cbe4b6462f98f2ecf5589de17d4f2cf 100644
(file)
--- a/
docker/build_tools/Makefile
+++ b/
docker/build_tools/Makefile
@@
-3,6
+3,7
@@
all: api-image doc-image workbench-image warehouse-image sso-image
# `make clean' removes the files generated in the build directory
# but does not remove any docker images generated in previous builds
clean:
# `make clean' removes the files generated in the build directory
# but does not remove any docker images generated in previous builds
clean:
+ -rm -rf build
-rm *-image */generated/*
-@rmdir */generated
-rm *-image */generated/*
-@rmdir */generated
@@
-19,6
+20,8
@@
realclean: clean
CONFIG_RB = build_tools/config.rb
CONFIG_RB = build_tools/config.rb
+BUILD = build/.buildstamp
+
BASE_DEPS = base/Dockerfile $(BASE_GENERATED)
API_DEPS = api/Dockerfile $(API_GENERATED)
BASE_DEPS = base/Dockerfile $(BASE_GENERATED)
API_DEPS = api/Dockerfile $(API_GENERATED)
@@
-79,12
+82,16
@@
SSO_GENERATED_IN = \
sso/seeds.rb.in \
sso/secret_token.rb.in
sso/seeds.rb.in \
sso/secret_token.rb.in
-$(BASE_GENERATED): config.yml
+$(BUILD):
+ mkdir -p build
+ rsync -rlp --exclude=docker/ --exclude='**/log/*' --exclude='**/tmp/*' \
+ --chmod=Da+rx,Fa+rX ../ build/
+ touch build/.buildstamp
+
+$(BASE_GENERATED): config.yml $(BUILD)
$(CONFIG_RB)
mkdir -p base/generated
$(CONFIG_RB)
mkdir -p base/generated
- tar -c -z -f base/generated/arvados.tar.gz -C .. . \
- --exclude=services/api/log/* --exclude=docker/*
-
+ tar -czf base/generated/arvados.tar.gz -C build .
$(API_GENERATED): config.yml $(API_GENERATED_IN)
$(CONFIG_RB)
$(API_GENERATED): config.yml $(API_GENERATED_IN)
$(CONFIG_RB)
@@
-106,31
+113,31
@@
DOCKER_BUILD = docker build -q
# ============================================================
# The main Arvados servers: api, doc, workbench, warehouse
# ============================================================
# The main Arvados servers: api, doc, workbench, warehouse
-api-image: passenger-image $(API_DEPS)
+api-image: passenger-image $(
BUILD) $(
API_DEPS)
mkdir -p api/generated
mkdir -p api/generated
- tar -c
-z -f api/generated/api.tar.gz -C ../services api --exclude=api/log/*
+ tar -c
zf api/generated/api.tar.gz -C build/services api
$(DOCKER_BUILD) -t arvados/api api
$(DOCKER_BUILD) -t arvados/api api
-
echo -n "Built at $(date)" >
api-image
+
date >
api-image
-doc-image: base-image $(DOC_DEPS)
+doc-image: base-image $(
BUILD) $(
DOC_DEPS)
mkdir -p doc/generated
mkdir -p doc/generated
- tar -c
-z -f doc/generated/doc.tar.gz -C ..
doc
+ tar -c
zf doc/generated/doc.tar.gz -C build
doc
$(DOCKER_BUILD) -t arvados/doc doc
$(DOCKER_BUILD) -t arvados/doc doc
-
echo -n "Built at $(date)" >
doc-image
+
date >
doc-image
-workbench-image: passenger-image $(WORKBENCH_DEPS)
+workbench-image: passenger-image $(
BUILD) $(
WORKBENCH_DEPS)
mkdir -p workbench/generated
mkdir -p workbench/generated
- tar -c
-z -f workbench/generated/workbench.tar.gz -C ..
/apps workbench
+ tar -c
zf workbench/generated/workbench.tar.gz -C build
/apps workbench
$(DOCKER_BUILD) -t arvados/workbench workbench
$(DOCKER_BUILD) -t arvados/workbench workbench
-
echo -n "Built at $(date)" >
workbench-image
+
date >
workbench-image
warehouse-image: base-image $(WAREHOUSE_DEPS)
$(DOCKER_BUILD) -t arvados/warehouse warehouse
warehouse-image: base-image $(WAREHOUSE_DEPS)
$(DOCKER_BUILD) -t arvados/warehouse warehouse
-
echo -n "Built at $(date)" >
warehouse-image
+
date >
warehouse-image
sso-image: passenger-image $(SSO_DEPS)
$(DOCKER_BUILD) -t arvados/sso sso
sso-image: passenger-image $(SSO_DEPS)
$(DOCKER_BUILD) -t arvados/sso sso
-
echo -n "Built at $(date)" >
sso-image
+
date >
sso-image
# ============================================================
# The arvados/base image is the base Debian image plus packages
# ============================================================
# The arvados/base image is the base Debian image plus packages
@@
-138,13
+145,12
@@
sso-image: passenger-image $(SSO_DEPS)
passenger-image: base-image
$(DOCKER_BUILD) -t arvados/passenger passenger
passenger-image: base-image
$(DOCKER_BUILD) -t arvados/passenger passenger
-
echo -n "Built at $(date)" >
passenger-image
+
date >
passenger-image
base-image: debian-image $(BASE_DEPS)
$(DOCKER_BUILD) -t arvados/base base
base-image: debian-image $(BASE_DEPS)
$(DOCKER_BUILD) -t arvados/base base
-
echo -n "Built at $(date)" >
base-image
+
date >
base-image
debian-image:
./mkimage-debootstrap.sh arvados/debian wheezy ftp://ftp.us.debian.org/debian/
debian-image:
./mkimage-debootstrap.sh arvados/debian wheezy ftp://ftp.us.debian.org/debian/
- echo -n "Built at $(date)" > debian-image
-
+ date >debian-image