From fed87ce272b4fc01b5482d5fb74108be3db77b4e Mon Sep 17 00:00:00 2001 From: André Araújo Date: Tue, 14 Feb 2017 09:58:32 -0300 Subject: [PATCH] Fix Makefile --- Makefile | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------- 1 file changed, 63 insertions(+), 58 deletions(-) diff --git a/Makefile b/Makefile index 8cc0829..5879546 100644 --- a/Makefile +++ b/Makefile @@ -3,9 +3,14 @@ PROJECT_DIR = $(CURDIR) SED_REPLACE_ALL = sed -i "s/$(1)/$(2)/g" "$(3)" SED_REPLACE_ALL_PATH = sed -i "s\#$(1)\#$(2)\#g" "$(3)" +VLIBRAS_NAME ?= vlibras-wiki +VLIBRAS_WIKILIBRAS_ENV := /etc/profile.d/${VLIBRAS_NAME}_env.sh + +-include "${VLIBRAS_WIKILIBRAS_ENV}" + ifndef LOCALHOST ifndef NETWORK_INTERFACE - NETWORK_INTERFACE := $(shell ip route | awk '{print $$5; exit}') + NETWORK_INTERFACE := $(shell ip route | grep "default" | awk '{print $$5; exit}') endif ifdef NETWORK_INTERFACE LOCALHOST := $(shell ip addr list ${NETWORK_INTERFACE} | grep "inet " | cut -d ' ' -f6 | cut -d/ -f1) @@ -13,63 +18,68 @@ ifndef LOCALHOST endif ifndef LOCALHOST - LOCALHOST := localhost + LOCALHOST := 127.0.0.1 endif -install: uninstall install-dep config - @( \ - virtualenv ./env/; \ - . ./env/bin/activate; \ - pip install -U pip; \ - pip install -U uwsgi; \ - pip install -U ndg-httpsclient; \ - pip install -r requirements.txt; \ - ) +install: uninstall install-dep config build config: - @ rm -f ./pybossa/translations - @ ln -sf ./pybossa/themes/default/translations/ ./pybossa/translations - @ cp alembic.ini.template alembic.ini - @ sudo service postgresql restart > /dev/null - -@ $(MAKE) -s drop-db > /dev/null - @ $(MAKE) -s create-db - @ $(info Using interface: ${NETWORK_INTERFACE}) - @ $(info Using local IP: ${LOCALHOST}) - @ cp settings_local.py.tmpl settings_local.py - @ cp ./contrib/${PROJECT_NAME}.wsgi.tmpl ./contrib/${PROJECT_NAME}.wsgi - @ $(call SED_REPLACE_ALL_PATH,,${PROJECT_DIR},./contrib/${PROJECT_NAME}.wsgi) - @ cp ./contrib/apache/${PROJECT_NAME}.conf.tmpl ./contrib/apache/${PROJECT_NAME}.conf - @ $(call SED_REPLACE_ALL,ServerName localhost,ServerName ${LOCALHOST},./contrib/apache/${PROJECT_NAME}.conf) - @ $(call SED_REPLACE_ALL,user1,$$USER,./contrib/apache/${PROJECT_NAME}.conf) - @ $(call SED_REPLACE_ALL,group1,$$USER,./contrib/apache/${PROJECT_NAME}.conf) - @ $(call SED_REPLACE_ALL_PATH,,${PROJECT_DIR},./contrib/apache/${PROJECT_NAME}.conf) - @ sudo install -m 755 -p ./contrib/apache/${PROJECT_NAME}.conf /etc/apache2/sites-available/${PROJECT_NAME}.conf - @ sudo a2ensite ${PROJECT_NAME}.conf - @ sudo rm -f /etc/apache2/sites-available/vlibras-wiki.conf /etc/apache2/sites-enabled/vlibras-wiki.conf - @ sudo service redis-server stop - @ sudo update-rc.d -f redis-server remove - -@ sudo killall redis-server - @ cp ./contrib/pybossa.ini.template ./contrib/pybossa.ini - @ $(call SED_REPLACE_ALL_PATH,/home/pybossa/pybossa,${PROJECT_DIR},./contrib/pybossa.ini) + @ cp ./alembic.ini.template ./alembic.ini + @ cp ./settings_local.py.tmpl ./settings_local.py + @ cp ./contrib/pybossa.wsgi.tmpl ./contrib/pybossa.wsgi + @ cp ./contrib/apache/pybossa.conf.tmpl ./contrib/apache/pybossa.conf + @ cp ./contrib/pybossa.ini.template ./contrib/pybossa.ini @ cp ./contrib/supervisor/rq-scheduler.conf.template ./contrib/supervisor/rq-scheduler.conf - @ $(call SED_REPLACE_ALL_PATH,/home/pybossa/pybossa,${PROJECT_DIR},./contrib/supervisor/rq-scheduler.conf) + @ cp ./contrib/supervisor/rq-worker.conf.template ./contrib/supervisor/rq-worker.conf + @ cp ./contrib/supervisor/pybossa.conf.template ./contrib/supervisor/pybossa.conf + @ ln -sf ./pybossa/themes/default/translations/ ./pybossa/translations + @ $(call SED_REPLACE_ALL_PATH,,$(CURDIR),./contrib/pybossa.wsgi) + @ $(call SED_REPLACE_ALL,ServerName localhost,ServerName ${LOCALHOST},./contrib/apache/pybossa.conf) + @ $(call SED_REPLACE_ALL,user1,$$USER,./contrib/apache/pybossa.conf) + @ $(call SED_REPLACE_ALL,group1,$$USER,./contrib/apache/pybossa.conf) + @ $(call SED_REPLACE_ALL_PATH,,$(CURDIR),./contrib/apache/pybossa.conf) + @ $(call SED_REPLACE_ALL_PATH,/home/pybossa/pybossa,$(CURDIR),./contrib/pybossa.ini) + @ $(call SED_REPLACE_ALL_PATH,/home/pybossa/pybossa,$(CURDIR),./contrib/supervisor/rq-scheduler.conf) @ $(call SED_REPLACE_ALL,user=pybossa,user=$$USER,./contrib/supervisor/rq-scheduler.conf) - @ cp ./contrib/supervisor/rq-worker.conf.template ./contrib/supervisor/rq-worker.conf - @ $(call SED_REPLACE_ALL_PATH,/home/pybossa/pybossa,${PROJECT_DIR},./contrib/supervisor/rq-worker.conf) + @ $(call SED_REPLACE_ALL_PATH,/home/pybossa/pybossa,$(CURDIR),./contrib/supervisor/rq-worker.conf) @ $(call SED_REPLACE_ALL,user=pybossa,user=$$USER,./contrib/supervisor/rq-worker.conf) - @ cp ./contrib/supervisor/pybossa.conf.template ./contrib/supervisor/pybossa.conf - @ $(call SED_REPLACE_ALL_PATH,/home/pybossa/pybossa,${PROJECT_DIR},./contrib/supervisor/pybossa.conf) + @ $(call SED_REPLACE_ALL_PATH,/home/pybossa/pybossa,$(CURDIR),./contrib/supervisor/pybossa.conf) @ $(call SED_REPLACE_ALL_PATH,pybossa.ini,contrib/pybossa.ini,./contrib/supervisor/pybossa.conf) @ $(call SED_REPLACE_ALL,user=pybossa,user=$$USER,./contrib/supervisor/pybossa.conf) - @ sudo cp ./contrib/supervisor/pybossa.conf /etc/supervisor/conf.d/pybossa.conf - @ sudo cp ./contrib/supervisor/redis-sentinel.conf /etc/supervisor/conf.d/redis-sentinel.conf - @ sudo cp ./contrib/supervisor/redis-server.conf /etc/supervisor/conf.d/redis-server.conf - @ sudo cp ./contrib/supervisor/rq-scheduler.conf /etc/supervisor/conf.d/rq-scheduler.conf - @ sudo cp ./contrib/supervisor/rq-worker.conf /etc/supervisor/conf.d/rq-worker.conf - @ sudo cp ./contrib/redis-supervisor/redis.conf /etc/redis/redis.conf - @ sudo cp ./contrib/redis-supervisor/sentinel.conf /etc/redis/sentinel.conf + @ sudo install -m 755 -p ./contrib/apache/pybossa.conf /etc/apache2/sites-available/pybossa.conf + @ sudo install -m 644 -p ./contrib/redis-supervisor/redis.conf /etc/redis/redis.conf + @ sudo install -m 644 -p ./contrib/redis-supervisor/sentinel.conf /etc/redis/sentinel.conf + @ sudo install -m 644 -p ./contrib/supervisor/pybossa.conf /etc/supervisor/conf.d/pybossa.conf + @ sudo install -m 644 -p ./contrib/supervisor/redis-sentinel.conf /etc/supervisor/conf.d/redis-sentinel.conf + @ sudo install -m 644 -p ./contrib/supervisor/redis-server.conf /etc/supervisor/conf.d/redis-server.conf + @ sudo install -m 644 -p ./contrib/supervisor/rq-scheduler.conf /etc/supervisor/conf.d/rq-scheduler.conf + @ sudo install -m 644 -p ./contrib/supervisor/rq-worker.conf /etc/supervisor/conf.d/rq-worker.conf @ sudo chown redis:redis /etc/redis/redis.conf @ sudo chown redis:redis /etc/redis/sentinel.conf + @ [ -e /etc/apache2/sites-enabled/vlibras-wiki.conf ] || sudo a2ensite pybossa.conf + @ sudo service redis-server stop + @ sudo update-rc.d -f redis-server remove + -@ sudo killall redis-server + @ # sudo rm -f /etc/apache2/sites-available/vlibras-wiki.conf /etc/apache2/sites-enabled/vlibras-wiki.conf + +env: + @ ( \ + virtualenv ./env/; \ + . ./env/bin/activate; \ + pip install -U pip; \ + pip install -U uwsgi; \ + pip install -U ndg-httpsclient; \ + pip install -r requirements.txt; \ + ) + +build: env + -@ sudo service postgresql restart > /dev/null + -@ $(MAKE) -s drop-db > /dev/null + -@ $(MAKE) -s create-db > /dev/null + @( \ + . ./env/bin/activate; \ + python cli.py db_create; \ + ) @ while ! sudo service supervisor restart; do echo "fail, retrying ..."; done @ sudo supervisorctl restart rq-scheduler @ sudo supervisorctl restart rq-worker @@ -126,20 +136,15 @@ install-dep: @ sudo a2enmod headers -@ sudo a2dissite 000-default.conf -PYBOSSA_DB_USERNAME = pybossa -PYBOSSA_DB_PASSWORD = tester -PYBOSSA_DB_PSQL = psql -c -PYBOSSA_DB_CREATE = ${PYBOSSA_DB_PSQL} \"CREATE USER pybossa WITH PASSWORD '${PYBOSSA_DB_PASSWORD}'\"; -PYBOSSA_DB_CREATE += ${PYBOSSA_DB_PSQL} \"CREATE DATABASE pybossa OWNER ${PYBOSSA_DB_USERNAME}\"; -PYBOSSA_DB_DROP = ${PYBOSSA_DB_PSQL} \"DROP DATABASE ${PYBOSSA_DB_USERNAME}\"; -PYBOSSA_DB_DROP += ${PYBOSSA_DB_PSQL} \"DROP USER ${PYBOSSA_DB_USERNAME}\"; +PYBOSSA_DB_USERNAME := pybossa +PYBOSSA_DB_PASSWORD := tester +PYBOSSA_DB_CREATE := psql -c \"CREATE USER pybossa WITH PASSWORD '${PYBOSSA_DB_PASSWORD}'\"; +PYBOSSA_DB_CREATE += psql -c \"CREATE DATABASE pybossa OWNER ${PYBOSSA_DB_USERNAME}\"; +PYBOSSA_DB_DROP := psql -c \"DROP DATABASE ${PYBOSSA_DB_USERNAME}\"; +PYBOSSA_DB_DROP += psql -c \"DROP USER ${PYBOSSA_DB_USERNAME}\"; create-db: @ sudo su postgres -c "${PYBOSSA_DB_CREATE}" - @( \ - . ./env/bin/activate; \ - python cli.py db_create; \ - ) drop-db: @ sudo su postgres -c "${PYBOSSA_DB_DROP}" -- libgit2 0.21.2