Makefile
5.07 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# 20170207
# make config IP=127.0.0.1 KEY=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
# make install
CURRENT_IP := $(shell ip route get 1 | awk '{print $$7; exit}')
NETWORK_INTERFACE := $(shell ip route | grep "default" | awk '{print $$5; exit}')
VLIBRAS_WIKILIBRAS_ENV := /etc/profile.d/lavid/vlibras/wikilibras_env.sh
VW_CORRETOR_DIR := $(CURDIR)/corretor_sinais
VW_DIR := $(CURDIR)
VW_LOCALHOST := ${IP}
VW_PYBOSSA_API_KEY := ${KEY}
VW_PYBOSSA_DIR := $(CURDIR)/pybossa
VW_TASKMGR_DIR := $(CURDIR)/taskmgr
VW_VALIDADOR_DIR := $(CURDIR)/validador_sinais
VW_WIKILIBRAS_DIR := $(CURDIR)/wikilibrasV2
LOCALHOST = ${IP}
-include ${VLIBRAS_WIKILIBRAS_ENV}
ifndef VW_PYBOSSA_API_KEY
VW_PYBOSSA_API_KEY := ${PYBOSSA_API_KEY}
endif
ifndef VW_LOCALHOST
# Attempt 1: use ip detected automatically
VW_LOCALHOST := ${CURRENT_IP}
endif
ifndef VW_LOCALHOST
# Attempt 2: use ip stored in file ${VLIBRAS_WIKILIBRAS_ENV}
VW_LOCALHOST := ${LOCALHOST}
endif
showip:
@ echo Current Interface: ${NETWORK_INTERFACE}
@ echo Current IP: ${CURRENT_IP}
%_env.sh:
@ echo "#!/bin/sh" > "$@"
@ echo "" >> "$@"
@ echo "#***********************************************************************" >> "$@"
@ echo "# Environment variables for Wikilibras" >> "$@"
@ echo "#" >> "$@"
@ echo "# Created by: LAViD VLibras-Wikilibras $(shell date)" >> "$@"
@ echo "#" >> "$@"
@ echo "# WARNING! All changes made in this file will be lost after instalation!" >> "$@"
@ echo "#***********************************************************************" >> "$@"
@ echo "" >> "$@"
@ echo "export LOCALHOST=\"${VW_LOCALHOST}\"" >> "$@"
@ echo "export NETWORK_INTERFACE=\"${NETWORK_INTERFACE}\"" >> "$@"
@ echo "export PYBOSSA_API_KEY=\"${VW_PYBOSSA_API_KEY}\"" >> "$@"
@ echo "export VW_CORRETOR_DIR=\"${VW_CORRETOR_DIR}\"" >> "$@"
@ echo "export VW_DIR=\"${VW_DIR}\"" >> "$@"
@ echo "export VW_PYBOSSA_DIR=\"${VW_PYBOSSA_DIR}\"" >> "$@"
@ echo "export VW_TASKMGR_DIR=\"${VW_TASKMGR_DIR}\"" >> "$@"
@ echo "export VW_VALIDADOR_DIR=\"${VW_VALIDADOR_DIR}\"" >> "$@"
@ echo "export VW_WIKILIBRAS_DIR=\"${VW_WIKILIBRAS_DIR}\"" >> "$@"
config: $(notdir ${VLIBRAS_WIKILIBRAS_ENV})
@ cat "$^"
@ sudo install -m 655 -p "$^" -D "${VLIBRAS_WIKILIBRAS_ENV}" && rm -f "$^"
@ $(MAKE) -sC ${VW_PYBOSSA_DIR} $@
@ $(MAKE) -sC ${VW_CORRETOR_DIR} $@
@ $(MAKE) -sC ${VW_VALIDADOR_DIR} $@
@ $(MAKE) -sC ${VW_WIKILIBRAS_DIR} $@
@ $(MAKE) -sC ${VW_TASKMGR_DIR} $@
@ $(MAKE) -s apache
@ $(MAKE) -s showip
start-up:
@ while ! sudo service supervisor restart; do echo "fail, retrying ..."; done
@ sudo supervisorctl restart rq-scheduler
@ sudo supervisorctl restart rq-worker
@ sudo supervisorctl restart pybossa
@ sudo service apache2 restart
@ sudo service apache2 reload
apache:
@ sudo service apache2 start
@ if [ -e /etc/apache2/sites-enabled/pybossa.conf ]; then sudo a2dissite pybossa.conf; fi
@ if [ -e /etc/apache2/sites-available/wikilibras.conf ]; then sudo a2ensite wikilibras.conf; fi
@ sudo apachectl configtest
@ sudo service apache2 reload
@ sudo service apache2 restart
create_project update_project:
@ $(MAKE) -sC ${VW_CORRETOR_DIR} $@
@ $(MAKE) -sC ${VW_VALIDADOR_DIR} $@
@ $(MAKE) -sC ${VW_WIKILIBRAS_DIR} $@
REPOSITORIES += "corretor_sinais"
REPOSITORIES += "pybossa"
REPOSITORIES += "taskmgr"
REPOSITORIES += "validador_sinais"
REPOSITORIES += "wikilibras-api"
REPOSITORIES += "wikilibras-core"
REPOSITORIES += "wikilibras-front"
REPOSITORIES += "wikilibrasdbapi"
REPOSITORIES += "wikilibrasV2"
reset:
@ curl "http://${LOCALHOST}:200/reset" && echo ""
@ curl "http://${LOCALHOST}:200/resettasks" && echo ""
@ $(MAKE) -sC wikilibrasdbapi distclean
@ $(MAKE) -sC taskmgr clean
@ $(MAKE) -sC wikilibras-core clean
@ sudo service apache2 stop
@ sudo rm -f /var/log/apache2/error.log
@ sudo touch /var/log/apache2/error.log
@ sudo service apache2 start
@ sudo service apache2 reload
@ $(MAKE) -sC $(CURDIR) update_project
clone:
@ for i in ${REPOSITORIES}; \
do \
[ -d "$$i" ] || git clone "git@gitlab.lavid.ufpb.br:wikilibras/$$i.git"; \
done
install:
@ sudo apt-get update && sudo apt-get -y install build-essential git-core openssh-server
uninstall:
@ sudo rm -f ${VLIBRAS_WIKILIBRAS_ENV}
.PHONY: %_env.sh config clone showip install uninstall