projects-dir.mk: Fix support for automated builds

Since Revision 1.97, CVS_RSH is unconditionally set to override settings from
the CVS packages' environment. This, however, broke automated builds, since that
environment variable also communicated their pubkey-authenticated SSH variant.
Introduced two ways to remedy that:

1. Take JW_BUILD_SSH from the environment which takes precendence over
   everything else.
2. Made JW_BUILD_SSH_EXTRA_OPTS a += assignment, to allow callers to squeeze
   extra options into the environment.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2017-04-13 08:42:50 +00:00
commit 357ad0c8f9

View file

@ -5,9 +5,9 @@
# You will need a janware.com user account for pretty much anything this # You will need a janware.com user account for pretty much anything this
# Makefile does. Ask admin@janware.com if you want one. # Makefile does. Ask admin@janware.com if you want one.
# #
# https://janware.com/wiki/pub/en/sw/build/ provides current documentation on # Please see https://janware.com/wiki/pub/en/sw/build/ for current
# how this Makefile is meant to be used. Running "make doc-module" might take # documentation on how this Makefile is meant to be used. Running
# you there semi-automatically. # "make doc-module" might take you there semi-automatically.
# #
# ------------ Makefile and environment variables # ------------ Makefile and environment variables
@ -42,9 +42,15 @@ endif
CWD := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) CWD := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
export CVSROOT = :ext:$(JANWARE_USER)@cvs.jannet.de:/home/jannet/arc/cvs export CVSROOT = :ext:$(JANWARE_USER)@cvs.jannet.de:/home/jannet/arc/cvs
export CVS_RSH := $(CWD)/ssh-wrapper.sh
ifneq ($(JW_BUILD_SSH),)
export CVS_RSH := $(JW_BUILD_SSH)
else
export CVS_RSH := $(CWD)/ssh-wrapper.sh
endif
export GIT_SSH := $(CVS_RSH) export GIT_SSH := $(CVS_RSH)
export JW_BUILD_SSH_EXTRA_OPTS = -o ControlMaster=auto -o ControlPath=/tmp/%r@build:%p -o ControlPersist=3m export JW_BUILD_SSH_EXTRA_OPTS += -o ControlMaster=auto -o ControlPath=/tmp/%r@jw-build:%p -o ControlPersist=3m
ifneq ($(CLONE_FROM_USER),) ifneq ($(CLONE_FROM_USER),)
export PGIT_CLONE_FROM_USER = $(CLONE_FROM_USER) export PGIT_CLONE_FROM_USER = $(CLONE_FROM_USER)
@ -53,7 +59,7 @@ else
endif endif
ifneq ($(EXCLUDE_FROM_BUILD),) ifneq ($(EXCLUDE_FROM_BUILD),)
BUILD_PY_EXTRA_ARGS += --exclude "$(EXCLUDE_FROM_BUILD)" BUILD_PY_EXTRA_ARGS += --exclude "$(EXCLUDE_FROM_BUILD)"
endif endif
# ------------ external programs # ------------ external programs