mirror of
https://github.com/truenas/scale-build.git
synced 2025-12-19 18:39:15 +00:00
* fix building on trixie * fix inconsistencies in pyproject.toml * fix manifest.yml * remove hard-coded debian version from readme
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 -m pip 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)
|