From 162f0b1477e49cb804135765016cf9b4200cdb7f Mon Sep 17 00:00:00 2001 From: Waqar Ahmed Date: Tue, 20 Apr 2021 18:10:47 +0500 Subject: [PATCH] Add ability to create/manage virtual env via makefile --- .gitignore | 1 + Makefile | 31 +++++++++++++++++++++---------- requirements.txt | 4 ++++ 3 files changed, 26 insertions(+), 10 deletions(-) create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore index 6de945d..691da92 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ build/ dist/ scale_build.egg-info/ scale_build/__pycache__/ +venv-* diff --git a/Makefile b/Makefile index 86f4768..e48b013 100644 --- a/Makefile +++ b/Makefile @@ -2,16 +2,27 @@ # Makefile for building: TrueNAS SCALE ############################################################################# PYTHON?=/usr/bin/python3 +COMMIT_HASH=$(shell git rev-parse --short HEAD) + +check: +ifeq ("$(wildcard ./venv-${COMMIT_HASH})","") + @rm -rf venv-* + @apt install -y python3-distutils python3-pip python3-venv >/dev/null 2>&1 + @${PYTHON} -m venv venv-${COMMIT_HASH} + @. ./venv-${COMMIT_HASH}/bin/activate && \ + python3 -m pip install -r requirements.txt >/dev/null 2>&1 && \ + python3 setup.py install >/dev/null 2>&1; +endif all: checkout packages update iso -clean: - ${PYTHON} scale_build clean -checkout: - ${PYTHON} scale_build checkout -iso: - ${PYTHON} scale_build iso -packages: - ${PYTHON} scale_build packages -update: - ${PYTHON} scale_build update +clean: check + . ./venv-${COMMIT_HASH}/bin/activate && scale_build clean +checkout: check + . ./venv-${COMMIT_HASH}/bin/activate && scale_build checkout +iso: check + . ./venv-${COMMIT_HASH}/bin/activate && scale_build iso +packages: check + . ./venv-${COMMIT_HASH}/bin/activate && scale_build packages +update: check + . ./venv-${COMMIT_HASH}/bin/activate && scale_build update diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..590f702 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +toposort +psutil +pyyaml +requests