mirror of
https://github.com/truenas/scale-build.git
synced 2026-02-15 07:29:12 +00:00
This commit adds changes to be backwards compatible with older bullseye builders where pip does not yet support break system packages flag.
49 lines
2.1 KiB
Makefile
49 lines
2.1 KiB
Makefile
#############################################################################
|
|
# Makefile for building: TrueNAS SCALE
|
|
#############################################################################
|
|
PYTHON?=/usr/bin/python3
|
|
COMMIT_HASH=$(shell git rev-parse --short HEAD)
|
|
PACKAGES?=""
|
|
REPO_CHANGED=$(shell if [ -d "./venv-$(COMMIT_HASH)" ]; then git status --porcelain | grep -c "scale_build/"; else echo "1"; fi)
|
|
# Check if --break-system-packages flag is supported by pip
|
|
BREAK_SYS_PKGS_FLAG=$(shell ${PYTHON} -m pip help install | grep -q -- '--break-system-packages' && echo "--break-system-packages" || echo "")
|
|
|
|
.DEFAULT_GOAL := all
|
|
|
|
check:
|
|
ifneq ($(REPO_CHANGED),0)
|
|
@echo "Setting up new virtual environment"
|
|
@rm -rf venv-*
|
|
@${PYTHON} -m pip install $(BREAK_SYS_PKGS_FLAG) -U virtualenv >/dev/null || { echo "Failed to install/upgrade virtualenv package"; exit 1; }
|
|
@${PYTHON} -m venv venv-${COMMIT_HASH} || { echo "Failed to create virutal environment"; exit 1; }
|
|
@{ . ./venv-${COMMIT_HASH}/bin/activate && \
|
|
python3 -m pip install -r requirements.txt >/dev/null 2>&1 && \
|
|
python3 setup.py install >/dev/null 2>&1; } || { echo "Failed to install scale-build"; exit 1; }
|
|
endif
|
|
|
|
all: checkout packages update iso
|
|
|
|
clean: check
|
|
. ./venv-${COMMIT_HASH}/bin/activate && scale_build clean
|
|
checkout: check
|
|
. ./venv-${COMMIT_HASH}/bin/activate && scale_build checkout
|
|
check_upstream_package_updates: check
|
|
. ./venv-${COMMIT_HASH}/bin/activate && scale_build check_upstream_package_updates
|
|
iso: check
|
|
. ./venv-${COMMIT_HASH}/bin/activate && scale_build iso
|
|
packages: check
|
|
ifeq ($(PACKAGES),"")
|
|
. ./venv-${COMMIT_HASH}/bin/activate && scale_build packages
|
|
else
|
|
. ./venv-${COMMIT_HASH}/bin/activate && scale_build packages --packages ${PACKAGES}
|
|
endif
|
|
update: check
|
|
. ./venv-${COMMIT_HASH}/bin/activate && scale_build update
|
|
validate_manifest: check
|
|
. ./venv-${COMMIT_HASH}/bin/activate && scale_build validate --no-validate-system_state
|
|
validate: check
|
|
. ./venv-${COMMIT_HASH}/bin/activate && scale_build validate
|
|
|
|
branchout: checkout
|
|
. ./venv-${COMMIT_HASH}/bin/activate && scale_build branchout $(args)
|