From 9f4d0adf5f8b06ad68bac12a3fca51fc86f71506 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Tue, 8 Jan 2019 08:09:06 +0000 Subject: [PATCH] srcdist.mk: Trade obsolete contents for VCS-aware tarball generation Ditch the old and mostly dysfunctional contents of srcdist.mk and refill it with rules to generate a source code tarball containing version control meta files. Signed-off-by: Jan Lindemann --- Makefile | 1 + make/srcdist.mk | 45 +++++++++++++++++++++++++++++++++------------ 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 8f37c883..34329c41 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,7 @@ RPM_UPLOAD_URLPREFIX ?= rsync_ssh://$(JANWARE_USER)@pkg.janware.com:/srv/ft include $(TOPDIR)/make/proj.mk include $(MODDIR)/make/topdir.mk +include $(MODDIR)/make/srcdist.mk all: clean: clean.pkgconfig diff --git a/make/srcdist.mk b/make/srcdist.mk index c71f18f9..602bb72d 100644 --- a/make/srcdist.mk +++ b/make/srcdist.mk @@ -1,12 +1,33 @@ -%-src.zip: distclean - mkdir -p $(DISTDIR)/src/$(PROJECT) - mkdir -p $(PCKGDIR) - $(RM) -rf $(DISTDIR)/src/$(PROJECT)/* - mkdir -p $(DISTDIR)/src/$(PROJECT)/mod - cd $(TOPDIR); find . -type f | \ - grep -ve 'CVS\|contrib/nomake\|tar.gz\|/dist/' | \ - xargs tar -cf - | tar -C $(DISTDIR)/src/$(PROJECT) -xf - - echo $(DIST_VERSION) > $(DISTDIR)/src/$(PROJECT)/VERSION ;\ - for mod in $(REQUIRED) ; do make -C $(MODDIR)/$$mod clean; cp -r $(MODDIR)/$$mod $(DISTDIR)/src/$(PROJECT)/mod/ ; done ;\ - cp $(MODDIR)/Makefile $(DISTDIR)/src/$(PROJECT)/mod/ ;\ - tar -czv -C $(DISTDIR)/src/ -f $@ $(PROJECT) +ifeq ($(VCS),cvs) + WD_PKG_VCS_SUFFIX = -cvs + WD_PKG_VCS_FILES = $(shell find . -name CVS) +else ifeq ($(VCS),git) + WD_PKG_VCS_SUFFIX = -git + WD_PKG_VCS_FILES = .git +endif + +WD_PKG_DIR = $(TOPDIR)/dist/wd +WD_PKG_BASE_NAME = $(RPM_PROJECT)$(WD_PKG_VCS_SUFFIX)-$(RPM_VERSION) +WD_PKG = $(WD_PKG_BASE_NAME).tar.bz2 +WD_PKG_PATH = $(WD_PKG_DIR)/$(WD_PKG) +WD_PKG_UPLOAD_SERVER = pkg.janware.com +WD_PKG_UPLOAD_PATH = /srv/dav/pub/clients/jw + +all: + +ifeq ($(VCS),cvs) +ifneq ($(GIT_BUDDY_DIR),) +git2cvs: + cvs up -dP + git -C $(GIT_BUDDY_DIR) cherry origin HEAD | sed -n 's/^+ //p' | xargs -l1 git -C $(GIT_BUDDY_DIR) cvsexportcommit -w $(CWD) -c -p -v +endif +else ifeq ($(VCS),git) +cvs2git: + git cvsimport -v -kk proj/$(PROJECT) +endif + +$(WD_PKG_DIR): + mkdir -p $@ + +pkg-upload-wd: | $(WD_PKG_DIR) + make -s list-files | xargs echo $(WD_PKG_VCS_FILES) | xargs tar --transform "s|^|$(WD_PKG_BASE_NAME)/|" -cjf $(WD_PKG_PATH)