jw-pkg/make/git-submod.mk
2019-04-08 13:18:47 +00:00

36 lines
1.6 KiB
Makefile

# - Clone remote repo into <mydir>/<myrepo>
# - Add the following to <mydir>/Makefile:
# - SUBMOD_SRC_DIR = ./<myrepo>
# - include <path-to-this-makefile>
# - run git-init-submod-remote
ifeq ($(USE_USER_URL),true)
JANWARE_USER_PREFIX = $(JANWARE_USER)@
endif
GIT_SRV_ADMIN_SH = ssh $(JANWARE_USER_PREFIX)git.janware.com /opt/jw-build/bin/git-srv-admin.sh
GIT_REPO_URL = ssh://$(JANWARE_USER_PREFIX)git.janware.com/srv/git/$(JANWARE_USER)/contrib/$(SUBMOD_PKG_NAME)
SUBMOD_PATH = $(patsubst $(abspath $(TOPDIR))/%,%,$(abspath $(CWD)/$(SUBMOD_SRC_DIR)))
SUBMOD_SRC_DIR ?= .
SUB_GIT = git -C $(SUBMOD_SRC_DIR)
SUBMOD_PKG_NAME := $(shell $(SUB_GIT) remote -v | sed -n 's/^[a-zA-Z_]\+\s//; s/ *.*//; s%.*/%%; s%\.git%%; 1p')
SUBMOD_MAIN_BRANCH := $(firstword $(shell $(SUB_GIT) branch --format '%(refname:lstrip=2)'))
include $(MODDIR)/make/defs.mk
all:
install:
clean:
distclean:
git-init-submod-remote:
$(GIT_SRV_ADMIN_SH) -F contrib create-repo $(SUBMOD_PKG_NAME)
$(SUB_GIT) remote rename origin upstream
$(SUB_GIT) remote set-url --push upstream no-push
$(SUB_GIT) remote add origin $(GIT_REPO_URL)
$(SUB_GIT) config branch.$(SUBMOD_MAIN_BRANCH).remote origin
$(SUB_GIT) config branch.$(SUBMOD_MAIN_BRANCH).merge refs/heads/$(SUBMOD_MAIN_BRANCH)
$(SUB_GIT) push origin $(SUBMOD_MAIN_BRANCH)
git -C $(TOPDIR) submodule add -f $(GIT_REPO_URL) $(SUBMOD_PATH)
git submodule init
git commit -m "Add git submodule $(SUBMOD_PATH)" $(SUBMOD_SRC_DIR) $(TOPDIR)/.gitmodules