Makefile
3.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
PROJECT_NAME = wikilibras
VLIBRAS_WIKILIBRAS_ENV := /etc/profile.d/lavid/vlibras/wikilibras_env.sh
PROJECT_DIR := $(CURDIR)
SED_REPLACE_ALL = sed -i "s/$(1)/$(2)/g" "$(3)"
SED_REPLACE_ALL_PATH = sed -i "s\#$(1)\#$(2)\#g" "$(3)"
-include ${VLIBRAS_WIKILIBRAS_ENV}
ifndef LOCALHOST
ifndef NETWORK_INTERFACE
NETWORK_INTERFACE := $(shell ip route | grep "default" | awk '{print $$5; exit}')
endif
ifdef NETWORK_INTERFACE
LOCALHOST ?= $(shell ip route get 1 | awk '{print $$7; exit}')
endif
endif
ifndef LOCALHOST
LOCALHOST ?= 127.0.0.1
endif
install: uninstall config env
env:
@ ( \
virtualenv ./env/; \
. ./env/bin/activate; \
pip install -U pip; \
pip install -U uwsgi; \
pip install -U ndg-httpsclient; \
pip install -r requirements.txt; \
)
create_project update_project:
@ echo "http://${LOCALHOST}/${PROJECT_NAME}-backend/$@"
ifdef PYBOSSA_API_KEY
@ curl "http://${LOCALHOST}/${PROJECT_NAME}-backend/$@" && echo ""
endif
config:
@ cp settings_local.py.tmpl settings_local.py
@ $(call SED_REPLACE_ALL_PATH,<path-to-project>,${PROJECT_DIR},settings_local.py)
@ $(call SED_REPLACE_ALL,localhost,${LOCALHOST},settings_local.py)
ifdef PYBOSSA_API_KEY
@ $(call SED_REPLACE_ALL,my-api-key,${PYBOSSA_API_KEY},settings_local.py)
endif
@ cp ./contrib/${PROJECT_NAME}.wsgi.tmpl ./contrib/${PROJECT_NAME}.wsgi
@ $(call SED_REPLACE_ALL_PATH,<path-to-project>,${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,<path-to-project>,${PROJECT_DIR},./contrib/apache/${PROJECT_NAME}.conf)
@ sudo cp -u "/etc/apache2/sites-available/pybossa.conf" /etc/apache2/sites-available/wikilibras.conf
@ if grep -q "WSGIScriptAlias /${PROJECT_NAME}" "/etc/apache2/sites-available/wikilibras.conf"; \
then \
echo "\33[33;1mA previous WSGI daemon definition for '${PROJECT_NAME}' in: /etc/apache2/sites-available/wikilibras.conf\33[0m"; \
else \
sudo sed -i -e "/Header/,/VirtualHost>/d" /etc/apache2/sites-available/wikilibras.conf; \
sudo sed -n -e '/WSGIDaemonProcess/,/VirtualHost>/p' ./contrib/apache/${PROJECT_NAME}.conf | \
sudo tee -a /etc/apache2/sites-available/wikilibras.conf > /dev/null; \
fi
apache:
@ sudo a2dissite pybossa.conf
@ sudo a2ensite wikilibras.conf
@ sudo apachectl configtest
@ sudo service apache2 start
@ sudo service apache2 reload
clean:
@ find . -regextype posix-awk -regex "(.*.log|.*.pyc)" -type f -print -delete
uninstall:
@ rm -rf ./env/
$(MAKE) clean
@ rm -f ./settings_local.py
@ rm -f ./contrib/${PROJECT_NAME}.wsgi
@ sudo rm -f /etc/apache2/sites-available/wikilibras.conf
@ sudo rm -f /etc/apache2/sites-enabled/wikilibras.conf
run:
@ ( \
. ./env/bin/activate; \
python main.py; \
)