From d740f30226f72652bc024acc860a589da14e7331 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Tue, 18 Nov 2025 21:14:19 +0100 Subject: [PATCH] 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 --- make/projects-dir-minimal.mk | 12 +++++++----- make/projects-dir.mk | 32 +++++++++++++------------------- 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/make/projects-dir-minimal.mk b/make/projects-dir-minimal.mk index f8882bab..7d68d7fc 100644 --- a/make/projects-dir-minimal.mk +++ b/make/projects-dir-minimal.mk @@ -16,19 +16,21 @@ PROJECTS_MAKEFILE_NAME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) +-include local.mk + ifeq ($(origin PROJECTS_DIR_REMOTE_BASE),undefined) 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 - PROJECTS_DIR_REMOTE_BASE ?= https://janware.com/code/janware + CLONE_FROM_USER ?= janware + PROJECTS_DIR_REMOTE_BASE ?= https://janware.com/code 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)) PROJECTS_DIR_INCLUDE_MK = $(JWBDIR)/make/projects-dir-include.mk --include local.mk - all: include $(PROJECTS_DIR_INCLUDE_MK) diff --git a/make/projects-dir.mk b/make/projects-dir.mk index bafd3366..9c2eeab2 100644 --- a/make/projects-dir.mk +++ b/make/projects-dir.mk @@ -1,4 +1,3 @@ -# # SPDX-License-Identifier: LGPL-2.0-only # # Makefile for managing multiple software repositories in one tree @@ -36,6 +35,9 @@ PROJECTS_TXT ?= projects.txt JW_BUILD_VERBOSE ?= false BASE_PKGS = git make sudo time xdg-utils python3 PREREQ_RELEASE ?= pull +ifneq ($(origin JANWARE_USER),undefined) + export JANWARE_USER +endif # ------------ evaluate Makefile and environment variables @@ -67,11 +69,6 @@ OFFLINE_PROJECTS ?= $(EXCLUDE_FROM_BUILD) 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) UNAVAILABLE_TARGETS ?= pull.done update.done clone.done 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) 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),) PROJECTS_PY_EXTRA_BUILD_OPTS += --exclude "$(EXCLUDE_FROM_BUILD)" endif @@ -117,13 +102,22 @@ EDITOR ?= xdg-open ifeq ($(TIME),) TIME = $(shell which time) -p 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) + PGIT_SH = /bin/bash $(JWB_SCRIPT_DIR)/pgit.sh 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) PGIT_SH += --remote-base $(PROJECTS_DIR_REMOTE_BASE) endif + 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) 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)