From abaed27575826b405b1b0fc3b4c154ea99c5ba6a Mon Sep 17 00:00:00 2001 From: Vinicius Silva Date: Mon, 22 May 2023 20:37:20 -0300 Subject: [PATCH] Create system installation --- danix/main.py | 2 +- danix/makefile | 53 +++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 49 insertions(+), 6 deletions(-) diff --git a/danix/main.py b/danix/main.py index e9fb9d5..2c9dfac 100755 --- a/danix/main.py +++ b/danix/main.py @@ -106,4 +106,4 @@ if check_system_configuration(): Environment.copy(args.copy) else: print("🔴 Danix system is not configured!") - print("Plase run 'make config'") \ No newline at end of file + print("Plase run 'danixclean' after 'danixconfig'\n\n") \ No newline at end of file diff --git a/danix/makefile b/danix/makefile index 9a82402..d41d122 100644 --- a/danix/makefile +++ b/danix/makefile @@ -4,7 +4,7 @@ SNAPSHOT_LIMIT=3 DB_NAME=db.sqlite3 MAIN_REPO=/opt/danix/ ROOT_FS=danixfs.tar.gz -DANIX_PATH=$(shell pwd) +DANIX_PATH=/usr/share/danix REPO_NAME=https://silvavinicius.com.br/danixfs/ ENV_GENERIC_ERROR=Error! @@ -15,11 +15,57 @@ ENV_STOPPED=Environment stopped successfully! ENV_STOPPED_ERROR=Error! The environment is stopped! ENV_PATTERN_ERROR=Environment name pattern contains in multiples environments + +install: + +ifneq ($(shell id -u), 0) + + @echo "You are not root, run this target as root please" + @exit 0 + +else + + + @mkdir $(DANIX_PATH) 2>&1 + @cp -r * $(DANIX_PATH) 2>&1 + + @mkdir $(MAIN_REPO) > /dev/null 2>&1 + @mkdir $(MAIN_REPO)/.snapshots > /dev/null 2>&1 + + @touch $(DANIX_PATH)/.env 2>&1 + + @echo REPO_NAME=$(REPO_NAME) >> $(DANIX_PATH)/.env + @echo MAIN_REPO=$(MAIN_REPO) >> $(DANIX_PATH)/.env + @echo ROOT_FS=$(ROOT_FS) >> $(DANIX_PATH)/.env + @echo SNAPSHOT_LIMIT=$(SNAPSHOT_LIMIT) >> $(DANIX_PATH)/.env + @echo ENV_NOT_FOUND=$(ENV_NOT_FOUND) >> $(DANIX_PATH)/.env + @echo ENV_GENERIC_ERROR=$(ENV_GENERIC_ERROR) >> $(DANIX_PATH)/.env + @echo ENV_STOPPED_ERROR=$(ENV_STOPPED_ERROR) >> $(DANIX_PATH)/.env + @echo ENV_PATTERN_ERROR=$(ENV_PATTERN_ERROR) >> $(DANIX_PATH)/.env + @echo ENV_REMOVED=$(ENV_REMOVED) >> $(DANIX_PATH)/.env + @echo ENV_STARTED=$(ENV_STARTED) >> $(DANIX_PATH)/.env + @echo ENV_STOPPED=$(ENV_STOPPED) >> $(DANIX_PATH)/.env + + @touch $(DANIX_PATH)/db/$(DB_NAME) > /dev/null 2>&1 + @$(PIP) install -r $(DANIX_PATH)/requirements.txt > /dev/null 2>&1 + + @$(PYTHON) $(DANIX_PATH)/manage.py migrate + + @echo "alias danix='sudo python $(DANIX_PATH)/main.py'" >> ~/.bashrc + @echo "alias danixconfig='make -C $(DANIX_PATH) config'" >> ~/.bashrc + @echo "alias danixclean='make -C $(DANIX_PATH) clean'" >> ~/.bashrc + @echo "Installation successfully!!!" +endif + + + config: @mkdir $(MAIN_REPO) > /dev/null 2>&1 @mkdir $(MAIN_REPO)/.snapshots > /dev/null 2>&1 + @echo touch $(DANIX_PATH)/.env + @echo REPO_NAME=$(REPO_NAME) >> $(DANIX_PATH)/.env @echo MAIN_REPO=$(MAIN_REPO) >> $(DANIX_PATH)/.env @echo ROOT_FS=$(ROOT_FS) >> $(DANIX_PATH)/.env @@ -37,8 +83,6 @@ config: @$(PYTHON) $(DANIX_PATH)/manage.py migrate - @echo Danix configured successfully! Please run make aliases - aliases: @alias sudo='sudo ' @alias danix="python main.py" @@ -47,6 +91,5 @@ aliases: clean: @rm -r $(MAIN_REPO) > /dev/null 2>&1 - @rm $(DANIX_PATH)/db/$(DB_NAME) > /dev/null 2>&1 - @rm $(DANIX_PATH)/.env + @rm $(DANIX_PATH) > /dev/null 2>&1 @echo Danix cleaned! \ No newline at end of file