SF.net SVN: gar:[25938] csw/mgar/gar/v2-hg

cgrzemba at users.sourceforge.net cgrzemba at users.sourceforge.net
Wed Sep 14 10:53:52 CEST 2016


Revision: 25938
          http://sourceforge.net/p/gar/code/25938
Author:   cgrzemba
Date:     2016-09-14 08:53:52 +0000 (Wed, 14 Sep 2016)
Log Message:
-----------
made some improvements for using GARCH with mercurial repository

Modified Paths:
--------------
    csw/mgar/gar/v2-hg/gar.lib.mk
    csw/mgar/gar/v2-hg/gar.mk

Modified: csw/mgar/gar/v2-hg/gar.lib.mk
===================================================================
--- csw/mgar/gar/v2-hg/gar.lib.mk	2016-09-14 07:28:20 UTC (rev 25937)
+++ csw/mgar/gar/v2-hg/gar.lib.mk	2016-09-14 08:53:52 UTC (rev 25938)
@@ -52,8 +52,12 @@
 
 ifdef HG_REPOS
 URLS += $(foreach R,$(HG_REPOS),$(foreach hgproto,hg http file ssh,$(call hgsubst,$(hgproto),$(R))))
+NOEXTRACT += $(call GITPROJ,$(HG_REPOS)).hg
 endif
 
+# filename used for mercurial archive
+GARCHDISTNAME ?= $(DISTNAME).tar.gz
+
 # Download the file if and only if it doesn't have a preexisting
 # checksum file.  Loop through available URLs and stop when you
 # get one that doesn't return an error code.
@@ -77,7 +81,7 @@
 			esac; \
 			break; \
 		done; ) 2>&1 | grep -v '^$(MAKE)'; \
-		if test -r $(@:%.hg=%) ; then : ; else \
+		if [ -r $(@:%.hg=%) ] || [ $* = $(GARCHDISTNAME) -a ! -z $(HG_REPOS) ]; then : ; else \
 			echo '(!!!) Failed to download $@!' 1>&2; \
 			false; \
 		fi; \
@@ -569,9 +573,12 @@
 # checksummed files
 
 $(GARCHIVEDIR)/%: $(GARCHIVEDIR)
+	$(if $(filter %.hg,$*),(cd $(DOWNLOADDIR)/$(*:%.hg=%) && \
+	 hg archive --prefix=$(DISTNAME)/ --rev=$(call HG_TREEISH,$(*:%.hg=%)) --type tar - | gzip > $(GARCHIVEDIR)/$(GARCHDISTNAME) && \
+	 rm -f $(GARCHDISTNAME) && ln -s $(GARCHIVEDIR)/$(GARCHDISTNAME) . ), \
 	@if [ -h $(DOWNLOADDIR)/$* ]; then :; else \
 		gcp -Lr $(DOWNLOADDIR)/$* $@; \
-	fi
+	fi )
 
 
 #################### EXTRACT RULES ####################
@@ -652,8 +659,8 @@
 	( cd $(abspath $(DOWNLOADDIR))/$*/; git --bare archive --prefix=$(NAME)-$(VERSION)/ $(call GIT_TREEISH,$*)) | gtar -xf - -C $(EXTRACTDIR)
 	@$(MAKECOOKIE)
 hg-extract-%:
-	@echo " ===> Extracting Mercurial Repo $(DOWNLOADDIR)/$* (Tag: $(call HG_TREEISH,$*))"
-	( cd $(abspath $(DOWNLOADDIR))/$*/; hg archive --prefix=$(DISTNAME)/ --rev=$(call HG_TREEISH,$*) --type tar -)| gtar -xf - -C $(EXTRACTDIR)
+	@echo " ===> Extracting Mercurial Repo $(DOWNLOADDIR)/$* (Tag: $(call HG_TREEISH,$(*:%.hg=%)))"
+	( cd $(abspath $(DOWNLOADDIR))/$*/; hg archive --prefix=$(DISTNAME)/ --rev=$(call HG_TREEISH,$(*:%.hg=%)) --type tar -)| gtar -xf - -C $(EXTRACTDIR)
 	@$(MAKECOOKIE)
 
 # rule to extract files with unzip

Modified: csw/mgar/gar/v2-hg/gar.mk
===================================================================
--- csw/mgar/gar/v2-hg/gar.mk	2016-09-14 07:28:20 UTC (rev 25937)
+++ csw/mgar/gar/v2-hg/gar.mk	2016-09-14 08:53:52 UTC (rev 25938)
@@ -385,7 +385,7 @@
 
 MAKESUM_TARGETS =  $(filter-out $(_NOCHECKSUM) $(NOCHECKSUM),$(ALLFILES))
 
-makesum: fetch $(addprefix $(DOWNLOADDIR)/,$(MAKESUM_TARGETS)) $(GARCHIVE_TARGETS)
+makesum: fetch $(GARCHIVE_TARGETS) $(addprefix $(DOWNLOADDIR)/,$(MAKESUM_TARGETS)) 
 	@if test "x$(MAKESUM_TARGETS)" != "x"; then \
 		(cd $(DOWNLOADDIR) && $(md5sum) $(MAKESUM_TARGETS)) > $(CHECKSUM_FILE) ; \
 		echo "Checksums made for $(MAKESUM_TARGETS)" ; \

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the devel mailing list