diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7bfa451 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +.* +*~ +!.gitignore +!.gitempty +*.log +*.pyc +*.json +env/ \ No newline at end of file diff --git a/Makefile b/Makefile index bb2e5cb..21be5b3 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ TASKMGR_DIR = $(CURDIR) -TASKMGR_INIT_SCRIPT = wikilibras-taskmgr.init +TASKMGR_INIT_SCRIPT = wikilibras-taskmgr TASKMGR_INIT = ${TASKMGR_DIR}/${TASKMGR_INIT_SCRIPT} -TASKMGR_INIT_ETC = /etc/init.d/${TASKMGR_INIT_SCRIPT} +TASKMGR_ETC_INIT = /etc/init.d/${TASKMGR_INIT_SCRIPT} TASKMGR_LOG = ${TASKMGR_DIR}/events.log TASKMGR_REQUIREMENTS = ${TASKMGR_DIR}/requirements.txt TASKMGR_ENV = ${TASKMGR_DIR}/env @@ -14,40 +14,56 @@ TASKMGR_SETTINGS_T = ${TASKMGR_SETTINGS}.template TASKMGR_DATABASE = ${TASKMGR_DIR}/database.json TASKMGR_DATABASE_B = ${TASKMGR_PROJECT}.bak -install: build enable-startup +PATH_CORRETOR = $(subst $(shell basename "$(CURDIR)"),corretor_sinais,$(CURDIR)) +PATH_VALIDADOR = $(subst $(shell basename "$(CURDIR)"),validador_sinais,$(CURDIR)) +PATH_WIKILIBRAS = $(subst $(shell basename "$(CURDIR)"),wikilibrasV2,$(CURDIR)) -build: uninstall - @rm -f ${TASKMGR_LOG} - @( \ - cd ${TASKMGR_DIR}; \ - virtualenv ${TASKMGR_ENV}; \ - . ${TASKMGR_ENV_ACTIVATE}; \ - ${TASKMGR_ENV_PIP} install -U pip; \ - ${TASKMGR_ENV_PIP} install -r ${TASKMGR_REQUIREMENTS}; \ - ) +SED_REPLACE_ALL_PATH = sed -i "s\#$(1)\#$(2)\#g" "$(3)" + +install: uninstall build config startup-enable + +build: + @ ( \ + cd "${TASKMGR_DIR}"; \ + virtualenv ./env; \ + . ./env/bin/activate; \ + pip install -U pip; \ + pip install -r requirements.txt; \ + ) clean: - @find ${TASKMGR_DIR} -regextype posix-awk -regex "(.*.log|.*.pyc)" -type f -delete + @ sudo find ${TASKMGR_DIR} -regextype posix-awk -regex "(.*.log|.*.pyc)" -type f -delete + +config: + @ cp "${TASKMGR_SETTINGS_T}" "${TASKMGR_SETTINGS}" + @ $(call SED_REPLACE_ALL_PATH,,${PATH_CORRETOR},${TASKMGR_SETTINGS}) + @ $(call SED_REPLACE_ALL_PATH,,${PATH_VALIDADOR},${TASKMGR_SETTINGS}) + @ $(call SED_REPLACE_ALL_PATH,,${PATH_WIKILIBRAS},${TASKMGR_SETTINGS}) -disable-startup: - @sudo update-rc.d -f ${TASKMGR_INIT_SCRIPT} remove - @sudo rm -f ${TASKMGR_INIT_ETC} +startup-disable: + @ sudo update-rc.d -f "${TASKMGR_INIT_SCRIPT}" remove + @ sudo rm -f "${TASKMGR_ETC_INIT}" -enable-startup: - @sed "s##${TASKMGR_DIR}#" ${TASKMGR_INIT} | sudo tee ${TASKMGR_INIT_ETC} - @sudo chmod 755 ${TASKMGR_INIT_ETC} - @sudo chown "root:root" ${TASKMGR_INIT_ETC} - @sudo update-rc.d -f ${TASKMGR_INIT_SCRIPT} defaults +startup-enable: + @ sed "s##${TASKMGR_DIR}#" "${TASKMGR_INIT}" | sudo tee "${TASKMGR_ETC_INIT}" > /dev/null + @ sudo chmod 755 "${TASKMGR_ETC_INIT}" + @ sudo chown "root:root" "${TASKMGR_ETC_INIT}" + @ sudo update-rc.d -f "${TASKMGR_INIT_SCRIPT}" defaults run: - @( \ - cd ${TASKMGR_DIR}; \ - . ${TASKMGR_ENV_ACTIVATE}; \ - ${TASKMGR_ENV_PYTHON} ${TASKMGR_DIR}/main.py; \ - ) + @ ( \ + cd "${TASKMGR_DIR}"; \ + . ./env/bin/activate; \ + python main.py; \ + ) -uninstall: clean disable-startup - @rm -rf ${TASKMGR_ENV} +uninstall: clean startup-disable + @ rm -rf ./env/ -reset: - @if [ -e "${TASKMGR_DATABASE}" ]; then cat ${TASKMGR_DATABASE}; echo ""; sudo rm -f ${TASKMGR_DATABASE} ${TASKMGR_LOG}; fi +reset: clean + @ if [ -e "${TASKMGR_DATABASE}" ]; \ + then \ + cat ${TASKMGR_DATABASE}; \ + echo ""; \ + sudo rm -f "${TASKMGR_DATABASE}"; \ + fi diff --git a/wikilibras-taskmgr b/wikilibras-taskmgr new file mode 100644 index 0000000..b653dad --- /dev/null +++ b/wikilibras-taskmgr @@ -0,0 +1,31 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: wikilibras-taskmgr +# Required-Start: $all +# Required-Stop: $all +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: This service update tasks for Wikilibras +# Description: Enable service provided by Wikilibras API at boot +### END INIT INFO + +# set -e + +export PATH=$PATH:/usr/local/bin + +case "$1" in + start) + cd "" + . env/bin/activate + python main.py & + ;; + stop) + killall python + ;; + *) + echo "Usage: /etc/init.d/wikilibras-taskmgr {start|stop}" + exit 1 + ;; +esac + +exit 0 diff --git a/wikilibras-taskmgr.init b/wikilibras-taskmgr.init deleted file mode 100644 index 2100111..0000000 --- a/wikilibras-taskmgr.init +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: wikilibras-taskmgr.init -# Required-Start: $all -# Required-Stop: $all -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: This service update tasks for Wikilibras -# Description: Enable service provided by Wikilibras API at boot -### END INIT INFO - -set -e - -export PATH=$PATH:/usr/local/bin - -CWD="" - -case "$1" in - start) - cd "$CWD" - . env/bin/activate - python main.py & - ;; - stop) - cd "$CWD" - make stop - ;; - *) - echo "Usage: /etc/init.d/wikilibras-taskmgr.init {start|stop}" - exit 1 - ;; -esac - -exit 0 -- libgit2 0.21.2