projects-dir[-minimal.mk]: Group PGIT_SH-related variables

Group variables related with pgit.sh (PGIT_SH and PGIT_SH_CLONE)
closer together. Define CLONE_FROM_USER early on.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2025-11-18 21:14:19 +01:00
commit d740f30226
2 changed files with 20 additions and 24 deletions

View file

@ -16,19 +16,21 @@
PROJECTS_MAKEFILE_NAME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) PROJECTS_MAKEFILE_NAME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
-include local.mk
ifeq ($(origin PROJECTS_DIR_REMOTE_BASE),undefined) ifeq ($(origin PROJECTS_DIR_REMOTE_BASE),undefined)
ifneq ($(JANWARE_USER),) ifneq ($(JANWARE_USER),)
PROJECTS_DIR_REMOTE_BASE ?= ssh://$(JANWARE_USER)@git.janware.com/srv/git/jan$(PROJECTS_DIR_REMOTE_SUBPATH)/jw-build CLONE_FROM_USER ?= $(JANWARE_USER)
PROJECTS_DIR_REMOTE_BASE ?= ssh://$(JANWARE_USER)@git.janware.com/srv/git
else else
PROJECTS_DIR_REMOTE_BASE ?= https://janware.com/code/janware CLONE_FROM_USER ?= janware
PROJECTS_DIR_REMOTE_BASE ?= https://janware.com/code
endif endif
endif endif
JWBDIR_GIT_REMOTE ?= $(PROJECTS_DIR_REMOTE_BASE)/jw-build JWBDIR_GIT_REMOTE ?= $(PROJECTS_DIR_REMOTE_BASE)/$(CLONE_FROM_USER)/jw-build
JWBDIR ?= $(notdir $(JWBDIR_GIT_REMOTE)) JWBDIR ?= $(notdir $(JWBDIR_GIT_REMOTE))
PROJECTS_DIR_INCLUDE_MK = $(JWBDIR)/make/projects-dir-include.mk PROJECTS_DIR_INCLUDE_MK = $(JWBDIR)/make/projects-dir-include.mk
-include local.mk
all: all:
include $(PROJECTS_DIR_INCLUDE_MK) include $(PROJECTS_DIR_INCLUDE_MK)

View file

@ -1,4 +1,3 @@
#
# SPDX-License-Identifier: LGPL-2.0-only # SPDX-License-Identifier: LGPL-2.0-only
# #
# Makefile for managing multiple software repositories in one tree # Makefile for managing multiple software repositories in one tree
@ -36,6 +35,9 @@ PROJECTS_TXT ?= projects.txt
JW_BUILD_VERBOSE ?= false JW_BUILD_VERBOSE ?= false
BASE_PKGS = git make sudo time xdg-utils python3 BASE_PKGS = git make sudo time xdg-utils python3
PREREQ_RELEASE ?= pull PREREQ_RELEASE ?= pull
ifneq ($(origin JANWARE_USER),undefined)
export JANWARE_USER
endif
# ------------ evaluate Makefile and environment variables # ------------ evaluate Makefile and environment variables
@ -67,11 +69,6 @@ OFFLINE_PROJECTS ?= $(EXCLUDE_FROM_BUILD)
TEXT_FILES_CACHE ?= text-files.txt TEXT_FILES_CACHE ?= text-files.txt
ifneq ($(origin JANWARE_USER),undefined)
export JANWARE_USER
PGIT_SH_CLONE += --create-remote-user-repos
endif
ifeq ($(OFFLINE),true) ifeq ($(OFFLINE),true)
UNAVAILABLE_TARGETS ?= pull.done update.done clone.done UNAVAILABLE_TARGETS ?= pull.done update.done clone.done
else else
@ -88,18 +85,6 @@ ifeq ($(filter pkg-%,$(MAKECMDGOALS)),)
export JW_BUILD_SSH_EXTRA_OPTS += -o StrictHostKeyChecking=no -o ControlMaster=auto -o ControlPath=/tmp/%r@jw-build:%h:%p -o ControlPersist=3m -l $(JANWARE_USER) export JW_BUILD_SSH_EXTRA_OPTS += -o StrictHostKeyChecking=no -o ControlMaster=auto -o ControlPath=/tmp/%r@jw-build:%h:%p -o ControlPersist=3m -l $(JANWARE_USER)
endif endif
ifneq ($(CLONE_FROM_USER),)
export PGIT_CLONE_FROM_USER = $(CLONE_FROM_USER)
else ifneq ($(JANWARE_USER),)
export PGIT_CLONE_FROM_USER = $(JANWARE_USER)
else
export PGIT_CLONE_FROM_USER = janware
endif
ifneq ($(OFFLINE_PROJECTS),)
export PGIT_IGNORE = $(OFFLINE_PROJECTS)
endif
ifneq ($(EXCLUDE_FROM_BUILD),) ifneq ($(EXCLUDE_FROM_BUILD),)
PROJECTS_PY_EXTRA_BUILD_OPTS += --exclude "$(EXCLUDE_FROM_BUILD)" PROJECTS_PY_EXTRA_BUILD_OPTS += --exclude "$(EXCLUDE_FROM_BUILD)"
endif endif
@ -117,13 +102,22 @@ EDITOR ?= xdg-open
ifeq ($(TIME),) ifeq ($(TIME),)
TIME = $(shell which time) -p TIME = $(shell which time) -p
endif endif
PROJECTS_PY = PYTHONPATH=$(realpath $(JWBDIR)/src/python) $(TIME) python3 $(JWB_SCRIPT_DIR)/jw-projects.py --prefix $(shell pwd) $(PROJECTS_PY_EXTRA_OPTS) PROJECTS_PY = $(TIME) python3 $(JWB_SCRIPT_DIR)/jw-projects.py --prefix $(shell pwd) $(PROJECTS_PY_EXTRA_OPTS)
PROJECTS_PY_BUILD = $(PROJECTS_PY) build $(PROJECTS_PY_EXTRA_BUILD_OPTS) PROJECTS_PY_BUILD = $(PROJECTS_PY) build $(PROJECTS_PY_EXTRA_BUILD_OPTS)
PGIT_SH = /bin/bash $(JWB_SCRIPT_DIR)/pgit.sh PGIT_SH = /bin/bash $(JWB_SCRIPT_DIR)/pgit.sh
PGIT_SH_CLONE = $(PGIT_SH) clone PGIT_SH_CLONE = $(PGIT_SH) clone
export PGIT_CLONE_FROM_USER = $(CLONE_FROM_USER)
ifneq ($(OFFLINE_PROJECTS),)
export PGIT_IGNORE = $(OFFLINE_PROJECTS)
endif
ifneq ($(JANWARE_USER),)
PGIT_SH_CLONE += --create-remote-user-repos
endif
ifneq ($(origin PROJECTS_DIR_REMOTE_BASE),undefined) ifneq ($(origin PROJECTS_DIR_REMOTE_BASE),undefined)
PGIT_SH += --remote-base $(PROJECTS_DIR_REMOTE_BASE) PGIT_SH += --remote-base $(PROJECTS_DIR_REMOTE_BASE)
endif endif
PURGE_SH = /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/purge-stale-projects.sh $(JW_BUILD_BINDIR)/purge-stale-projects.sh) purge-not-found) PURGE_SH = /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/purge-stale-projects.sh $(JW_BUILD_BINDIR)/purge-stale-projects.sh) purge-not-found)
PKG_MANAGER_SH ?= /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/pkg-manager.sh $(JW_BUILD_BINDIR)/pkg-manager.sh) pkg-manager-not-found) PKG_MANAGER_SH ?= /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/pkg-manager.sh $(JW_BUILD_BINDIR)/pkg-manager.sh) pkg-manager-not-found)
CREATE_PROJECT_SH ?= /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/jw-build-create-project.sh $(JW_BUILD_BINDIR)/jw-build-create-project.sh) jw-build-create-project-not-found) CREATE_PROJECT_SH ?= /bin/bash $(firstword $(wildcard $(JWB_SCRIPT_DIR)/jw-build-create-project.sh $(JW_BUILD_BINDIR)/jw-build-create-project.sh) jw-build-create-project-not-found)