From 8876e3a4d8a221ae5b3f521aa4dc3de1f30c14a9 Mon Sep 17 00:00:00 2001 From: Yuri Astrakhan Date: Wed, 11 Dec 2019 09:26:25 -0500 Subject: [PATCH] Clean up quickstart and makefile (#726) Other than the change from `exit 404` to `exit 1`, all other changes are noops - just cleaning things up so that various linting tools don't complain. --- Makefile | 106 +++++++++++++++++++++++++++++++-------------- README.md | 2 +- docker-compose.yml | 70 +++++++++++++++--------------- quickstart.sh | 71 ++++++++++++++++-------------- 4 files changed, 147 insertions(+), 102 deletions(-) diff --git a/Makefile b/Makefile index c712bc69..6e8287f6 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,13 @@ +# Options to run with docker and docker-compose - ensure the container is destroyed on exit +DC_OPTS:=--rm + +# container runs as the current user rather than root (so that created files are not root-owned) +DC_USER_OPTS:=$(DC_OPTS) -u $$(id -u $${USER}):$$(id -g $${USER}) + +.PHONY: all all: build/openmaptiles.tm2source/data.yml build/mapping.yaml build/tileset.sql +.PHONY: help help: @echo "==============================================================================" @echo " OpenMapTiles https://github.com/openmaptiles/openmaptiles " @@ -37,66 +45,76 @@ help: @echo " make help # help about available commands" @echo "==============================================================================" +.PHONY: build build: mkdir -p build build/openmaptiles.tm2source/data.yml: build mkdir -p build/openmaptiles.tm2source - docker-compose run --rm openmaptiles-tools generate-tm2source openmaptiles.yaml --host="postgres" --port=5432 --database="openmaptiles" --user="openmaptiles" --password="openmaptiles" > build/openmaptiles.tm2source/data.yml + docker-compose run $(DC_OPTS) openmaptiles-tools generate-tm2source openmaptiles.yaml --host="postgres" --port=5432 --database="openmaptiles" --user="openmaptiles" --password="openmaptiles" > build/openmaptiles.tm2source/data.yml build/mapping.yaml: build - docker-compose run --rm openmaptiles-tools generate-imposm3 openmaptiles.yaml > build/mapping.yaml + docker-compose run $(DC_OPTS) openmaptiles-tools generate-imposm3 openmaptiles.yaml > build/mapping.yaml build/tileset.sql: build - docker-compose run --rm openmaptiles-tools generate-sql openmaptiles.yaml > build/tileset.sql + docker-compose run $(DC_OPTS) openmaptiles-tools generate-sql openmaptiles.yaml > build/tileset.sql +.PHONY: clean clean: rm -f build/openmaptiles.tm2source/data.yml && rm -f build/mapping.yaml && rm -f build/tileset.sql +.PHONY: clean-docker clean-docker: docker-compose down -v --remove-orphans docker-compose rm -fv docker volume ls -q | grep openmaptiles | xargs -r docker volume rm || true +.PHONY: db-start db-start: - docker-compose up -d postgres + docker-compose up -d postgres +.PHONY: download-geofabrik download-geofabrik: @echo =============== download-geofabrik ======================= @echo Download area : $(area) @echo [[ example: make download-geofabrik area=albania ]] @echo [[ list areas: make download-geofabrik-list ]] - docker-compose run --rm import-osm ./download-geofabrik.sh $(area) + docker-compose run $(DC_OPTS) import-osm ./download-geofabrik.sh $(area) ls -la ./data/$(area).* @echo "Generated config file: ./data/docker-compose-config.yml" @echo " " cat ./data/docker-compose-config.yml @echo " " +.PHONY: psql psql: db-start - docker-compose run --rm import-osm ./psql.sh + docker-compose run $(DC_OPTS) import-osm ./psql.sh +.PHONY: import-osm import-osm: db-start all - docker-compose run --rm import-osm + docker-compose run $(DC_OPTS) import-osm +.PHONY: import-sql import-sql: db-start all - docker-compose run --rm import-sql + docker-compose run $(DC_OPTS) import-sql +.PHONY: import-osmsql import-osmsql: db-start all - docker-compose run --rm import-osm - docker-compose run --rm import-sql + docker-compose run $(DC_OPTS) import-osm + docker-compose run $(DC_OPTS) import-sql +.PHONY: generate-tiles generate-tiles: db-start all rm -rf data/tiles.mbtiles if [ -f ./data/docker-compose-config.yml ]; then \ - docker-compose -f docker-compose.yml -f ./data/docker-compose-config.yml run --rm generate-vectortiles; \ + docker-compose -f docker-compose.yml -f ./data/docker-compose-config.yml run $(DC_OPTS) generate-vectortiles; \ else \ - docker-compose run --rm generate-vectortiles; \ + docker-compose run $(DC_OPTS) generate-vectortiles; \ fi - docker-compose run --rm openmaptiles-tools generate-metadata ./data/tiles.mbtiles - docker-compose run --rm openmaptiles-tools chmod 666 ./data/tiles.mbtiles - + docker-compose run $(DC_OPTS) openmaptiles-tools generate-metadata ./data/tiles.mbtiles + docker-compose run $(DC_OPTS) openmaptiles-tools chmod 666 ./data/tiles.mbtiles +.PHONY: start-tileserver start-tileserver: @echo " " @echo "***********************************************************" @@ -115,8 +133,9 @@ start-tileserver: @echo "* " @echo "***********************************************************" @echo " " - docker run -it --rm --name tileserver-gl -v $$(pwd)/data:/data -p 8080:80 klokantech/tileserver-gl + docker run $(DC_OPTS) -it --name tileserver-gl -v $$(pwd)/data:/data -p 8080:80 klokantech/tileserver-gl +.PHONY: start-postserve start-postserve: @echo " " @echo "***********************************************************" @@ -136,16 +155,19 @@ start-postserve: @echo "***********************************************************" @echo " " docker rm -f maputnik_editor || true - docker run --name maputnik_editor -d -p 8088:8888 maputnik/editor + docker run $(DC_OPTS) --name maputnik_editor -d -p 8088:8888 maputnik/editor +.PHONY: generate-qareports generate-qareports: ./qa/run.sh build/devdoc: mkdir -p ./build/devdoc + layers = $(notdir $(wildcard layers/*)) # all layers +.PHONY: etl-graph etl-graph: @echo 'Use' @echo ' make etl-graph-[layer] to generate etl graph for [layer]' @@ -154,12 +176,14 @@ etl-graph: # generate etl graph for a certain layer, e.g. etl-graph-building, etl-graph-place etl-graph-%: layers/% build/devdoc - docker run --rm -u $$(id -u $${USER}):$$(id -g $${USER}) -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-etlgraph layers/$*/$*.yaml ./build/devdoc + docker run $(DC_USER_OPTS) -v $$(pwd):/tileset openmaptiles/openmaptiles-tools:${TOOLS_VERSION} generate-etlgraph layers/$*/$*.yaml ./build/devdoc cp ./build/devdoc/etl_$*.png layers/$*/etl_diagram.png + mappingLayers = $(notdir $(patsubst %/mapping.yaml,%, $(wildcard layers/*/mapping.yaml))) # layers with mapping.yaml # generate mapping graph for a certain layer, e.g. mapping-graph-building, mapping-graph-place +.PHONY: mapping-graph mapping-graph: @echo 'Use' @echo ' make mapping-graph-[layer] to generate mapping graph for [layer]' @@ -167,60 +191,75 @@ mapping-graph: @echo 'Valid layers: $(mappingLayers)' mapping-graph-%: ./layers/%/mapping.yaml build/devdoc - docker run --rm -u $$(id -u $${USER}):$$(id -g $${USER}) -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-mapping-graph layers/$*/$*.yaml ./build/devdoc/mapping-diagram-$* + docker run $(DC_USER_OPTS) -v $$(pwd):/tileset openmaptiles/openmaptiles-tools generate-mapping-graph layers/$*/$*.yaml ./build/devdoc/mapping-diagram-$* cp ./build/devdoc/mapping-diagram-$*.png layers/$*/mapping_diagram.png # generate all etl and mapping graphs generate-devdoc: $(addprefix etl-graph-,$(layers)) $(addprefix mapping-graph-,$(mappingLayers)) +.PHONY: import-sql-dev import-sql-dev: - docker-compose run --rm import-sql /bin/bash + docker-compose run $(DC_OPTS) import-sql /bin/bash +.PHONY: import-osm-dev import-osm-dev: - docker-compose run --rm import-osm /bin/bash + docker-compose run $(DC_OPTS) import-osm /bin/bash # the `download-geofabrik` error message mention `list`, if the area parameter is wrong. so I created a similar make command +.PHONY: list list: - docker-compose run --rm import-osm ./download-geofabrik-list.sh + docker-compose run $(DC_OPTS) import-osm ./download-geofabrik-list.sh # same as a `make list` +.PHONY: download-geofabrik-list download-geofabrik-list: - docker-compose run --rm import-osm ./download-geofabrik-list.sh + docker-compose run $(DC_OPTS) import-osm ./download-geofabrik-list.sh +.PHONY: download-wikidata download-wikidata: - mkdir -p wikidata && docker-compose run --rm --entrypoint /usr/src/app/download-gz.sh import-wikidata + mkdir -p wikidata && docker-compose run $(DC_OPTS) --entrypoint /usr/src/app/download-gz.sh import-wikidata +.PHONY: psql-list-tables psql-list-tables: - docker-compose run --rm import-osm ./psql.sh -P pager=off -c "\d+" + docker-compose run $(DC_OPTS) import-osm ./psql.sh -P pager=off -c "\d+" +.PHONY: psql-pg-stat-reset psql-pg-stat-reset: - docker-compose run --rm import-osm ./psql.sh -P pager=off -c 'SELECT pg_stat_statements_reset();' + docker-compose run $(DC_OPTS) import-osm ./psql.sh -P pager=off -c 'SELECT pg_stat_statements_reset();' +.PHONY: forced-clean-sql forced-clean-sql: - docker-compose run --rm import-osm ./psql.sh -c "DROP SCHEMA IF EXISTS public CASCADE ; CREATE SCHEMA IF NOT EXISTS public; " - docker-compose run --rm import-osm ./psql.sh -c "CREATE EXTENSION hstore; CREATE EXTENSION postgis; CREATE EXTENSION unaccent; CREATE EXTENSION fuzzystrmatch; CREATE EXTENSION osml10n; CREATE EXTENSION pg_stat_statements;" - docker-compose run --rm import-osm ./psql.sh -c "GRANT ALL ON SCHEMA public TO public;COMMENT ON SCHEMA public IS 'standard public schema';" + docker-compose run $(DC_OPTS) import-osm ./psql.sh -c "DROP SCHEMA IF EXISTS public CASCADE ; CREATE SCHEMA IF NOT EXISTS public; " + docker-compose run $(DC_OPTS) import-osm ./psql.sh -c "CREATE EXTENSION hstore; CREATE EXTENSION postgis; CREATE EXTENSION unaccent; CREATE EXTENSION fuzzystrmatch; CREATE EXTENSION osml10n; CREATE EXTENSION pg_stat_statements;" + docker-compose run $(DC_OPTS) import-osm ./psql.sh -c "GRANT ALL ON SCHEMA public TO public;COMMENT ON SCHEMA public IS 'standard public schema';" +.PHONY: pgclimb-list-views pgclimb-list-views: - docker-compose run --rm import-osm ./pgclimb.sh -c "select schemaname,viewname from pg_views where schemaname='public' order by viewname;" csv + docker-compose run $(DC_OPTS) import-osm ./pgclimb.sh -c "select schemaname,viewname from pg_views where schemaname='public' order by viewname;" csv +.PHONY: pgclimb-list-tables pgclimb-list-tables: - docker-compose run --rm import-osm ./pgclimb.sh -c "select schemaname,tablename from pg_tables where schemaname='public' order by tablename;" csv + docker-compose run $(DC_OPTS) import-osm ./pgclimb.sh -c "select schemaname,tablename from pg_tables where schemaname='public' order by tablename;" csv +.PHONY: psql-vacuum-analyze psql-vacuum-analyze: @echo "Start - postgresql: VACUUM ANALYZE VERBOSE;" - docker-compose run --rm import-osm ./psql.sh -P pager=off -c 'VACUUM ANALYZE VERBOSE;' + docker-compose run $(DC_OPTS) import-osm ./psql.sh -P pager=off -c 'VACUUM ANALYZE VERBOSE;' +.PHONY: psql-analyze psql-analyze: @echo "Start - postgresql: ANALYZE VERBOSE ;" - docker-compose run --rm import-osm ./psql.sh -P pager=off -c 'ANALYZE VERBOSE;' + docker-compose run $(DC_OPTS) import-osm ./psql.sh -P pager=off -c 'ANALYZE VERBOSE;' +.PHONY: list-docker-images list-docker-images: docker images | grep openmaptiles +.PHONY: refresh-docker-images refresh-docker-images: docker-compose pull --ignore-pull-failures +.PHONY: remove-docker-images remove-docker-images: @echo "Deleting all openmaptiles related docker image(s)..." @docker-compose down @@ -228,6 +267,7 @@ remove-docker-images: @docker images | grep "osm2vectortiles/mapbox-studio" | awk -F" " '{print $$3}' | xargs --no-run-if-empty docker rmi -f @docker images | grep "klokantech/tileserver-gl" | awk -F" " '{print $$3}' | xargs --no-run-if-empty docker rmi -f +.PHONY: docker-unnecessary-clean docker-unnecessary-clean: @echo "Deleting unnecessary container(s)..." @docker ps -a | grep Exited | awk -F" " '{print $$1}' | xargs --no-run-if-empty docker rm diff --git a/README.md b/README.md index c1865e05..8756e8c9 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,7 @@ cd data wget http://download.geofabrik.de/europe/albania-latest.osm.pbf ``` -[Import OpenStreetMap data](https://github.com/openmaptiles/import-osm) with the mapping rules from +[Import OpenStreetMap data](https://github.com/openmaptiles/openmaptiles-tools/tree/master/docker/import-osm) with the mapping rules from `build/mapping.yaml` (which has been created by `make`). ```bash diff --git a/docker-compose.yml b/docker-compose.yml index 13aacfbd..02927a3a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,43 +6,43 @@ services: postgres: image: "openmaptiles/postgis:2.9" volumes: - - pgdata:/var/lib/postgresql/data + - pgdata:/var/lib/postgresql/data networks: - - postgres_conn + - postgres_conn ports: - - "5432" + - "5432" env_file: .env import-natural-earth: image: "openmaptiles/import-natural-earth:1.4" env_file: .env networks: - - postgres_conn + - postgres_conn import-water: image: "openmaptiles/import-water:1.2" env_file: .env networks: - - postgres_conn + - postgres_conn import-lakelines: image: "openmaptiles/import-lakelines:1.0" env_file: .env networks: - - postgres_conn + - postgres_conn import-osm: image: "openmaptiles/import-osm:0.5" env_file: .env environment: DIFF_MODE: ${DIFF_MODE} networks: - - postgres_conn + - postgres_conn volumes: - - ./data:/import - - ./build:/mapping - - cache:/cache + - ./data:/import + - ./build:/mapping + - cache:/cache import-osmborder: image: "openmaptiles/import-osmborder:0.4" env_file: .env networks: - - postgres_conn + - postgres_conn import-osm-diff: image: "openmaptiles/import-osm:0.5" env_file: .env @@ -50,11 +50,11 @@ services: environment: DIFF_MODE: ${DIFF_MODE} networks: - - postgres_conn + - postgres_conn volumes: - - ./data:/import - - ./build:/mapping - - cache:/cache + - ./data:/import + - ./build:/mapping + - cache:/cache update-osm: image: "openmaptiles/import-osm:0.5" env_file: .env @@ -62,50 +62,50 @@ services: DIFF_MODE: ${DIFF_MODE} command: ./import_update.sh networks: - - postgres_conn + - postgres_conn volumes: - - ./data:/import - - ./build:/mapping - - cache:/cache + - ./data:/import + - ./build:/mapping + - cache:/cache import-sql: image: "openmaptiles/import-sql:1.0" env_file: .env networks: - - postgres_conn + - postgres_conn volumes: - - ./build:/sql + - ./build:/sql import-wikidata: image: "openmaptiles/import-wikidata:0.1" env_file: .env command: import-wikidata networks: - - postgres_conn + - postgres_conn volumes: - - ./wikidata:/import + - ./wikidata:/import openmaptiles-tools: image: "openmaptiles/openmaptiles-tools:0.9.2" env_file: .env networks: - - postgres_conn + - postgres_conn volumes: - - .:/tileset - - ./build:/sql + - .:/tileset + - ./build:/sql generate-changed-vectortiles: image: "openmaptiles/generate-vectortiles:0.1.1" command: ./export-list.sh volumes: - - ./data:/export - - ./build/openmaptiles.tm2source:/tm2source + - ./data:/export + - ./build/openmaptiles.tm2source:/tm2source networks: - - postgres_conn + - postgres_conn env_file: .env generate-vectortiles: image: "openmaptiles/generate-vectortiles:0.1.1" volumes: - - ./data:/export - - ./build/openmaptiles.tm2source:/tm2source + - ./data:/export + - ./build/openmaptiles.tm2source:/tm2source networks: - - postgres_conn + - postgres_conn env_file: .env environment: #BBOX: "8.25,46.97,9.58,47.52" @@ -117,11 +117,11 @@ services: image: "openmaptiles/postserve:0.2" env_file: .env networks: - - postgres_conn + - postgres_conn ports: - - "8090:8080" + - "8090:8080" volumes: - - ./build/openmaptiles.tm2source:/mapping + - ./build/openmaptiles.tm2source:/mapping networks: postgres_conn: diff --git a/quickstart.sh b/quickstart.sh index dbf1ee3e..874fb990 100755 --- a/quickstart.sh +++ b/quickstart.sh @@ -27,7 +27,7 @@ if [ $# -eq 0 ]; then else osm_area=$1 fi -testdata=${osm_area}.osm.pbf +testdata="${osm_area}.osm.pbf" ## Min versions ... MIN_COMPOSE_VER=1.7.1 @@ -36,6 +36,11 @@ STARTTIME=$(date +%s) STARTDATE=$(date +"%Y-%m-%dT%H:%M%z") githash=$( git rev-parse HEAD ) +# Options to run with docker and docker-compose - ensure the container is destroyed on exit, +# as well as pass any other common parameters. +# In the future this should use -u $(id -u "$USER"):$(id -g "$USER") instead of running docker as root. +DC_OPTS="--rm" + log_file=./quickstart.log rm -f $log_file echo " " @@ -103,9 +108,9 @@ if [[ "$OSTYPE" == "linux-gnu" ]]; then fi echo " : --- Memory, CPU info ---- " mem=$( grep MemTotal /proc/meminfo | awk '{print $2}' | xargs -I {} echo "scale=4; {}/1024^2" | bc ) - echo "system memory (GB): ${mem} " + echo "system memory (GB): ${mem}" grep SwapTotal /proc/meminfo - echo cpu number: $(grep -c processor /proc/cpuinfo) x $(cat /proc/cpuinfo | grep "bogomips" | head -1) + echo "cpu number: $(grep -c processor /proc/cpuinfo) x $(cat /proc/cpuinfo | grep "bogomips" | head -1)" cat /proc/meminfo | grep Free else echo " " @@ -136,32 +141,32 @@ echo "-------------------------------------------------------------------------- echo "====> : Removing old MBTILES if exists ( ./data/*.mbtiles ) " rm -f ./data/*.mbtiles -if [ ! -f ./data/${testdata} ]; then +if [ ! -f "./data/${testdata}" ]; then echo " " echo "-------------------------------------------------------------------------------------" - echo "====> : Downloading testdata $testdata " + echo "====> : Downloading testdata $testdata" rm -f ./data/* #wget $testdataurl -P ./data - make download-geofabrik area=${osm_area} + make download-geofabrik "area=${osm_area}" echo " " echo "-------------------------------------------------------------------------------------" - echo "====> : Osm metadata : $testdata " + echo "====> : Osm metadata : $testdata" cat ./data/osmstat.txt echo " " echo "-------------------------------------------------------------------------------------" - echo "====> : Generated docker-compose config " + echo "====> : Generated docker-compose config" cat ./data/docker-compose-config.yml else echo " " echo "-------------------------------------------------------------------------------------" - echo "====> : The testdata ./data/$testdata exists, we don't need to download! " + echo "====> : The testdata ./data/$testdata exists, we don't need to download!" fi -if [ ! -f ./data/${testdata} ]; then +if [ ! -f "./data/${testdata}" ]; then echo " " echo "Missing ./data/$testdata , Download or Parameter error? " - exit 404 + exit 1 fi echo " " @@ -193,58 +198,58 @@ make forced-clean-sql echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Start importing water data from http://osmdata.openstreetmap.de/ into PostgreSQL " -echo " : Source code: https://github.com/openmaptiles/import-water " +echo " : Source code: https://github.com/openmaptiles/openmaptiles-tools/tree/master/docker/import-water " echo " : Data license: https://osmdata.openstreetmap.de/info/license.html " echo " : Thank you: https://osmdata.openstreetmap.de/info/ " -docker-compose run --rm import-water +docker-compose run $DC_OPTS import-water echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Start importing border data from http://openstreetmap.org into PostgreSQL " -echo " : Source code: https://github.com/openmaptiles/import-osmborder" +echo " : Source code: https://github.com/openmaptiles/openmaptiles-tools/tree/master/docker/import-osmborder" echo " : Data license: http://www.openstreetmap.org/copyright" echo " : Thank you: https://github.com/pnorman/osmborder " -docker-compose run --rm import-osmborder +docker-compose run $DC_OPTS import-osmborder echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Start importing http://www.naturalearthdata.com into PostgreSQL " -echo " : Source code: https://github.com/openmaptiles/import-natural-earth " +echo " : Source code: https://github.com/openmaptiles/openmaptiles-tools/tree/master/docker/import-natural-earth " echo " : Terms-of-use: http://www.naturalearthdata.com/about/terms-of-use " echo " : Thank you: Natural Earth Contributors! " -docker-compose run --rm import-natural-earth +docker-compose run $DC_OPTS import-natural-earth echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Start importing OpenStreetMap Lakelines data " -echo " : Source code: https://github.com/openmaptiles/import-lakelines " +echo " : Source code: https://github.com/openmaptiles/openmaptiles-tools/tree/master/docker/import-lakelines " echo " : https://github.com/lukasmartinelli/osm-lakelines " echo " : Data license: .. " -docker-compose run --rm import-lakelines +docker-compose run $DC_OPTS import-lakelines echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Start importing OpenStreetMap data: ./data/${testdata} -> imposm3[./build/mapping.yaml] -> PostgreSQL" echo " : Imposm3 documentation: https://imposm.org/docs/imposm3/latest/index.html " echo " : Thank you Omniscale! " -echo " : Source code: https://github.com/openmaptiles/import-osm " +echo " : Source code: https://github.com/openmaptiles/openmaptiles-tools/tree/master/docker/import-osm " echo " : The OpenstreetMap data license: https://www.openstreetmap.org/copyright (ODBL) " echo " : Thank you OpenStreetMap Contributors ! " -docker-compose run --rm import-osm +docker-compose run $DC_OPTS import-osm echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Start importing Wikidata: ./wikidata/latest-all.json.gz -> PostgreSQL" -echo " : Source code: https://github.com/openmaptiles/import-wikidata " +echo " : Source code: https://github.com/openmaptiles/openmaptiles-tools/tree/master/docker/import-wikidata " echo " : The Wikidata license: https://www.wikidata.org/wiki/Wikidata:Database_download/en#License " echo " : Thank you Wikidata Contributors ! " -docker-compose run --rm import-wikidata +docker-compose run $DC_OPTS import-wikidata echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Start SQL postprocessing: ./build/tileset.sql -> PostgreSQL " -echo " : Source code: https://github.com/openmaptiles/import-sql " -docker-compose run --rm import-sql +echo " : Source code: https://github.com/openmaptiles/openmaptiles-tools/tree/master/docker/import-sql " +docker-compose run $DC_OPTS import-sql echo " " echo "-------------------------------------------------------------------------------------" @@ -261,7 +266,7 @@ echo "-------------------------------------------------------------------------- echo "====> : Start generating MBTiles (containing gzipped MVT PBF) from a TM2Source project. " echo " : TM2Source project definitions : ./build/openmaptiles.tm2source/data.yml " echo " : Output MBTiles: ./data/tiles.mbtiles " -echo " : Source code: https://github.com/openmaptiles/generate-vectortiles " +echo " : Source code: https://github.com/openmaptiles/openmaptiles-tools/tree/master/docker/generate-vectortiles " echo " : We are using a lot of Mapbox Open Source tools! : https://github.com/mapbox " echo " : Thank you https://www.mapbox.com !" echo " : See other MVT tools : https://github.com/mapbox/awesome-vector-tiles " @@ -269,13 +274,13 @@ echo " : " echo " : You will see a lot of deprecated warning in the log! This is normal! " echo " : like : Mapnik LOG> ... is deprecated and will be removed in Mapnik 4.x ... " -docker-compose -f docker-compose.yml -f ./data/docker-compose-config.yml run --rm generate-vectortiles +docker-compose -f docker-compose.yml -f ./data/docker-compose-config.yml run $DC_OPTS generate-vectortiles echo " " echo "-------------------------------------------------------------------------------------" echo "====> : Add special metadata to mbtiles! " -docker-compose run --rm openmaptiles-tools generate-metadata ./data/tiles.mbtiles -docker-compose run --rm openmaptiles-tools chmod 666 ./data/tiles.mbtiles +docker-compose run $DC_OPTS openmaptiles-tools generate-metadata ./data/tiles.mbtiles +docker-compose run $DC_OPTS openmaptiles-tools chmod 666 ./data/tiles.mbtiles echo " " echo "-------------------------------------------------------------------------------------" @@ -289,7 +294,7 @@ rm -f ./data/quickstart_checklist.chk md5sum build/mapping.yaml >> ./data/quickstart_checklist.chk md5sum build/tileset.sql >> ./data/quickstart_checklist.chk md5sum build/openmaptiles.tm2source/data.yml >> ./data/quickstart_checklist.chk -md5sum ./data/${testdata} >> ./data/quickstart_checklist.chk +md5sum "./data/${testdata}" >> ./data/quickstart_checklist.chk md5sum ./data/tiles.mbtiles >> ./data/quickstart_checklist.chk md5sum ./data/docker-compose-config.yml >> ./data/quickstart_checklist.chk md5sum ./data/osmstat.txt >> ./data/quickstart_checklist.chk @@ -298,9 +303,9 @@ cat ./data/quickstart_checklist.chk ENDTIME=$(date +%s) ENDDATE=$(date +"%Y-%m-%dT%H:%M%z") if stat --help >/dev/null 2>&1; then - MODDATE=$(stat -c %y ./data/${testdata} ) + MODDATE=$(stat -c %y "./data/${testdata}" ) else - MODDATE=$(stat -f%Sm -t '%F %T %z' ./data/${testdata} ) + MODDATE=$(stat -f%Sm -t '%F %T %z' "./data/${testdata}" ) fi echo " " @@ -332,7 +337,7 @@ ls -la ./data/*.mbtiles echo " " echo "-------------------------------------------------------------------------------------" echo "The ./quickstart.sh $osm_area is finished! " -echo "It takes $(($ENDTIME - $STARTTIME)) seconds to complete" +echo "It takes $((ENDTIME - STARTTIME)) seconds to complete" echo "We saved the log file to $log_file ( for debugging ) You can compare with the travis log !" echo " " echo "Start experimenting! And check the QUICKSTART.MD file!"